内存优化之 -- 千万不能选的优化方式

当你刚刚接触到性能优化这4个字眼的时候 随便搜索都是各种的压缩纹理 ~
内存优化确实显著 但是看完以下几种点 我i相信你迟早也会放弃这个鸡肋的优化
1.打包时间:论坛上出现过一篇文章 舍弃部分机型直接将安卓与ios统一支持etc2 、python写个脚本压缩纹理然后再压缩图片 首先舍弃部分机型就实现不了; 舍弃部分机型!!那都是你觉得, 不管大公司还是小公司 我都待过没有一家公司愿意舍弃 ~ 甚至告诉你有人还用电脑模拟器玩 还是 x86 32位。 最终方案只能是etc1a加pvrtc的组合;组合后creator打包压缩的效率肯定能让你口吐芬芳,自己写python之类的工具其实是很繁琐的操作,繁琐就意味着容易出错 容易重来。
2.无论etc1或者etc2 都存在部分图片不能压缩的情况 比如骨骼动画的图集、透明度较精细的图片、美术效果达不到的图片 可以说 当你全部排除完 剩下那些ui图片你又能压缩多少。毕竟etc1后和原图有着明显的差距 pvrtc其实也并打不到美术的要求。
3.安卓和ios的报错: 目前已知 较为低端的机型本生不支持etc2,ios10.3.3 etc2黑屏、低端机型etc1部分图片显示错乱;各种问题层出不穷。 有空解决这些问题 还是好好做做资源释放的优化。
4.热更新: 如果你使用etc1和 pvrtc组合就意味着你要打两个热更新新包 耗时不说 稍有不慎 线上版本直接崩溃;如果是自己插件热更 也存在很严谨的前后压缩顺序的问题;出错概率极其之高 上面提过creator自带压缩每次编译又慢到令人抓狂。 (因为你是组合 ios和安卓需要拆分 所以直接就损失了资源缓存本地的效率 只要还端就重新编译资源)
5.是不是有人该说平时就别压缩 发布的时候再去压缩。那请问 发布的时候再压缩 到时候看到一堆效果图不能压缩 再调整 再打包 然后iOS测试 安卓测试 光打包都耗时好力;还需要全方面的测试;各种剔除不该压缩的资源。简直不能再操蛋。

1赞

1 第一个问题你自己在第五点的时候已经做了说明了 ,最终采用的方案是etc1a加pvrtc的组合,我记得论坛上已经有大佬把工具给做好了 实现了一键操作 你这个繁琐应该是不至于的
2 骨骼动画的图集、透明度较精细的图片你完全可以选择不压缩,这类图片其实在游戏中不是大多数吧,而且项目中肯定有分好类的,如果这步你觉得繁琐 肯定是项目资源分类没有整理好。
3 压缩纹理的内存方式 解决的是可以让GPU直接解析,加快运行, 这和你的资源释放是两个地方 应该都要同时进行吧
4. 每次打包确实偏慢 ,但是除了最开始的第一次也不是 不能接受吧。 至于后一点 确实是。
5 想做一个好游戏 又要兼容低端机型,我最近也在搞这块,本来就不容易 各种方法多试试,加油吧

1赞

默默地说几句哈,如果 两个类型一样 模式差不多的 游戏 ,我更喜欢玩更流畅的,耗电量更低的,一个优秀的游戏团队舍得在 产品体验上付出不是么,跟做生意差不多啊,都是有受众人群的,不是每个玩家都要拉过来玩,这也是成本 不是么。 另外,关于压缩纹理,可以扬长避短,选择性的去压缩就好嘛。:upside_down_face:

你需要一些自动化的流程,这些工作是一次性的,做好以后就可以一直用了

低端机用户不可能放弃的。不是人人用高端机