手游如何应对兼容性、客户端优化等问题?

手游是当前游戏行业的主流品类,各大厂商都在积极布局手游产品。但是手游产品的运营过程还有很多问题需要厂商去解决,比如兼容性问题、客户端性能优化等等。而这些问题我们可以从腾讯质量开放平台WeTest发布的《2017中国移动游戏质量白皮书》中找到一些解决方法。

手游是当前游戏行业的主流品类,各大厂商都在积极布局手游产品。但是手游产品的运营过程还有很多问题需要厂商去解决,比如兼容性问题、客户端性能优化等等。而这些问题我们可以从腾讯质量开放平台WeTest发布的《2017中国移动游戏质量白皮书》中找到一些解决方法。


attachments-2018-01-IUuQdljT5a5c623b68c14.png

 

  兼容性问题解决建议

  客户端崩溃

  崩溃问题解决方法主要有下列四种,开发者需要根据自身情况合理选择:

  1.通过异常堆栈找到对应的代码进行分析,java可以直接看到代码堆栈,native程序可用ndk-stack还原到代码异常堆栈,根据逻辑找到原因;

  2.与上一个稳定版本对比代码变化,可使用比较工具如beyondcompare,仔细分析所修改的代码,找到问题原因;

  3.直接调试分析,使用Android Studio进行调试,Java和Native程序都可以考虑,在代码异常发生之前单步跟踪,找到问题原因;

  4.关键位置多打些debug日志等待问题重现,重现后通过日志缩小问题范围再结合代码进行分析,找到问题原因;


       UI异常

  UI异常一般分为几类:黑屏、白屏、花屏;重影,错位;资源加载失败等等。

  1.黑白屏和花屏问题一般是跟Android设备的兼容适配强相关的问题。具体跟设备的屏幕尺寸、GPU类型,定制化Android版本等相关。例如关注GPU对一些纹理的支持格式;以及虚拟控件对图片本身的显示效果等。

  2.重影、错位,或者资源加载失败,一般是游戏本身的逻辑问题。一旦出现,一般不会只在特定的机型上发生。这块UI问题,产生的原因有时也与游戏引擎相关,就Unity引擎开发的游戏而言,我们发现很多开发者没按官方图片格式等来做,注意图片格式符合官方标准等。

  

       客户端性能优化建议

  帧数(fps)

  核心场景中,尽量减少耗时较大函数的调用,比如资源加载函数,对象生成函数,IO操作函数等,将这些函数放在场景加载时完成。

  同一时刻场景中存在的对象数量需要进行控制,特别是一些比较消耗性能的对象,刚体性质的对象需要物理计算及碰撞检测,模型材质复杂的对象需要更多渲染性能,这些对象不要同时存在过多。

  对游戏资源的尺寸进行优化,在保证效果的前提下,减少网格的面数和骨骼数,纹理的大小等。


  内存

  代码逻辑方面,及时释放不再使用的内存,减少频繁的内存分配和释放,有条件的情况下可以使用内存池和对象池技术。

  游戏资源方面,控制资源的尺寸,进行按需加载和释放,防止不再需要的资源继续留在内存中。同时一些参数也会影响资源的内存占用,比如纹理长宽非2次幂,纹理mipmap数量等,需要特别注意。


  CPU

  在游戏主线程中,尽量不做复杂运算,将这些运算放在单独的子线程中完成。

  善用引擎提供的优化选项,比如网格合并,遮挡剔除,光照烘焙等,这些功能可以极大减少引擎需要的CPU运算。

  性能要求特别高的代码,可以使用c或c++语言实现,甚至嵌入汇编语言。


  • 发表于 2018-01-15 16:12
  • 阅读 ( 164 )
  • 分类:产品运营

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
北归

509 篇文章

立即撰写

作家榜 »

  1. 北归 509 文章
  2. 小鱼儿太疯癫 96 文章
  3. 我爱你亲爱滴姑娘 1 文章
  4. 蚂蚱在跳舞 1 文章
  5. 溪谷学院 1 文章
  6. Leon 0 文章
  7. 一刀 0 文章
  8. jhon 0 文章
溪谷官网