Unity 优化之 移动游戏加载性能和内存管理全解析【2017年版】

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 首先感谢UWA的公开课讲解,本文中的内容主要采集于UWA2017的公开课公开课中的优化点对于项目的帮助是不容小觑的~去年的PPT截取,笔者抽时间整理一下,有相关视频的PPT的截图和博客地址。

首先感谢UWA的公开课讲解,本文中的内容主要采集于UWA2017的公开课公开课中的优化点对于项目的帮助是不容小觑的~

去年的PPT截取,笔者抽时间整理一下,有相关视频的PPT的截图和博客地址。一是防止忘记,二是希望能帮助更多的开发者,如果大家有时间的话还是建议看看去年的公开课,感受下侑虎的魅力~


首先来一道开胃菜如何确定美术规范

img_63eb04dc4e12c98f1a214ad866c31b32.png

内存使用-音频资源

img_0e1f2595481c535748e1338667e759cc.png
img_de49ecd13e44ac5a324dbb87c71fdcde.png
img_b41c5392892feb90d6e3c8c0190bc8b1.png
img_11cdf62924e16fb7ea1436c9b9861317.png
img_7fc5472f6001d7a5a650301fcd54a64c.png
img_a0c498610a93281617109439c9c69bfc.png
img_674024731a73d826fefddea591470a2d.png

内存使用-纹理资源

img_a23aa9cbe7d7d975994549ba9246db91.png
img_0197d72e8ec03300908fd2aa39ea9cfa.png
img_3f3badd9153a296668b51b36e5155c06.png
img_05c959b3324c1d4677ea4736db369614.png
img_754b1d4e11bd395762ac60666691b766.png

Unity加载模块深度解析


内存使用-网格资源

img_67660b87ed682263f7e41271436d261b.png
img_c7dbb7e2e27ae89685d5729c6096f232.png
img_73ae7e783da9ada457c2c460d829354b.png

扩展Unity加载模块深度解析(网格篇)


内存使用-粒子系统

img_12cf789f1012812b743ab18b46345ad7.png
img_158209c165e15cd8298dbe627565dbca.png
img_5e89a48f4c13880f191d3c3a415edf80.png
img_6da8df539db675331bb0811c57de1c2e.png

内存使用-动画资源

img_e9ed34b8478a8e15bf0599c8dbc73301.png
img_bea4ef3e9f1b286593188b8630c27666.png
img_1a2a6cafff4103e03579b577f864b741.png
img_ebe7e5501d942b7c76ed89e7a7ffa0e5.png
img_bbbf79bacd0c859af9e56af2b7de4eb5.png

扩展# Unity加载模块深度解析之动画资源


内存管理

img_18a55af90c6ee6e7ddc7c17bafd122e6.png
img_271be097257a4fd1782076f2d364f558.png
img_1fbe3d092421427bcf246af16cfc564c.png
img_d042d021e7fad02de51ae4799dd9f452.png
img_9b706e4df6ed192b3ea6b5ad0869d57d.png
img_cbac4fb15ffe86542134ba6c3ef8eac7.png
img_3c8a1de8634ec56d7f6b75d7d4b0c029.png
img_21eba7f344ebbf601f2569b462278f83.png
img_64444f7542fa6d74348d4ccf7ed23784.png
img_ab37de907afa83eea9705f5fa3c79284.png
img_c41159f648396818fa7d2521a0cec0e5.png
img_6ec4f527c6ad884dcdfacc5861789c21.png
img_62e6075e0b4148ca5bdcaec000c2eae4.png
img_ce90a3b6ab28b9e3b7abdfea5f783bff.png
img_8fcea89eea035e2a55455ed33d01816d.png

相关地址Unity加载模块深度解析之动画资源


加载模块

img_25ea46dc6901e4140974d679bc016559.jpe
img_cefc2627ee68a1f42e52f6bd733a6de5.png
img_fefaacf585f7d0a161b251cb2a9679be.png
img_3a9dfd96414b385a89d4e0412b4700f1.png
img_55463e66bef3c36c0233c5257fb514b1.png
img_159e2a5c864c2a3186c785741842a6f5.png
img_f7399e11af26b0eb2e641ff67bccf734.png
img_6cb08f1e5c793fbaad0de5d30be5a3e6.png
img_31be20f45d689ecb64d9e5b78a5cbf1e.png
主要是因为异步之间的空闲时间造成的
img_6fceb0dd471be8810a99b89dda7d9c75.png

img_b4cf353197fa58899fd1ad4615931b40.png

img_2fa0df04974f847b9572978cda21f486.png

img_74e74b558e66ca6b3e82532b188fe1bb.png
多个一起加载和单个加载比较
img_6316d89a7a59b7cbb8e876745bb9b70c.png
img_0c01190029de226f6c7c0f29d61ceb7b.png
img_3e66ea480923441246c825da2037f5df.png
img_0a02dbde2234e610b823e63aeb43cd5e.png
img_88f5266828769b4b6323cb1e81fbd135.png
img_cd838ed90ab60dc5777fdead7f343aff.png
img_b8f9f76d7f4b6fabda6052fc3ffe5094.png
img_9c370419d43de6f444f1d7400ccf63ba.png
img_b29e3213f7814900e3f85a358d2ed2f9.png
img_a5e85a2604bf121ff4cf8c6667271403.png
img_a626cc556fc7024d720640ff4a04aa2b.jpe
img_5d71b1ae2dd8baaa653b79a089ba85d7.jpe
img_744507dfbd71c39fc963b50c29c43b02.jpe
img_2aed156177669b8da4e3e87cc0887bbb.jpe
img_e06f3a63c4bebd1f772c6b7b5f4e56db.jpe
img_f131c0aded602eb4e34efa5ab547d32b.jpe

Instantiate实例化操作

img_bc6ec397d19df2ed3c58282380324232.png
img_9547c899b436c1b89fb6e38ff3352c0a.png
img_b49c22f670438a75a08e039dfe7f34bb.png
img_af78793ef31a95cc98e5810eb0db4d08.png
因为在切换的时候会出现相应的组件频繁初始化,解决策略把组件disable和移除canvas区域
img_919d0930e9bf5df63b4453ec0a9b2ae9.png
img_067052670f343e5727c9c0bb3dc4fc1e.png
最后就是:整理编辑格式真尼玛累~~~
相关文章
|
6天前
|
C++
【C++】深入解析C/C++内存管理:new与delete的使用及原理(二)
【C++】深入解析C/C++内存管理:new与delete的使用及原理
|
6天前
|
安全 编译器 程序员
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
21 2
|
6天前
|
编译器 C++ 开发者
【C++】深入解析C/C++内存管理:new与delete的使用及原理(三)
【C++】深入解析C/C++内存管理:new与delete的使用及原理
|
6天前
|
存储 C语言 C++
【C++】深入解析C/C++内存管理:new与delete的使用及原理(一)
【C++】深入解析C/C++内存管理:new与delete的使用及原理
|
1天前
|
存储 算法 UED
深度解析RAG优化之道:从检索到生成全面升级大模型应用性能,探索提升企业服务质量与用户体验的终极秘密
【10月更文挑战第3天】随着大模型技术的进步,人们愈发关注如何针对特定任务优化模型表现,尤其是在需要深厚背景知识的领域。RAG(Retrieval-Augmented Generation)技术因其能检索相关文档以辅助生成内容而备受青睐。本文将通过问答形式深入探讨RAG优化的关键点,并提供具体实现思路及示例代码。
5 2
|
4天前
|
存储 安全 Java
JVM锁的膨胀过程与锁内存变化解析
在Java虚拟机(JVM)中,锁机制是确保多线程环境下数据一致性和线程安全的重要手段。随着线程对共享资源的竞争程度不同,JVM中的锁会经历从低级到高级的膨胀过程,以适应不同的并发场景。本文将深入探讨JVM锁的膨胀过程,以及锁在内存中的变化。
10 1
|
15天前
|
存储 算法 Java
深入解析 Java 虚拟机:内存区域、类加载与垃圾回收机制
本文介绍了 JVM 的内存区域划分、类加载过程及垃圾回收机制。内存区域包括程序计数器、堆、栈和元数据区,每个区域存储不同类型的数据。类加载过程涉及加载、验证、准备、解析和初始化五个步骤。垃圾回收机制主要在堆内存进行,通过可达性分析识别垃圾对象,并采用标记-清除、复制和标记-整理等算法进行回收。此外,还介绍了 CMS 和 G1 等垃圾回收器的特点。
60 0
深入解析 Java 虚拟机:内存区域、类加载与垃圾回收机制
|
21天前
|
文字识别 算法 API
阿里云文档解析(大模型版)优化
阿里云文档解析(大模型版
|
5天前
|
Java C语言 iOS开发
MacOS环境-手写操作系统-16-内存管理 解析内存状态
MacOS环境-手写操作系统-16-内存管理 解析内存状态
13 0
|
6天前
|
程序员 编译器 数据处理
【C语言】深度解析:动态内存管理的机制与实践
【C语言】深度解析:动态内存管理的机制与实践

推荐镜像

更多