【厚积薄发】为什么Unity里的变体数和UWA工具测出来的不一样

文摘   2024-12-02 18:31   上海  
这是第412篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com

UWA QQ群:793972859


本期目录:
  • 为什么Unity里的变体数和UWA工具测出来的不一样

  • 使用TextureArray为什么会导致L1 Cache Miss率变高

  • Gfx.PresentFrame耗时异常高

  • AO方案中哪个更适合移动端


Shader

Q:为什么Unity里的变体数和UWA工具测出来的变体数不一样呢?


A:shader_feature在编辑器中预览只会保留第一个关键字的变体,所以会少显示很多;但实际进入包体的是UWA AssetBundle工具显示的量。


顺便一提,通过变体收集的方式可以让引擎在打包的时候自动去掉一部分shader_feature关键字导致的变体组合,节省部分内存。


该回答由UWA提供欢迎大家转至社区交流:
https://answer.uwa4d.com/question/674d1de4682c7e5cd61bf9b3
GPU

Q:做地形的时候用的ID图的方案,将所有的地表贴图做成了TextureArray,Xcode测试性能。发现TextureArray导致Texture L1缓存的Cache Miss率高达77%,且不用就不高了,设备是iPad Air 5。

请问是相邻像素的TextureArray的ID不同导致Cache Miss吗?

针对以上问题,有经验的朋友欢迎转至社区交流
https://answer.uwa4d.com/question/674d2240682c7e5cd61bf9b6
Rendering

Q:部分安卓机型上,某个东西显示出来的时候,Gfx.PresentFrame耗时非常高。

以下是真机测试、多线程渲染下的截图:


目前还没找到根本原因,但实验发现:

1. 挂掉出问题的Shader的Clip函数,就不会有问题。

2. 删掉工程内的变体收集器,也不会有问题(新版本和老版本相关的区别就是新收集了一波变体,然后打进了Bundle里)。


目前解决方案就是把变体收集器删了,因为现在就没做Shader预热,所以收集器其实没用到。


请问其本质原因是什么?


针对以上问题,有经验的朋友欢迎转至社区交流
https://answer.uwa4d.com/question/674ab5a93d306f3e9d594db6
Rendering

Q:请问以下AO方案中,哪些适合移动端呢?

SSAO、SSDO、HBAO+、GTAO、MXAO、LSAO、VXAO、DeepAO、以及上一年Meta的PSAO。


A:一般动态物体就是烘培AO,也就是单个物体有,静态物体就是LightmapAO也是烘培的,移动端从性能考虑大多还是走烘焙。


只有那些大世界的场景实在是太大才会想各种办法去设计一个GI效果,比如SSAO去凑整个环境的AO效果。


感谢南瓜@UWA问答社区提供了回答,欢迎大家转至社区交流
https://answer.uwa4d.com/question/674d1ff2682c7e5cd61bf9b4


封面图来源于网络


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


UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

官方技术QQ群:793972859


(长按识别二维码进入UWA问答)


点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

 

虚幻引擎寒假班火热招生中!


近期精彩回顾

【学堂上新】如何用AI制作3D模型?

【厚积薄发】UE5模拟交互篇|可交互流体风场实现

【厚积薄发】Unity版本使用情况统计(更新至2024年11月)

【学堂上新】基于.NetCore开发MMORPG分布式游戏服务器


侑虎科技
UWA,专业的游戏和VR应用性能优化平台。www.uwa4d.com
 最新文章