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

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


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

Rendering

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

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

A1:参考URP文档:
通用渲染管线资源 | Universal RP | 12.1.1

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的读取过程中,带宽的加载速度以及缓存都会更优一些。

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

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

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


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

 

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值