位置: 编程技术 - 正文

Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!(安卓 unity)

编辑:rootadmin

推荐整理分享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端/游戏逻辑的性能优化往往能够取得更大的作用

Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!(安卓 unity)

-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游戏开发经验分享]游戏开发中图片的不同分辨率适配和坐标适配([置顶] [笔记])

  • PHP多进程编程之僵尸进程问题的理解(php多进程开发)

    PHP多进程编程之僵尸进程问题的理解(php多进程开发)

  • 深入浅析SQL封装、多态与重载(sql 封装)

    特点:单继承 一个子类只能有一个父类,一个父类可以有多个子类 (所有父类都是object)

    base关键字

    sealed关键字:密封类 该类不可以被继承

    部分类:partial 可以将一个类拆分成多个部分,分别放在多个文件内

    namespace 命名空间 相当于虚拟文件夹

    (3)多态:

    1.编译多态

    函数重载

    2.运行多态

    概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态

    条件:必须要有继承 父类引用指向子类实例 子类必须对父类的方法进重写

    里氏代换原则:如果有一个地方需要使用到父类对象,那么你可以将一个子类对象给他

    1.函数重载

    函数重载需要的条件:函数名要相同,参数的个数或者参数的类型不同

    2.this关键字

    虽然写在类里面,但不是属于类的,而是属于该对象的

    一般来说在类里面 this关键字是可以省略的,但是如果有一个方法形参名字和成员名字重复,这时候再调用该对象里面的成员的时候需要加this关键字

    3. is关键字

    判断变量是不是属于某个类型

    4. as关键字

    转换类型(只能转换兼容类型,可以将子类对象转换为父类对象)

    5.继承

    子类可以继承父类的一切

    特点:单继承

    一个子类只能有一个父类 一个父类可以有多个子类

    C#特殊点:所有类的祖先都是object

    base关键字:在子类中代表父类对象,用法和this关键字相同

    如果父类有构造方法,那么子类也要有构造方法,如果父类构造需要参数,那么子类构造也必须有相应的参数。子类构造后面可以通过base调用父类的构造方法

    以上所述是小编给大家介绍的SQL封装、多态与重载,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

    在Sql Server中调用外部EXE执行程序引发的问题 一、先开启xp_cmdshell打开外围应用配置器—功能的外围应用配置器—实例名DatabaseEnginexp_cmdshell—启用二、解决方法usemasterExecxp_cmdshell'mkdird:csj" class="img-responsive" alt="深入浅析SQL封装、多态与重载(sql 封装)">

    深入浅析SQL封装、多态与重载(sql 封装)

  • win8出现蓝屏提示需要重新启动怎么解决?(win81蓝屏重启故障)

    win8出现蓝屏提示需要重新启动怎么解决?(win81蓝屏重启故障)

  • Win7系统怎么保持IE8/9/10  win7系统IE11屏蔽更新提示的方法(win7怎么保留文件升级到win10系统)

    Win7系统怎么保持IE8/9/10 win7系统IE11屏蔽更新提示的方法(win7怎么保留文件升级到win10系统)

  • Win7系统安装Office2010失败错误代码1902的解决方法图文教程(win7系统安装office2019)

    Win7系统安装Office2010失败错误代码1902的解决方法图文教程(win7系统安装office2019)

  • 基于javascript实现彩票随机数生成(简单版)(javascript例题)

    基于javascript实现彩票随机数生成(简单版)(javascript例题)

  • jQuery绑定自定义事件的魔法升级版(jquery数据绑定)

    jQuery绑定自定义事件的魔法升级版(jquery数据绑定)

  • 什么时候贷主营业务成本
  • 建筑公司没有资质可以施工吗
  • 信息服务费可以计入办公费吗
  • 2019年大写二o一九
  • 材料采购二级科目
  • 分公司分开银行账户付款的好处
  • 银行存款转存利息一样吗
  • 年初数和年末数审计报告不一致
  • 电梯生产设备
  • 留抵进项税额
  • 成本法下的后续计量
  • 实收资本退还
  • 主营业务税金及附加怎么算
  • 汽车销售公司买车后续维修保养
  • 计提资产减值损失账务处理
  • 公司买空调开具的进项发票可以抵扣吗?
  • 固定资产发票可以抵税吗
  • 母公司对子公司的控股比例
  • 收购发票使用范围税收规定
  • win10系统声音有杂音
  • 招标公司返回的钱怎么算
  • 事业单位非税收入怎么做账
  • 没按时报税罚款多少
  • 环形链表入口节点
  • 前端大屏适配几寸显示器
  • php时间戳转换中国标准时间
  • 微信开发获取位置
  • 员工报销个人抬头的医疗费打款备注写什么
  • php验证身份证号
  • 借递延所得税资产贷以前年度损益调整
  • 浏览器windows下载
  • php怎么写网页
  • 不是吧阿sir表情包
  • Python Module — OpenAI ChatGPT API
  • node express安装
  • php wechat
  • ls -all命令
  • 残保金工资总额是计提还是实发
  • 工程施工预缴增值税
  • phpcms官网打不开
  • 发票开具内容与实际经营范围不符是否合适呢?
  • 计提怎么理解
  • 企业没收入也要交税吗
  • 加强mysql安全
  • mysql查询在什么之间
  • 门市装修费用会计处理
  • 没有发票如何做会计分录
  • 供应合同转让协议
  • 行政单位误餐费标准
  • 企业期货投资收益要交所得税吗
  • 借款利息收入发票
  • 什么情况下使用for循环
  • 发票红冲后原票是什么状态
  • 税金及附加科目借贷方向
  • 公司计提减值好吗
  • mysql学习教程
  • mysql查询包含
  • mysql 去除重复查询结果
  • windows2003怎么修改用户密码
  • 组装机没有装系统开机会怎么样
  • ae安装之后打开是crash
  • win2008怎么查看隐藏文件
  • win11注意
  • window10的连接功能
  • win8找不到桌面
  • win8.1优化工具
  • win8无法安装wps
  • 表单验证插件
  • jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
  • node copyfile
  • css控制图片大小和宽度
  • css选择器类选择器
  • python中pandas.DataFrame排除特定行方法示例
  • 从零开始学什么技术
  • javascript总结笔记
  • js编写一个标准的单例模式类
  • jQuery UI Bootstrap是什么?
  • 如何办理委托银行卡业务
  • 苏州税务所电话是多少
  • 特定公共服务是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设