本文对于Spine动画加载的流程进行了修改,使用了懒加载的方式实现Spine动画的按需加载,有效地降低Spine动画的堆内存分配。文章包括思路分析,代码详解,优化前后的性能对比。

《Spine动画加载优化思路》目录

1|Spine动画加载问题

2|代码思路

3|使用方法

4|测试结果

5|总结(附Demo)


本文节选自UWA学堂的《Spine动画加载优化思路》第一节《Spine动画加载问题》。

Spine动画是我们在2D游戏开发中比较常用的一个插件,在Spine的动画加载的方面,经常会遇到加载耗时和内存分配过大的问题,这是因为在Spine加载时会将Spine文件的所有动画一次性加载,但是通常存在浪费的现象(比如角色展示界面、某些关卡中只需要特定的动画),因此我们希望能够通过按需加载动画,从而获得比较优秀的运行速度和较低的内存占用。

以下是两个测试案例,对比了优化前和优化后的堆内存驻留情况,堆内存分配的测试结果在文末:

示例1:拥有一千个简单动作的Spine官方小人在场景中,每一秒钟切换一个新的动作(由于一秒钟一个,所以到3000帧仅使用了很少量的动作)。

示例2:十几个拥有几个简单动作的人形角色,在几秒钟内随机切换动作(这种方式则在3000帧时已经使用过了80%的动作)。

从下面的结果可以看到,按需加载后,随着不同动画的播放,堆内存驻留是慢慢升高的,而不像优化前一次性就达到峰值。


适合读者

1、对于Spine使用有优化需求的开发者

2、游戏客户端开发人员

你将获得

1、Spine加载的优化方案

2、优化后的参考代码

更多精彩内容,欢迎关注UWA学堂:edu.uwa4d.com

Spine动画加载优化思路 之 Spine动画加载问题相关推荐

  1. Swift - 表格图片加载优化(拖动表格时不加载,停止时只加载当前页图片)

    列表的单元格中包含有图片在开发中很常见.通常我们可以直接在tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIn ...

  2. angular 首屏加载优化_[转]Angular4首页加载慢优化之路

    Angular是一个比较完善的前端MVC框架,包含了模板,数据双向绑定,路由,服务,过滤器,依赖注入等等所有的功能.在Web开发前后端流行的今天,我们在某个项目中也尝试使用该框架. 很快按照官网上的例 ...

  3. 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...

  4. python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...

  5. vivo 悟空活动中台 - H5 活动加载优化

    本文首发于 vivo互联网技术 微信公众号  链接: https://mp.weixin.qq.com/s/6gtVR0nVNcZvREjwftZgzA 作者:悟空中台研发团队 [悟空活动中台]系列往 ...

  6. HTML5 本地存储和内容按需加载的思路和方法

    HTML5 本地存储和内容按需加载的思路和方法 作者:佚名 字体:[增加 减小] 来源:互联网 时间:04-07 16:05:09 我要评论 本文将着重介绍HTML5本地存储和内容按需加载的思路和方法 ...

  7. webview 加载php页面内容,WebView加载优化的方法介绍

    本篇文章给大家带来的内容是关于WebView加载优化的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. WebView加载优化 当WebView的使用频率变得频繁的时候,对于其 ...

  8. 前端性能优化:使用媒体查询加载指定大小的背景图片

    日期:2013-7-8  来源:GBin1.com 直到CSS @supports被广泛支持,CSS媒体查询的使用接近于CSS中写逻辑控制.我们经常用CSS媒体查询来根据设备调整CSS属性(通常根据屏 ...

  9. iOS开发学无止境 - 异步图片加载优化与常用开源库分析

    作者:罗轩(@luoyibu) 网址:http://www.jianshu.com/p/3b2c95e1404f 1. 网络图片显示大体步骤:   下载图片 图片处理(裁剪,边框等) 写入磁盘 从磁盘 ...

最新文章

  1. 初识Redux-Saga
  2. Markdown 图片助手-MarkdownPicPicker
  3. C语言中字符串常用函数--strcat,strcpy
  4. IDEA运行最简单的Java程序Hello World
  5. document对象相关信息
  6. 让开!!!谁也别拦着我封装React组件!
  7. 【ElasticSearch】Es 缓存
  8. win7桌面快捷方式图标修复方法
  9. 多角度看微积分基本定理
  10. c语言swtitch输入字母输出,郝斌 C语言笔记
  11. 软件测试项目案例哪里找?【银行/教育/商城/金融/等等....】
  12. 智商、情商和逆商与程序员职业生涯发展
  13. 【微信聊天发的表情看不到,显示错误】
  14. 启示录:了解TOD模式的正确打开方式(一)
  15. [解决]通常每个套接字地址只允许使用一次
  16. (王道考研计算机网络)第一章计算机网络体系结构-第一节计算机网络概述1:计网的概念、组成、功能和分类
  17. Hadoop2.7下载安装
  18. 分布式消息队列RocketMQ(一)安装与启动
  19. fcm基本原理_光谱FCM工作原理
  20. 使用UltraISO(软碟通)制作U盘启动盘完整教程

热门文章

  1. Linux zip压缩 unzip解压缩
  2. 我准备蓝桥杯的这一年
  3. 《中国垒球》:跨界互动·全明星赛
  4. Git网络通信五子棋C语言,GitHub - qq20004604/Backgammon-websocket: Backgammon五子棋网络版(websocket实现)...
  5. 在线 ocr 文字识别 和 图片色值选取
  6. 04 Geometry几何体
  7. LabVIEW与Xplane飞行界面数据仿真交互
  8. 操作系统笔记:windows 替换ctrl和alt键功能
  9. 犀牛书第2章 JavaScript词法结构
  10. 数学定理{摘自nbsp;百度}{important}