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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 首先感谢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
最后就是:整理编辑格式真尼玛累~~~
相关文章
|
23天前
|
存储 缓存 监控
|
5天前
|
存储 Java 编译器
Java内存模型(JMM)深度解析####
本文深入探讨了Java内存模型(JMM)的工作原理,旨在帮助开发者理解多线程环境下并发编程的挑战与解决方案。通过剖析JVM如何管理线程间的数据可见性、原子性和有序性问题,本文将揭示synchronized关键字背后的机制,并介绍volatile关键字和final关键字在保证变量同步与不可变性方面的作用。同时,文章还将讨论现代Java并发工具类如java.util.concurrent包中的核心组件,以及它们如何简化高效并发程序的设计。无论你是初学者还是有经验的开发者,本文都将为你提供宝贵的见解,助你在Java并发编程领域更进一步。 ####
|
28天前
|
缓存 算法 Java
Java中的内存管理:理解与优化
【10月更文挑战第6天】 在Java编程中,内存管理是一个至关重要的主题。本文将深入探讨Java内存模型及其垃圾回收机制,并分享一些优化内存使用的策略和最佳实践。通过掌握这些知识,您可以提高Java应用的性能和稳定性。
44 4
|
12天前
|
监控 数据挖掘 OLAP
深入解析:AnalyticDB中的高级查询优化与性能调优
【10月更文挑战第22天】 AnalyticDB(ADB)是阿里云推出的一款实时OLAP数据库服务,它能够处理大规模的数据分析任务,提供亚秒级的查询响应时间。对于已经熟悉AnalyticDB基本操作的用户来说,如何通过查询优化和性能调优来提高数据处理效率,是进一步提升系统性能的关键。本文将从个人的角度出发,结合实际经验,深入探讨AnalyticDB中的高级查询优化与性能调优技巧。
41 4
|
11天前
|
存储 JavaScript 前端开发
如何优化代码以避免闭包引起的内存泄露
本文介绍了闭包引起内存泄露的原因,并提供了几种优化代码的策略,帮助开发者有效避免内存泄露问题,提升应用性能。
|
12天前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
13天前
|
缓存 监控 Java
在使用 Glide 加载 Gif 动画时避免内存泄漏的方法
【10月更文挑战第20天】在使用 Glide 加载 Gif 动画时,避免内存泄漏是非常重要的。通过及时取消加载请求、正确处理生命周期、使用弱引用、清理缓存和避免重复加载等方法,可以有效地避免内存泄漏问题。同时,定期进行监控和检测,确保应用的性能和稳定性。需要在实际开发中不断积累经验,根据具体情况灵活运用这些方法,以保障应用的良好运行。
|
21天前
|
存储 监控 算法
Java中的内存管理与垃圾回收机制解析
本文深入探讨了Java编程语言中的内存管理方式,特别是垃圾回收机制。我们将了解Java的自动内存管理是如何工作的,它如何帮助开发者避免常见的内存泄漏问题。通过分析不同垃圾回收算法(如标记-清除、复制和标记-整理)以及JVM如何选择合适的垃圾回收策略,本文旨在帮助Java开发者更好地理解和优化应用程序的性能。
|
21天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
26天前
|
存储 缓存 监控
深入解析:Elasticsearch集群性能调优策略与最佳实践
【10月更文挑战第8天】Elasticsearch 是一个分布式的、基于 RESTful 风格的搜索和数据分析引擎,它能够快速地存储、搜索和分析大量数据。随着企业对实时数据处理需求的增长,Elasticsearch 被广泛应用于日志分析、全文搜索、安全信息和事件管理(SIEM)等领域。然而,为了确保 Elasticsearch 集群能够高效运行并满足业务需求,需要进行一系列的性能调优工作。
52 3

推荐镜像

更多