Version: 2023.2
언어: 한국어
Debug and troubleshoot WebGL builds
WebGL Networking

WebGL 성능 고려사항

일반적으로 WebGL 그래픽스 API는 GPU를 하드웨어 가속 렌더링에 사용하므로 GPU 측의 네이티브 앱과 유사한 성능을 얻습니다. WebGL API 호출과 셰이더를 운영체제 그래픽스 API(Windows의 DirectX, Mac이나 Linux의 경우 OpenGL)로 전환하는 약간의 부하만을 추가로 요구하기 때문입니다.

CPU에서 Emscripten은 코드를 WebAssembly로 변환하므로 해당 성능은 사용 중인 웹 브라우저에 기반합니다. 자세한 내용은 WebAssembly 로드 시간 및 성능에 대한 Unity 블로그 포스트를 참조하십시오.

다음은 알아두어야 할 다른 고려 사항입니다.

  • The JavaScript language doesn’t support multi-threading or SIMD.
  • 이러한 기능을 활용하는 모든 코드는 다른 코드보다 속도가 느려집니다.
  • You can’t write threading or SIMD code in WebGL scripts, but as some engine parts are multi-threaded or SIMD optimized, they offer low performance on WebGL. For example, WebGL Skinning is both multi-threaded and SIMD-optimized.

팁: Unity가 WebGL 플랫폼이 아닌 플랫폼의 다른 스레드에 작업을 배포하는 방법에 대해 알아보려면 Unity의 새로운 타임라인 프로파일러를 참조하십시오.

성능에 영향을 미치는 WebGL 관련 설정

To improve performance, set Exception support to None in the Player settings for WebGL by expanding Other Settings > Stack Trace.

WebGL 프로파일링

WebGL은 Unity 프로파일러를 지원합니다. 설정 방법은 프로파일러 문서를 참조하십시오.

배경 탭의 WebGL 콘텐츠

WebGL 플랫폼용 플레이어 설정에서 Run in background를 활성화하거나 Application.runInBackground을 활성화하면 포커스가 캔버스 또는 브라우저 창에서 벗어나도 콘텐츠가 계속 실행됩니다.

However, some browsers can throttle content running in background tabs. If the tab with your content isn’t visible, your content only updates once per second in most browsers. Note that this causes Time.time to progress slower than usual with the default settings, as the default value of Time.maximumDeltaTime is lower than one second.

Throttling WebGL performance

경우에 따라 CPU 사용량을 줄이기 위해 WebGL 콘텐츠를 더 낮은 프레임 속도로 실행할 수 있습니다. 예를 들어, 다른 플랫폼에서 Application.targetFrameRate API를 사용하여 이렇게 할 수 있습니다.

성능을 낮게 조절하고 싶지 않으면 API를 높은 값 대신 기본값인 –1로 설정해야 합니다. 그러면 프레임 속도가 브라우저 렌더 루프에서 가장 부드러운 애니메이션을 재생할 수 있도록 조정됩니다. 이렇게 하면 Unity가 목표 프레임 속도를 달성하기 위해 스스로 루프 타이밍을 찾는 것보다 더 나은 결과를 얻을 수도 있습니다.

Debug and troubleshoot WebGL builds
WebGL Networking
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961