일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Cartoon Rendering
- URP로 변경
- Private Bytes
- OculusMotionVectorPass
- Windows Build
- 게임 수학
- Specular
- ASW(Application SpaceWarp)
- AppSW
- Cell Shader
- Cell Look
- 작업 집합
- 개인 바이트
- Three(Two) Tone Shading
- Toon Shader
- 프로그래밍 기초
- VR
- Virtual Byte
- ColorGradingLutPass
- C언어
- 벡터
- URP
- 메모리 누수
- 3d
- 가상 바이트
- working set
- Rim Light
- Today
- Total
WinCNT
VR기기(Oculus Quest 2)에서 GPU Utilization(GPU U)가 FinalBlit에서 급격히 오르는 이슈 본문
VR기기(Oculus Quest 2)에서 GPU Utilization(GPU U)가 FinalBlit에서 급격히 오르는 이슈
WinCNT_SSS 2023. 7. 4. 14:05발생한 이슈
처음 VR기기(Oculus Quest 2)로 간단한 테스트용 씬을 만들었을 때 발생한 이슈를 정리해봤다
딱히 무거운 처리가 없는데도 불구하고 VR기기에서 실행해보면 GPU Utilization(GPU U)가 95 언저리에, FPS도 상당히 떨어진 상태였다
이슈 상세
프레임 디버그를 살펴보면 FinalBlit 이전까지는 GPU 사용량이 정상적이지만, FinalBlit에서 갑자기 90퍼 이상으로 급증했다
FinalBlit 이전
FinalBlit 단계
발생 원인
Oculus XR Plugin의 OptimizeBufferDiscards라는 설정이 있는데
이 설정에 체크를 안 한 것이 원인인 것 같다
왜 체크를 안 해서 해당 이슈가 발생했는지까지는 아직 조사하지 않았다
참고로 해당 설정에 대한 설명은 다음과 같다(유니티에서 발췌)
💡 Optimize Buffer Discards If enabled, the depth buffer contents will be discarded rather than resolved and the MSAA color buffer will be resolved rather than stored after rendering. This is a performance optimization that can possibly break rendering effects that sample from the depth buffer, such as camera stacking. Vulkan only.
대충 깊이 버퍼도 해상도에 맞추기 전에 삭제하고, MSAA 색상 버퍼도 렌더링하고 삭제한다는 말인가?
URP의 기능 중 하나인 Camera Stacking을 못 쓸 수 있다는 건 좀 걸리는데…
해결법
아무튼 프로젝트 세팅의 OptimizeBufferDiscards을 체크하니 이슈가 해결되긴 했다
FinalBlit 이전
FinalBlit 단계
FinalBlit에서도 GPU 사용량이 올라가지 않은 것을 볼 수 있었다
그런데 성능 최적화를 통해서 해결된 건 맞긴 한데, 이게 근본적인 원인이었을까?
OptimizeBufferDiscards를 사용하면 URP의 Camera Stacking이 안 될 수도 있다고 하던데…
일단 염두는 해두자
마무리
어떻게 해결은 했지만 찜찜함은 남는다…
더 조사한다면 Oculus XR Plugin나 VR에서의 깊이 버퍼, MSAA를 조사하면 되려나?
참고 자료
About the Oculus XR Plugin | Oculus XR Plugin | 3.2.2
'Unity > Unity 개발 중 발생한 이슈 정리' 카테고리의 다른 글
VR기기에 대한 어플리케이션 설정이 적용되지 않는 이슈 (0) | 2023.07.26 |
---|---|
커스텀 셰이더에 Meta Pass를 추가했더니 SRP Batcher가 제대로 작동하지 않게 된 이슈 (0) | 2023.07.21 |
Bakery(라이트 맵 생성 에셋)로 작성한 라이트 맵의 텍스처 설정이 이상해서 라이트 맵이 제대로 적용되지 않던 이슈 (0) | 2023.06.30 |
텍스처의 가장자리 패딩하기 (0) | 2023.05.19 |
Normal Map이 격자 형태로 출력되는 이슈 (0) | 2023.03.24 |