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라도 고화질로 볼 수 있는데 참 아쉬움