当前位置: 首页 > news >正文

营销型网站规划南京正规小程序开发公司

营销型网站规划,南京正规小程序开发公司,网站开发工具以及优缺点,网页设计总结2000字文章目录 前言GPU性能优化打包素材 CPU性能优化代码执行优化 性能测试Vector2.Distance 和 sqrMagnitude哪个好#xff1f;动画切换优化shader属性优化 URP渲染器资产优化对象池优化删除没必要的空函数图片、音乐音效、贴图等素材压缩ScriptableObject优化参数参考完结 前言 … 文章目录 前言GPU性能优化打包素材 CPU性能优化代码执行优化 性能测试Vector2.Distance 和 sqrMagnitude哪个好动画切换优化shader属性优化 URP渲染器资产优化对象池优化删除没必要的空函数图片、音乐音效、贴图等素材压缩ScriptableObject优化参数参考完结 前言 功能的实现必不可缺当然也要注意程序性能的优化。随着项目越来越大优化变得至关重要它能确保你的游戏任然可以快速流畅地运行。如果想知道如何对unity进行性能优化以及如何进行性能测试那就继续往下看吧。 GPU性能优化 打包素材 点击运行游戏打开分析帧调试器 然后点击启用工具逐步查看Unity如何将图像渲染到屏幕上我们可以看到有五个绘制调用分别是背景、地板、敌人、玩家和玩家的武器 如果我们可以使用更少的绘制调用来实现相同的结果它肯定会更快我们可以使用Sprite Atlas来做到这一点 把所有的资源都拖入进行打包注意这里属性和图片差不多如果你是像素素材同样可以选择点类型无压缩进行优化 打包效果 我们再回去分析帧调试器查看你会看到我们只有三个绘制调用 既然前面打包了那么为什么不是一个呢你可以看到它没有将敌人与玩家进行批处理因为它们具有不同的材质 如果我们没必要使用不同的材质我们可以选择把所有的材质换成一样的 这样的话可以看到就仅仅绘制了一次这明显加快了GPU绘制 CPU性能优化 代码执行优化 我们经常会有书写这样的代码比如新增EnemyBehavior.cs脚本挂载在敌人身上这里在Update中每一帧都调用敌人面向玩家等操作但是这完全是资源的浪费在播放模式下没有必要在每帧上都这样做 运行状态下打开Profiler 分析器 只需单击图表上的任意位置我们的游戏就会暂停以便我们可以对其进行分析可以看到目前EnemyBehavior的更新占用了1.2%CPU使用率 这时候我们可以选择使用脚本委托和定时器控制它的更新频率比如新增Ticker脚本没过0.2秒调用TickEvent方法 逻辑不在Update中调用了注册委托每0.2s调用一次 可以看到敌人是仍然总是面向玩家但不是每帧都运行该逻辑运行频率被降低了但它并没有对游戏中敌人的行为产生明显的影响 性能测试 但是当涉及到某些代码片段时仅用这些王具很难判断出什么实际上性能更高有时您只需要自己测试一些东西所以让我向您展示如何设置基准测试来让您运行自己的测试 新增性能测试的类 using UnityEngine; using System.Diagnostics;// 用于性能测试的类 public class BenchMarker : MonoBehaviour {[Range(0, 1000000)][SerializeField] private float _iterations; // 迭代次数private BenchMarkTest _benchMarkTest; // 性能测试对象private Stopwatch sw; // 计时器// 在启动时获取BenchmarkTest组件private void Awake(){_benchMarkTest GetComponentBenchMarkTest(); // 获取BenchmarkTest组件}// 执行测试的方法public void RunTest(){sw Stopwatch.StartNew(); // 创建并启动计时器for (int i 0; i _iterations; i){_benchMarkTest.PerformBenchmarkTest(); // 执行性能测试}sw.Stop(); // 停止计时器UnityEngine.Debug.Log(sw.ElapsedMilliseconds ms); // 输出测试时间} }Vector2.Distance 和 sqrMagnitude哪个好 在Unity中Vector2.Distance 和 sqrMagnitude 都是用来计算向量之间距离的方法但它们的性能特性略有不同。 新增脚本这里距离判断我们使用了Vector2.Distance实际它的性能很差因为它在内部计算中使用了开方运算 Mathf.Sqrt开方运算通常比较昂贵尤其是在大量计算时会消耗较多的计算资源。 点击测试 可以看到它平均需要执行390毫秒左右 我们现在换成性能更高的办法.sqrMagnitude进行距离判断sqrMagnitude 属性返回向量的平方长度与Vector2.Distance 方法不同sqrMagnitude 不进行开方操作因此它的计算代价更低。 重新测试发现平均快了几毫秒左右 事实证明我们可以继续使用Vector2.Distance 进行距离计算因为它的可读性更高且对性能的影响似乎可以忽略不计 动画切换优化 通常我们都是这样进行动画切换 测试效果 但是其实有更好的办法其实Unity获取这个动画字符串后会在幕后对其进行哈希处理所以之后我们可以通过只做一次来节省时间所以在这里我们可以提前对动画字符串进行哈希处理 可以看到节约了近30毫秒的性能 shader属性优化 我们也想给改变shader属性来执行相同的操作比如这里实现更改敌人的材质的颜色 改变颜色 测试结果可以看到大概需要610ms左右 让我们尝试同样对字符串进行哈希处理 结果发现速度加快了将近一半 URP渲染器资产优化 在URP渲染器资产中如果你不需要深度纹理Depth Texture或不透明纹理Opaque Texture 可以将其关闭因为这些纹理最终会根据您的相机所看到的内容绘制纹理的深度或不透明度。如果你关闭它们最终会优化大量不必要的内存 对象池优化 但如果您进行了大量实例化和销毁操作例如如果您有一个带有大量子弹的游戏那么您将需要实现个对象池系统参考【Unity小技巧】Unity探究自制对象池和官方内置对象池ObjectPool的使用 删除没必要的空函数 如果你的脚本中有空函数请删除它们每个函数也会有一点开销成本即使它实际上没有执行任何内容 图片、音乐音效、贴图等素材压缩 合理压缩素材会很大的减低我们的内存 比如先看看我的背景没有压缩它是6.8MB 低质量压缩它是1.1MB ps:合理的使用压缩确保它不会明显降低你的画面质量 ScriptableObject优化参数 不同的敌人实例之间更改这些变量现在当我点击播放时这些脚本中的每一个都将有自己的实例并且在这些类实例中的每一个上这些变量将在内存中拥有自己的副本并且对于这种情况完全是浪费 这里我们可以使用ScriptableObject 配置 这样我们就不会为这些变量的创建数十几个副本存放在内存中它只是位于ScriptableObject上的一个副本每个敌人都只指向该ScriptableObject的对象 即使你想要实现不同的敌人配置你也只需创建另一个ScriptableObject的对象资产绑定它并修改参数即可 参考 https://www.youtube.com/watch?vkJ5I9md9NG4 完结 赠人玫瑰手有余香如果文章内容对你有所帮助请不要吝啬你的点赞评论和关注以便我第一时间收到反馈你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法也欢迎评论私信告诉我哦 好了我是向宇https://xiangyu.blog.csdn.net 一位在小公司默默奋斗的开发者出于兴趣爱好最近开始自学unity闲暇之余边学习边记录分享站在巨人的肩膀上通过学习前辈们的经验总是会给我很多帮助和启发php是工作unity是生活如果你遇到任何问题也欢迎你评论私信找我 虽然有些问题我也不一定会但是我会查阅各方资料争取给出最好的建议希望可以帮助更多想学编程的人共勉~
http://www.dnsts.com.cn/news/33371.html

相关文章:

  • 虚拟主机可以建设什么网站专门做淘宝代运营的网站
  • 网站制作知识rikka.top wordpress
  • 网站开发质量控制计划做网站编辑需要具备的素质
  • 柬埔寨做网站网站在那边违反吗关于网站开发的评审时间安排
  • 网站界面设计用户体验网站建设先做后
  • 做网店哪个网站好代理二级分销系统
  • 网站建设制作人员招聘要求页游赚钱
  • 在线可以做翻译的网站吗jsp网站入门
  • linux上搭建网站企业网站 建设 外包
  • 广州网站设计开发招聘做一个综合商城网站多少钱
  • 网站内容相同算侵权吗wordpress前端发布主题
  • 专门做二手书的网站网站开发体会800字
  • 使用mvs2010做网站开源博客wordpress
  • 建设网站需要了解些什么问题wordpress 判断用户组
  • 渭南做网站博创互联做企业网站哪家好
  • 网站数据报表福泉市自己的网站
  • 企业内部门户网站建设方案如何做好网站的优化的监测评价
  • 设计网站会员哪个好用万网空间登录
  • wordpress 本地慢快速排名优化系统
  • 佛山企业网站建设电话网站设计培训学院
  • 大学生建设网站国内网站建设最好公司
  • 莆田个人外贸网站建设智慧建设网站
  • 西宁设计网站建设网站备案流程阿里云
  • seo网站优化插件销售网站排名
  • 网站打不开 ...在线crm在线oa免费观看
  • 如何做网站轮播图和菜单全屏公司网站未备案吗
  • 网站开发佛山给一瓶水做网站
  • 网站积分方案营销网站型建设多少钱
  • 普斯泰网站建设电力建设期刊网站投稿
  • myeclipse做网站快手免费推广软件