网易首页 > 网易号 > 正文 申请入驻

【厚积薄发】Unity优化点概述

0
分享至

这是第277篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com

UWA QQ群2:793972859(原群已满员)

本期目录:

  • Unity优化点概述
  • Unity Assets下的Shader加载到内存需要满足什么样的条件
  • URP内置Shader生成的变体太多问题
  • 常见的Unity地形编辑插件

Unity

Q:Unity有多少优化点?

A:大方向上可以从CPU、内存和GPU这三个方向切入。细分一下可以从CPU、内存、渲染、资源优化、耗电优化、网络优化、卡顿优化和优化工具的选择掌握这几个点入手:

一、CPU优化

1. 缓存计算结果

2. 预处理

3. 限帧法

4. 主次法

5. 多线程

6. 引擎模块(动画、物理、粒子、导航)

7. 逻辑优化

二、内存优化

1. 缓存法

2. 内存池

3. 资源管理器

4. 控制GC

5. 逻辑优化

6. Shader变体数量优化

三、渲染优化

1. SetPassCall渲染状态切换频次控制

2. DrawCall数量控制

3. 带宽负载

4. 显存占用

5. GPU计算量

四、卡顿优化

1. 降帧法

2. 摊帧法

3. 限制数量法

4. 逻辑优化

5. IO优化

6. 使用进度条

五、资源优化

1. 纹理优化

2. UI优化

3. 字体优化

4. 模型优化

5. 场景优化

6. 粒子优化

7. 材质优化

8. 指定标准美术规范

9. Shader变体数量优化

六、耗电优化

上面说到的优化点,或多或少都会影响到手机的耗电,也是优化耗电的措施,除此之外还有:

1. 动态调整限帧

2. 动态调整画质

七、网络优化

1. 减少无用字段

2. 降低字段精度

3. 避免重复发送

4. 网络异步化

5. 压缩无效字节

6. 压缩协议包

以上说的这些要点,大部分摘抄归纳自《移动游戏性能优化通用技法》

https://www.cnblogs.com/timlly/p/10463467.html

强烈建议多花些时间认真阅读一下这篇文章,然后以这篇文章作为指南,再去仔细研究里面提到的优化细节该如何展开。

感谢马三小伙儿@UWA问答社区提供了回答欢迎大家转至社区交流:

https://answer.uwa4d.com/question/61a0a56ed8413e18eb297ac3

Shader

Q:只要在Assets中的Shader,是不是只要开始运行就会直接加进内存?

A:在Unity工程里面,Assets目录下的资源要进内存,要经历这么几个步骤:

1. 首先是要这个资源被打包进包体里面,有这么几种情况进入包体:

  • 这个资源在Resources目录下,无论是否被引用到;

  • 这个资源直接被场景引用,比如场景中的一个材质球使用了Shader A,这个场景最终进包体了。场景进入包体,有两种情况:一种是这个场景是被加入BuildSettings里面了,另外一种情况是被打包AssetBundle了。被场景引用,还有另外一种情况,就是被场景中的脚本引用了;

  • 资源被主动或者被动进AssetBundle了;

  • 这个资源被Unity某些设置项引用了,最终打包的时候这个资源也会进包体,比如游戏启动时候的Flash纹理,或者大家比较熟悉的Always Included Shaders设置项。

上面说的4种情况应该是一个资源进包体的所有情况了。

2. 资源进包体后,和进入内存是两回事,要进内存还需要被加载进内存。加载进内存的方式会因为前面4种进包体的方式相对应,各不相同:

  • 需要调用Resources.Load进行加载;

  • 需要调用SceneManager.Load进行场景加载,如果是场景打包进入AssetBundle中,那么需要先加载这个场景的AssetBundle,再SceneManager.Load加载场景;

  • 直接AB.LoadFrom加载AssetBundle,再AB.LoadAsset加载资源;

  • 通常在设置项设置的资源,Unity引擎会自动进行加载内存的管理,不同的设置项,时机不同。

感谢小ben@UWA问答社区提供了回答欢迎大家转至社区交流:

https://answer.uwa4d.com/question/619cce5ed8413e18eb241eb5

Shader

Q:打包时URP的Shader变体竟然有2w个,我有什么办法优化下吗?有什么办法可以查看用了哪些内置Shader的变体吗?

A1:变体一般分为multi_compile和shader_feature。multi_compile会把所有可能变体的可能性都生成一遍,shader_feature在Build的时候只会打包用到的Keyword。

建议替换成shader_feature,但是有一些代码启动的Keyword在Build的时候Unity不知道,需要手动加入Shader Variant Collection中。

UWA有一个本地资源检测工具可以看,然后内置的Shader可以去Unity官网上下载到本地,然后再进行修改。

感谢萧小俊@UWA问答社区提供了回答

A2:当然减Feature是肯定的,当减不掉的时候可以试试这个:继承IPreprocessShaders然后实现

public void OnProcessShader(Shader shader, ShaderSnippetData snippet, IList data) 进行 data.RemoveAt(i);

代码地址:

https://docs.unity3d.com/ScriptReference/Build.IPreprocessShaders.OnProcessShader.html

感谢夏霖锐@UWA问答社区提供了回答欢迎大家转至社区交流:

https://answer.uwa4d.com/question/619dc0fdd8413e18eb255f6c

Terrain

Q:Unity地形的解决方案有什么?是用插件吗?用什么插件?

A:首先看地形要做什么,如果要做大世界动态加载的,建议还是找美术使用3D软件制作,然后程序来处理。如果只是单纯需要一个地形来承载游戏玩法,可以考虑用一些开箱即用的插件。

如果要快速生成一个还不错的写实风格的地形可以考虑使用:

Gaia 2 - Terrain & Scene Generator

https://assetstore.unity.com/packages/tools/terrain/gaia-2-terrain-scene-generator-42618

如果要LowPoly,可以看看这个插件:

Low Poly Ultimate Pack

https://assetstore.unity.com/packages/3d/props/low-poly-ultimate-pack-54733

2D/2.5D游戏可以看看这个插件:

Ferr2D Terrain Tool

https://assetstore.unity.com/packages/tools/level-design/ferr2d-terrain-tool-11653

普通2D地形可以考虑使用Unity自带的Tilemap来实现,然后最新版的Unity好像重构了本身的Terrain system。

感谢萧小俊@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/619cdd33d8413e18eb2434c2

20211129

更多精彩问题等你回答~

  1. Unity增量打包AssetBundle没变化的资源也会被重新打包

    https://answer.uwa4d.com/question/615538998f8c834241c3dbdd

  2. 在模型有UV2的情况下开启Generate Lightmap UVs

    https://answer.uwa4d.com/question/614458df8f8c834241ac1183

  3. 如何实现AAB包的增量更新

    https://answer.uwa4d.com/question/60e80c26038436106ddf44da

封面图来源于网络

今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com

官方技术博客:blog.uwa4d.com

官方问答社区:answer.uwa4d.com

UWA学堂:edu.uwa4d.com

官方技术QQ群:793972859(原群已满员)

点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~


近期精彩回顾

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
弘一法师:不要太操心你的孩子和在意的亲人,每个人都有自己的命

弘一法师:不要太操心你的孩子和在意的亲人,每个人都有自己的命

木言观
2026-01-18 13:56:24
外卖数据出来了:美团50%、淘宝闪购42%、京东外卖只剩下8%?

外卖数据出来了:美团50%、淘宝闪购42%、京东外卖只剩下8%?

闻识
2026-02-19 11:45:20
他睡过上官婉儿、太平与安乐两公主,三朝宰相,死后玄宗念念不忘

他睡过上官婉儿、太平与安乐两公主,三朝宰相,死后玄宗念念不忘

谈史论天地
2026-02-19 18:51:01
舒淇在香港与一众明星过年,郑伊健身形明显严重发福。

舒淇在香港与一众明星过年,郑伊健身形明显严重发福。

可乐谈情感
2026-02-17 21:17:35
宁波一男子除夕夜报警,称开车时不小心撞到花坛和指示牌,结果因涉嫌危险驾驶罪被拘!

宁波一男子除夕夜报警,称开车时不小心撞到花坛和指示牌,结果因涉嫌危险驾驶罪被拘!

环球网资讯
2026-02-19 15:09:15
女生主动起来有多黏人?网友:这些女的太开放了

女生主动起来有多黏人?网友:这些女的太开放了

带你感受人间冷暖
2026-01-27 00:20:06
尴尬了!印度大学直接剽窃中国宇树机器狗,公开售2800美元一台!

尴尬了!印度大学直接剽窃中国宇树机器狗,公开售2800美元一台!

青青子衿
2026-02-18 02:35:47
15年前,那个当着全世界喝下核污染水的日本官员,如今还活着吗?

15年前,那个当着全世界喝下核污染水的日本官员,如今还活着吗?

阿讯说天下
2026-02-19 23:47:31
为啥有人说爬山发现山上没人卖烤肠,就得立刻下山?有何科学解释

为啥有人说爬山发现山上没人卖烤肠,就得立刻下山?有何科学解释

向航说
2026-02-14 01:40:03
我爸来住5天妻子甩脸色,过年岳父来住半个月,我一句话让她哑口

我爸来住5天妻子甩脸色,过年岳父来住半个月,我一句话让她哑口

小月故事
2026-02-17 09:00:03
300架运-20,不是上限是底线!2030年中国军工,将交出硬核答案

300架运-20,不是上限是底线!2030年中国军工,将交出硬核答案

林子说事
2026-02-19 21:35:02
昔日曼联天价金童!如今 30 岁再度重伤离场,生涯彻底没救了?

昔日曼联天价金童!如今 30 岁再度重伤离场,生涯彻底没救了?

澜归序
2026-02-18 17:37:25
华山五绝最弱的是谁?此人虚伪无比,表面清高,实则名利心极重

华山五绝最弱的是谁?此人虚伪无比,表面清高,实则名利心极重

武侠百晓生
2026-02-18 13:47:58
委内瑞拉和伊朗这一手“反水”,直接给中国上一堂最昂贵的战略课

委内瑞拉和伊朗这一手“反水”,直接给中国上一堂最昂贵的战略课

南权先生
2026-01-16 16:22:00
春节卖爆了!售价10999元,几天就订了近百台

春节卖爆了!售价10999元,几天就订了近百台

我不叫阿哏
2026-02-19 21:09:28
2026.2.19第一弹:孙允珠这身衣服看起来有点廉价呀……

2026.2.19第一弹:孙允珠这身衣服看起来有点廉价呀……

喜欢历史的阿繁
2026-02-20 00:05:31
新型三毒,正在让很多年轻人一夜返贫。

新型三毒,正在让很多年轻人一夜返贫。

爱吃糖的猫cat
2026-01-20 13:59:24
Figma美股盘前涨超16%

Figma美股盘前涨超16%

每日经济新闻
2026-02-19 17:10:06
伊朗谈判新策略曝光:与美联合开发油气田、矿区,采购美飞机,“让美国能快速获得高额经济回报”!特朗普最新表态,美军大举增兵

伊朗谈判新策略曝光:与美联合开发油气田、矿区,采购美飞机,“让美国能快速获得高额经济回报”!特朗普最新表态,美军大举增兵

每日经济新闻
2026-02-17 09:45:04
你知道什么是降维打击吗?网友:符合高中学历的认知

你知道什么是降维打击吗?网友:符合高中学历的认知

带你感受人间冷暖
2026-02-13 21:51:11
2026-02-20 01:32:49
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1551文章数 986关注度
往期回顾 全部

科技要闻

怒烧45亿,腾讯字节阿里决战春节

头条要闻

媒体:高市2.0 日本政局发生了意料之中的变动

头条要闻

媒体:高市2.0 日本政局发生了意料之中的变动

体育要闻

不想退役!徐梦桃:希望能参加第6次冬奥

娱乐要闻

霍启山恋情再添实锤 和娜然同游意大利

财经要闻

面条火腿香菇酱!上市公司这些年请你吃

汽车要闻

量产甲醇插混 吉利银河星耀6甲醇插混版申报图

态度原创

房产
本地
亲子
旅游
教育

房产要闻

顶豪抢房潮席卷全国! 中旅馥棠公馆项目395㎡大平层加推入市!

本地新闻

春花齐放2026:《骏马奔腾迎新岁》

亲子要闻

妈妈的侥幸,就是孩子的灾难!

旅游要闻

拓印、剪纸、糖画“圈粉”外籍游客 沉浸式感受传统文化体验喜庆中国年

教育要闻

初中成绩为何悄然分层,一些细节早已写下走向

无障碍浏览 进入关怀版