博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
stage3d 你不知道的巨坑
阅读量:5332 次
发布时间:2019-06-15

本文共 1013 字,大约阅读时间需要 3 分钟。

如果你是大牛,那你没必要看下去。因为你除了觉得自己牛之外,完全不会把别人放在眼里。低调是一种心态

如果你觉得我说的是假的?很简单你可以拿adobe scout 看下我说的以下几点是否会出现。
stage3d,很多人都在用吧,不知道大家知不知道stage3d的坑是什么:
1:纹理上传速度极其的慢。这个在手机上,就是一个大瓶颈。
2:不支持真正的异步纹理上传,这个也是一个瓶颈,每次上传动画都是卡顿的。
3:内存的消耗比其他语言多了50%不知道大家知不知道:
正常情况来算 2048*2048的图内存消耗在16m。而stage3d是24m。cocos2d的是16m。我是自己写的stage3d渲染。这个说实话我不知道它怎么算出来的。16位的纹理是 12m.cocos2d是 8m.ATF纹理 是 6m.而cocos2d的是4m。
4:上传Bitmap这就是一个巨坑。2048*2048的图上传的时候会产生 36m的bitmapdata的内存。加上纹理内存24m。算起来可以吓死你。36m里的一半是可以手动释放的。而另外一个。就不能需要等10秒的时间系统才会自己释放。对于这个我已经找到了办法,可以在不产生bitmapdata内存的情况下,上传到GPU里。5:内存释放问题,在用scout看内存的时候,的确是释放了。但是用Instruments 检测,内存却没有释放,全部堆在了AIR播发器里,意思是as3的内存释放了但是虚拟机的没有释放。。
6:在ios开发里播发器占有内存 15m,as3自带库占用 3m 加上swf 1m
微博:
解决方法:

本帖隐藏的内容

1:使用ATF纹理,快有好处但是有弊端,图片质量很难看。
2:ATF默认是支持异步的,但是bytearray的体积也会造成卡顿。所以不是真正的异步。使用ATF并且开启压缩选项,上传时设置异步上穿,占用主线程的时间基本可以无视,后果是异步解码慢的坑。
3:这个不知道是不是3.8的bug。还是什么。(这里说下官方默认是预留了mipmap的内存。所以你懂的。)解决办法是使用RectangleTexture
4:。。。。
5:目前看来到一定的内存时不会继续上升,应该是flash自己保留系统内存。
6:减小swf体积,不要使用嵌套资源。用加载的方式,用完就释放。

转载于:https://www.cnblogs.com/chenhongyu/p/3360213.html

你可能感兴趣的文章
python异常处理、断言
查看>>
Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法
查看>>
Hdu 1175 连连看(DFS)
查看>>
linux后台运行jar程序
查看>>
如何去掉idea里mybatis的.xml文件 sql 语句背景色
查看>>
关于Unity中NGUI的Checkbox复选框、Slider滑动条和Button的6种触发回调事件的方式
查看>>
linux文件种类及其扩展名
查看>>
【转载】Visual Studio + VA 常用快捷键
查看>>
Android SDK Manager国内无法更新的解决方案
查看>>
20145303刘俊谦 Exp8 Web基础
查看>>
吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:响应式图片
查看>>
吴裕雄--天生自然 JAVA开发学习:Number & Math 类
查看>>
cf 558c Amr and Chemistry
查看>>
结对review
查看>>
java基本类型(内置类型)取值范围
查看>>
CAD&CG GDC 2018大会论文录用名单
查看>>
Mac 中文输入法失效(不显示选词框)解决办法
查看>>
基于 Laravel 开发博客应用系列 —— 设置 Linux/Mac 本地开发环境
查看>>
C语言基础-第五章
查看>>
CSS的一些命名
查看>>