UWA社区主页:community.uwa4d.com
UWA QQ群:793972859
如何处理微信小程序大量未捕获的异常
如何关闭代码创建的纹理的读写,或者创建不带读写的图片
回收带有贴图和Collider的Mesh,如何正确用对象池维护
Cloth组件使用在一个篮筐上,运行后篮网扭曲,是什么原因
https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/DebugAndException.md
AppDomain.CurrentDomain.UnhandledException += (_, eargs)
TaskScheduler.UnobservedTaskException += (_, eargs)
Q:Unity中自己new出来的Texture2D对象,在内存中看它的大小比实际要多一倍。能理解它需要读写,所以多一倍。游戏中修改完一次后,该图片就会被固定下来不会再被修改。有没有方法可以关闭读写,或者创建不带读写的图片?
A:在代码中创建Texture2D对象时使用如图API:
Q:回收带有贴图和Collider的Mesh,怎么正确放到对象池,我看还有说需要把Collider销毁的,需不需要单独回收贴图和Mesh网格呢?需要把贴图单独放到一个池子里么?
A1:对象池,就是你把这个对象的GameObject禁用,然后弄到一个数组里面。下次需要的时候,启用;销毁了就不叫对象池了。
若GameObject禁用,物理也自然无碰撞了;而你的整个对象都已经放进去了,贴图就也被对象池缓存着了。
感谢jump晃悠@UWA问答社区提供了回答
A2:对象池本身是把GO和它引用的一系列资源缓存在场景中;而类似于Collider、Animator这种可能对运行时有开销的组件会随着入池的Deactive操作失活,不会造成开销。
所以构造对象池主要考虑的一般是入池缓存造成的内存开销和不用缓存池维护造成的反复实例化销毁耗时开销的权衡。
今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。
UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859
(长按识别二维码进入UWA问答)
点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~
近期精彩回顾