乐趣区

关于rendering:URP自带的Tone-mapping性能开销问题

1)URP 自带的 Tone mapping 性能开销问题
​2)图集中未应用到 Sprite 也会被加载到内存中的问题
3)GPU 带宽:从纹理登程优化带宽①
4)GPU 带宽:从纹理登程优化带宽②
5)GPU 带宽:从纹理登程优化带宽③


2023 年伊始,从本期第 320 期的 UWA《厚积薄发》开始,本专栏将以全新的风貌和大家见面。UWA 将为大家精选 UWA 社区的热门话题,保留了经典的 QA 环节,并减少了 UWA 社区中相干的游戏开发技能,助力大家全面地把握更多元的知识点。

UWA 社区主页:https://community.uwa4d.com
UWA QQ 群:465082844

Rendering

Q:想理解下 URP 自带的 Tone mapping 性能开销,有用过的大佬分享下吗?

A:Tone mapping,如果在 LDR 的状况下应用 ACES 的 Tone mapping,会有十分高的开销,如果是 HDR,则简直是收费的,只有一个纹理采样的开销。因为 HDR 的状况下,会在 LUT 的 DrawCall 中将 Tone mapping 烘焙到 32×1024 的小图外面,所以开销是非常低的。如果是 LDR,ACES 的 Tone mapping 则会在 UberPost 的 DrawCall 外面进行十分高分辨率(渲染分辨率)的计算,因而开销会十分高。另外一种 Netural 则不管 HDR 还是 LDR,只会令 UberPost 的复杂度减少 2,然而 LDR 下的 ACES 则会让 UberPost 的复杂度减少 23。

感激小 ben@UWA 问答社区提供了答复

SpriteAtlas

Q:我有一个图集(外面蕴含两个图片:Sprite_A 和 Sprite_B),进入游戏后,调用 spriteatlasBundle.LoadAssetWithSubAssetsAsync(“Sprite_A”);然而关上 Profiler 查看,发现 Sprite_B 也被加载到内存中了。这是失常的吗?

Unity 版本:Unity 2020.3.26

A:这就是依赖加载。要查看进去,就是扫 Prefab 外面哪个依赖了这个资源。
Sprite 自身的尺寸能够疏忽。若图集加载了,图片就会有,Sprite 那点耗费能够不关怀。<br/>
值得注意的是,小心 Sprite 依赖加载,导致额定加载的整个图集。

感激欧月松 @UWA 问答社区提供了答复

Rendering

GPU 带宽:从纹理登程优化带宽①

如果大家看过很多理论我的项目的带宽数据,就不难总结出一个法则:个别读纹理带宽占带宽开销的大头。GPU 在读纹理时会取以后画的像素左近 N * N 的区域到 OnChip 缓存中,若下一个像素要采样的点恰好落在这 N * N 中,就不须要向更远的中央去取造成更高的带宽,即通过这种形式升高了 Cache Miss 的概率。基于这个原理,咱们对于绘制 3D 物体的贴图纹理要抉择适合的分辨率,防止出现用大纹理画小物体时,画下一个像素时在大纹理上的采样点跳变,导致落在 N * N 范畴内概率低的状况。最好的方法是间接为所有非 2D UI 的、有深度的物体的贴图纹理都开启 Mipmap,此时 GPU 会主动抉择适合的 Mipmap 分辨率层级,从而升高 Cache Miss 概率、无效管制带宽。

GPU 带宽:从纹理登程优化带宽②

除了开 Mipmap 这个简略暴力的伎俩外,还须要关注:
开启各向异性或三线性插值会大幅减少采样次数,从而导致 Cache Miss 概率回升,挪动端我的项目个别不倡议用或我的项目中个别纹理成果应用即可。
另外,纹理格局也会造成影响,像 RGBA32 这种未压缩格局的纹理单个像素存储的信息越多,造成的带宽开销也就越高,应尽量应用压缩率更高的格局。

GPU 带宽:从纹理登程优化带宽③

还有一种非凡的,也就是 Render Texture 资源须要额定提一下。其中,RT 应用的精度越高,带宽开销越高,个别在挪动端上用 ARGB32 格局或 RGB111110Float 就够了,如果用到 ARGBHalf 可能就存在节约了;另外,RT 的 Copy、下采样操作也会造成较高的带宽,常见的如 Copy Color、Copy Depth 和 Bloom 后效都会产生较高带宽。

期待更多探讨,欢送大家转至 UWA 社区交换

封面图来源于网络


明天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,咱们遇到的问题只是冰山一角,UWA 社区愿伴你同行,一起摸索分享。欢送更多的开发者退出 UWA 社区。

UWA 官网:www.uwa4d.com
UWA 社区:https://community.uwa4d.com
UWA 学堂:https://edu.uwa4d.com
UWA 官网技术 QQ 群:465082844

退出移动版