Screen.SetResolution和URP的RenderScale有什么区别

1)Screen.SetResolution和URP的RenderScale有什么区别
2)相同压缩格式相同面积不同数量资源加载速度
3)新增Tag再生成AssetBundle并热更新之后,代码获取到的是undefined


这是第367篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

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

Rendering

Q:请问Screen.SetResolution和UniversalRenderPipelineAsset.renderScale有什么区别?

之前低端机都是通过Screen.SetResolution降低渲染分辨率提高性能,发现UniversalRenderPipelineAsset有一个renderScale也可以降低渲染效果。想请问下,两者本质区别是什么?在低端机两者一起降会更好?

A1:参考URP文档:
https://docs.unity3d.com/cn/Packages/com.unity.render-pipelines.universal@12.1/manual/universalrp-asset.html

RenderScale的调整影响的是ColorAttachment的分辨率,SetResolution影响的是BackBuffer的分辨率,两个一起用会变成相乘的效果。文档里说不影响UI渲染分辨率特指的是Overlay UI,用相机渲染的UI还是会受到RenderScale影响的。

 

 

感谢宗卉轩@UWA问答社区提供了回答

A2:RenderScale是针对相机的,这也是URP要做场景分辨率分离的原因。

感谢ZJS@UWA问答社区提供了回答


Texture

Q:比如1张ASTC的1024*1024和4张512*512,哪种方式加载速度更快,性能最优?

先说下我的理解:更小的内存意味着内存寻址更快,Miss的更少,而且内存也是分页的,页数更少,同时在GPU的读取过程中,带宽的加载速度以及缓存都会更优一些。

但是我这仍然需要一定的更深的理论或者更权威的证明。

以及是否不同压缩格式,结论可能相反呢?

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


AssetBundle

Q:新增Tag名称是:test1, 生成AssetBundle之后进行热更新。

在代码里获取对节点设置的Tag得到的是undefined,我看我新增的test1的Tag是存储在Prefab里面的,为什么生成AssetBundle热更新之后就获取不到了,是不是Unity的Tag是跟随底包一起打进去的。

疑问:是不是读取节点的Tag时会判断这个Tag是不是在底包里Unity的相关设置里是否存在,存在就正确获取到,否则返回undefined,那能不能在不更新APK的情况下,新增一个Tag并热更新下去正常使用获取呢?

A:Tag不能热更,延伸出去就是ProjectSettings下的东西基本都不能热更。所以建议Tag可以在整包更新的时候预留多一些,为后面热更做准备。

感谢junbin.liu@UWA问答社区提供了回答

封面图来源于网络


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

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

posted @ 2023-12-27 16:36  UWATech  阅读(92)  评论(0编辑  收藏  举报