Vulkan 간단 설명 및 적용이 시급한 이유:
https://arca.live/b/genshin/96408468
안드로이드 원신 Vulkan 적용 방법:
https://arca.live/b/genshin/96405148
우선 윗글 두개를 요약하면 대략 이렇다
- gpu와 실제 게임 그래픽을 연결하는 일종의 구현 방식이 그래픽 api
- 안드판 원신은 구식 api인 OpenGL ES로 구동되어 체감 성능이 구리다
- 반면 Vulkan은 cpu gpu를 더 효율적으로 쓰지만 최적화 난이도가 높다
- Vulkan 지원 게임이 늘어나는 추세이니 원신도 지원해주면 좋겠다
- 내부 설정값을 바꾸면 원신에서도 비공식적으로 Vulkan을 쓸 수 있다
- 적용시 성능상 이점이 있긴 하나, 구동이 불가능한 기기도 있다
나도 두번째 글대로 따라해봤는데 22플은 잘되고 탭S8+은 막힘
탭에서 왜 안되는지는 단점 쪽에서 설명하겠음
세팅(갤럭시 S22+)
인겜 세팅은 해상도 잴 때만 렌더링 높음이고 나머진 윗짤임
그 외 세팅은
- 절전모드 on
- GOS off (실험실 기능 말고 진짜 비활성화)
- 밝기 수동 30퍼, wifi 연결
- 배터리 온도 28도일 때 시작
OpenGl vs. Vulkan 성능 분석
글이 길어서 결과부터 정리함
요약하면 Vulkan과 OpenGL로 구동시 전력 소모는 거의 똑같지만,
Vulkan쪽이 해상도가 약 5.2% 높은데도 평균 프레임이 오히려 더 높고, 끊김도 덜해서 체감 성능이 약간 더 좋음
이제 각 항목별로 비교해 보겠음
1. 해상도
원신은 UI 해상도와 렌더링 해상도가 다른 게임이다
UI는 버튼, 지도, 페이몬 메뉴, 캐릭육성창, 파티창 등이고, 렌더링은 UI를 제외한 실제 인게임 맵 그래픽을 의미함
캐릭 모델링은 예외인데 파티창, 육성창에서 보이는 캐릭터는 UI해상도,
필드 및 비경의 캐릭터는 렌더링 해상도를 따라간다
양쪽 다 Vulkan의 해상도가 OpenGL보다 높지만, 5.2% 차이는 체감이 안되는 수준이다.
위가 Vulkan, 아래가 OpenGL인데 내가 보기엔 별 차이가 없음
진간장의 신의 눈을 확대해 봐도 미찬가지임
따라서 폰 기준 화질적인 면에선 차이가 없다고 결론을 내려도 될 거 같다
2. 나선비경 테스트
동일한 파티구성으로 12층 9별을 깨는 동안 프레임을 재봄
방 넘어갈 때 프레임이 0으로 내려가서 그 부분은 잘라낸 그래프임
총 클탐은 둘 다 7분25초 정도로 거의 같다
OpenGl: 57.4fps / 6.65w
Vulkan: 59.1fps / 6.59w
평균 프레임 차이는 적지만 OpenGL쪽은 순간적인 프레임 하락이 몇 번 있음
흔히 렉걸리고 끊긴다고 말하는 게 저 프레임 떡락 때문이고 심하면 조작에 방해가 됨
맵에 들어왔다 나갔다를 반복하는 모래벌레 방에서 특히 이 현상이 심했다
3. 지상 필드 테스트 - 침옥 협곡
다음 경로를 야란 사유 방랑자를 이용해 최대한 빨리 주파함
대략 5분 30초 정도 걸렸고 몹은 안잡고 걍 지나쳤음
줌은 최소로 땡겨서 최대한 많은 오브젝트가 화면에 들어오게 했다
OpenGl: 49.9fps / 6.64w
Vulkan: 53.3fps / 6.76w
전반적으로 끊김 정도는 비슷하고 Vulkan 쪽이 프레임 방어는 더 잘해주고 있음
OpenGL은 유롱항에 들어갈 때부터 렉이 좀 심해지는데 Vulkan은 그것보단 양호했다
4. 폰타인 수중 테스트
마찬가지로 최소 줌 상태, 위에서 아래로 이동함 한 6분 걸림
푸리나 느비 리넷 프레미네로 패시브 다 챙겼고 물고기도 최대한 다 먹음 전투는 안함
OpenGl: 47.8fps / 6.93w
Vulkan: 52.3fps / 6.81w
수중맵은 각종 이펙트가 많아서 그런지 지상보다 빡센 환경임
좁은곳에서 넓은곳으로 나갈 때 로딩할 게 많아지면서 끊김이 생기는데, 역시 Vulkan 쪽이 덜함
OpenGL쪽에 프레임이 거의 바닥을 치는 구간이 있는데 궁극자의 탑 위쪽 워프포인트 부근임
Vulkan 적용 시 문제점
단순 성능만 보면 Vulkan을 안 쓸 이유가 없어 보이는데 또 그런 건 아님
아래 문제들이 해결되기 전까진 무조건 쓰라고 추천할 수가 없다
1. 매 업뎃마다 OpenGL로 초기화됨
여기서 말하는 업뎃은 버전 업뎃같은 큰거 뿐만 아니라 자잘한 이벤트 추가도 포함임
겜 켤때 밑에 다운로드가 뜬다? 들어가보면 OpenGL로 돌아와 있음
게임에 뭐가 추가될 때마다 일일히 내부 파일을 만져주는게 꽤 귀찮을 수 있음
2. 여전한 그래픽 깨짐
예전엔 너무 심해서 겜 못할 수준이였다가 나아진 거지만 아직도 깨짐은 있다
바닥에 사선 모양 이펙트가 생기거나 하는 건 걍 넘어갈만 한데
물보라만 부자연스러운 프레임 드랍이 생기고
실내에 광원효과 있으면 태양권에 눈뽕을 당함.. 잉어 공양하는 동굴이 특히 심하다
3. 비주류 해상도 기기는 돌리기 어려움
탭S8+와 폴드4는 Vulkan 적용시 괴상한 3등분 화면이 되는데 둘의 공통점은 변태 해상도라는 거임
2800*1752, 2176*1812 같이 특이한 해상도는 아직 대응하지 못해서 이렇게 깨지는 거 같다
물론 이걸 원래대로 돌릴 방법이 있다
adb로 기기 해상도를 바꿔 가면서 정상적으로 화면이 나오는 해상도를 찾은 뒤,
다시 원래 해상도로 돌리길 반복하면 갑자기 돌아오긴 함
문제는 비경에 들어가면 다시 깨져서 실제 플레이는 여전히 불가능하다
게다가 겜 켤때마다 컴 연결해서 ㅇㅈㄹ 하는거 절대 할게 못된다.. 걍 옵션을 내려라
향후 전망
타커뮤 글을 보니까 원신 Vulkan 구동이 원래는 아예 불가능했다고 하더라
지금은 몇몇 기기에선 잘 돌아가는 걸 보면 호요버스가 Vulkan 지원을 포기한건 아닐 거 같다는 행복회로가 좀 돌아가긴 하는데, 솔직히 기대는 금물임 ㅋㅋ 3년반동안 할거면 진작 했다
스타레일은 Vulkan 공식지원하고 최적화도 괜찮은 거 보면 개발역량이 딸리는 게 아님
근데 그 역량을 원신에 발휘하긴 커녕 멀쩡한 메탈Fx도 날려먹는거 보면 참 답이 없다 싶다 ㅋㅋ
태블릿은 제대로 지원해주면 UI라도 고화질로 볼 수 있는데 참 아쉬움