位置: 编程技术 - 正文
推荐整理分享Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!(安卓 unity),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity androidx,unity开发安卓游戏教程,unity 安卓开发,unity开发安卓游戏,unity开发安卓游戏教程,unity开发安卓游戏教程,unity开发安卓游戏教程,unity开发安卓游戏用什么语言,内容如对您有帮助,希望把文章链接给更多的朋友!
引擎的Android游戏优化
最近项目进入收尾阶段,之前对项目做了很多优化,mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,在IOS上还好,但是Android上,试过几款手机,从低端到高端,发现性能还是很差,所以又花了几天来研究摸索,终于把游戏性能搞定。记录下来,留作以后参考。
1. 更新不透明贴图的压缩式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的GPU支持不同的压缩式,但他们都兼容ETC式,2. 对于透明贴图,我们只能选择RGBA bit 或者RGBA bit。3. 减少FPS,在ProjectSetting-> Quality中的VSync Count 参数会影响你的FPS,EveryVBlank相当于FPS=,EverySecondVBlank = ;这两种情况都不符合游戏的FPS的话,我们需要手动调整FPS,首先关闭垂直同步这个功能,然后在代码的Awake方法里手动设置FPS(Application.targetFrameRate = ;) 降低FPS的好处: 1)省电,减少手机发热的情况; 2)能都稳定游戏FPS,减少出现卡顿的情况。4. 当我们设置了FPS后,再调整下Fixed timestep这个参数,这个参数在ProjectSetting->Time中,目的是减少物理计算的次数,来提高游戏性能。
5. 尽量少使用Update LateUpdate FixedUpdate,这样也可以提升性能和节省电量。多使用事件(不是SendMessage,使用自己写的,或者C#中的事件委托)。
6. 待机时,调整游戏的FPS为1,节省电量。
来源: speak louder than rules!
误区3:对于程序而言,性能优化应该从GPU/Shader的执行效率入手
-针对CPU端/游戏逻辑的性能优化往往能够取得更大的作用
-GPU/Shader的性能优化应该放在最后进行
原文链接: size 设置小一些;
png图片:
一般不是要求特别高清的可以使用rgba 这个完全满足要求 比rgba小一般 内存开销也是小一半的
音乐:
音乐一般采用修改采样率的办法来压缩 修改采样率为就够了
然后作为 2d游戏吧所有音乐都改为单声道小一半
模型的话一半都是图片比较大把图片按照上面的改下就好
场景参考这个可能能小一些 UnityEngine;using System.Collections;using UnityEditor; public class SetAssetPostprocessor : AssetPostprocessor{ void OnPostprocessTexture(Texture2D texture) { string path = assetPath.ToLower(); if(path == null||path == "") { return; } TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter; if(textureImporter == null) { return; } textureImporter.textureType = TextureImporterType.Advanced; textureImporter.isReadable = true; textureImporter.mipmapEnabled = false; if(path.EndsWith(".jpg")) { textureImporter.npotScale = TextureImporterNPOTScale.ToNearest; textureImporter.maxTextureSize = ; textureImporter.textureFormat = TextureImporterFormat.AutomaticCompressed; } else { textureImporter.maxTextureSize = ; textureImporter.npotScale = TextureImporterNPOTScale.ToNearest; textureImporter.textureFormat = TextureImporterFormat.RGBA; } AssetDatabase.Refresh(); }}音乐也可以用上面的代码处理 需要把脚本放在Editor文件夹下。
来源:
[置顶] [Android游戏开发经验分享]游戏开发中图片的不同分辨率适配和坐标适配 手机游戏开发不同于其实客户端开发,因为手机中有太多的分辨率了,VGA=*;WVGA=*;FWVGA=*;像平板的分辨率达到WSVGA的x以及WXGA的x等
[Android游戏开发经验分享]关于Sockets与服务端建立长连接交互 Android手游开发时,特别做网络手游时,需要建立Sockets连接远程服务端,然后接收发送数据等。同时还要保证此Sockets连接不能断开,以保证Sockets通畅并
android游戏之SurfaceView 先说Surface打开这个文件:frameworksbasecorejavaandroidviewSurface.java对于Surface这个class在开始有这样一段注释:Handleontoarawbufferthatisbeingmanagedbythescreencomposito
标签: 安卓 unity
本文链接地址:https://www.jiuchutong.com/biancheng/371213.html 转载请保留说明!上一篇:Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!(unity开发安卓游戏的input)
下一篇:[置顶] [Android游戏开发经验分享]游戏开发中图片的不同分辨率适配和坐标适配([置顶] [笔记])
友情链接: 武汉网站建设