您的位置:首页 > 移动开发 > Unity3D

近来用到的几个技术点

2017-12-31 14:10 246 查看
mono的JIT在运行时会造成轻微的卡顿。为了避免这个卡顿对手感的影响,我们在进入游戏时就对局内的功能类做预编译。预编译很简单,调用一下函数指针即可。找到应该预编译哪些累则稍麻烦一些,要给mono加些日志,输出局内JIT编译的函数列表
局内关闭mono的GC,具体内容在之前的一篇博客中有介绍
Android平台内存分析。为了降低内存占用,我们对游戏进程在android平台上的内存占用进行了仔细的分析,除去各种资源和对象占用的内存,java内存,总是还有很多native内存不知道被什么占用了。后来我们在打开了调试选项的android系统上运行(手机的系统是我们自己编译的),这时通过ddms工具就可以看到所有so库的内存增量。进而发现有一些我们接入的第三方组件占用了不少内存。
项目到了一定规模以后,代码编译的时间大幅增加到了几分钟的时间。这对于开发效率影响很大。传统的优化方式是将不常改动的框架性代码挪到firstpass,实践的效果并不是很好。一个更好的方案是用微软的编译器替代mono的编译器。做一个编译命令的简单转发层,将mono的编译命令转发给微软的编译器。编译时间一下子降低到30秒左右。

想到再补充
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity 卡顿 内存