Version: 1.3
语言 : 中文
GPU Skinning支持
Shader变体异步Warmup

图形渲染优化

Unity WebGL平台在设计之初针对的是PC浏览器,因此图形渲染并没有针对微信小游戏进行优化。 在保证渲染质量的前提下,我们在团结微信小游戏平台上通过以下优化手段来提高渲染GPU性能:

  • Shader优化

    • 减少不必要的glScissor,glClearColor等API调用

    • 优化glInvalidateFramebuffer调用顺序,减少不必要的Load/Store操作

    • max visible lights值,32可降为16

      • 此选项影响URP及ShaderGraph中的预设值MAX_VISIBLE_LIGHTS。勾选该选项时,建议在Quality Setting页面只勾选单一quality level以,并关闭additional light shadow,否则max visible lights可能没有效果。
    • 优化Shader Compiler,将non-const global变量移到main函数中

    • 修改Immediate Const Buffer转换过程,声明成const并直接附初始值

设置选项位于Project Settings -> Player -> Other Settings,选择WebGL 2.0,勾选Enable shader optimizations后,展示所有Shader子选项。

在测试项目上,以上优化均能达到FPS翻倍的收益。

  • 允许禁用默认FBO的DepthStencil Component,减少显存占用

    • 默认FBO多数时候不会用到depth,这时可以禁用它的DepthStencil Component,以减少显存占用
GPU Skinning支持
Shader变体异步Warmup