Unity原生不支持GIF动图,使用GIFDecoder第三方库实现,解码速度快,占用内存少。

一、简介

github源码地址:https://github.com/3DI70R/Unity-GifDecoder

解码原理地址:https://www.jianshu.com/p/38743ef278ac

二、使用方法

源码下载

1.使用协程加载

使用协程可以很好解决由于while循环造成的对主线程的堵塞

协程的等待一帧,会明显看到第一次解码,速度跟不上其展示速度,感觉到卡顿

2.使用子线程加载

引用子线程解决解码耗时操作,实现秒显示,不会造成卡顿问题,并且可以同时解码多张GIF

主要依靠Loom.cs脚本,封装了子线程,子线程调用主线程的相关逻辑。

3.边解码边播放

解码是一帧一帧进行的,在解码的同时进行展现,不必等待所有的解码完成,这里需要处理解码时的多种状态问题

在循环列表滑动过程中,需要在隐藏的时候挂起解码,再次显示时重新解码

4.多图缓存

同时存在几张GIF的展示,多图缓存很必要
同一个展示的GIF只需要一次解码,多个地方同时展示

Unity支持GIF,零卡顿,秒解码相关推荐

  1. Unity 编辑器ScrollView滚动卡顿优化

    原因 在使用 Unity 开发游戏的时候,经常会需要用到数据配置,方式可能是CSV.JSON等等.为了可以方便地查看修改数据,通常使用ScrollView实现在 Unity 编辑器里面以列表的形式查看 ...

  2. 【优化】Unity游戏加载卡顿原因之一:冗余组件的挂载问题

    游戏加载卡顿这个问题严重吗? 一.背景 在游戏开发中游戏的卡顿不是某个单一的问题导致,是由诸多问题的量变在一起导致的:可能是资源层面的,也可能是逻辑层面的,也可能是网络层面的-;我这里要说的是Unit ...

  3. 王盛:QUIC让B站在20%丢包时实现零卡顿

    B站团队是目前少数在生产环境中部署QUIC的视频平台,收益明显.在面对未来网络基础设施升级的背景下,如何让视频传输更流畅.稳定是各视频服务平台必须面临的挑战.LiveVideoStack邮件采访了哔哩 ...

  4. Android UI卡顿监控

    一.背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的不同,项目复杂App场景丰富,代码多人参与迭代历史较久,代码可能会存在很多UI线程耗时的操作,实际测试时候 ...

  5. 想让安卓app不再卡顿?看这篇文章就够了

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由likunhuang发表于云+社区专栏 实现背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的 ...

  6. 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法

    One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...

  7. Unity CPU优化卡顿

    当我们打开一个包含大量数据的新场景或背包界面,往往会比较卡顿,因为你大概的时候要处理这样的数据↓ 解决方案无非是缩小总数据量↓ 排队(缩小单位时间内数据量)↓ 场景1:打开背包等包含大量数据的界面(渲 ...

  8. 2018最新4k超高清视频编辑,解码,编码,数据压缩,特效合成,调色,影视后期,卡顿慢问题分析

       2018最新4k超高清视频编辑,解码,编码,数据压缩,特效合成,调色,视频渲染输出,影视后期,卡顿慢问题分析 4K视频时代到来,影视后期制作的各个环节(如视频剪辑.特效合成.视频调色.视频输出等 ...

  9. unity如何解决协程开启频繁导致的程序卡顿

    unity如何解决协程开启频繁导致的程序卡顿 一.协程 协程并不会在Unity中开辟新的线程来执行,其执行仍然发生在主线程中.当我们有较为耗时的操作时,可以将该操作分散到几帧或者几秒内完成,而不用在一 ...

最新文章

  1. Fedora Workstation 30是激动人心的、功能丰富的更新
  2. oracle control file文件 详解
  3. The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online
  4. 怎样用注解的方式配置Spring?
  5. json为全局变量 vue_vue 设置全局变量、指定请求的 baseurl
  6. 如何使用bootstrap实现轮播图?
  7. APPKIT打造稳定、灵活、高效的运营配置平台
  8. Web应用安全————多点登录互斥
  9. hiberanate 主键查询慢_hibernate 新加数据 查询 缓存 变慢
  10. maven报错JAVA_HOME should point to a JDK not a JRE
  11. 思维导图与知识树的区别
  12. 栈的链式表示+判断表达式括号是否配对
  13. 金球奖提名!5家自主品牌「争夺」年度高阶智能辅助驾驶系统
  14. 读书若谈恋爱:如何阅读一本书?
  15. 花木兰荣耀典藏皮肤特效一览 花木兰九霄神辉值得入手吗
  16. GFocalV2解读
  17. 安卓游戏源码(Replica Island)复刻岛
  18. XX软件前端开发面试
  19. 经典算法——鸡尾酒排序(冒泡算法改良)
  20. 记一次golang模拟登录淘宝

热门文章

  1. nginx的安装部署,热升级与回退,日志切割以及gzip(文字压缩)
  2. 可运行动态路由的Linux,使用Quagga实现Linux动态路由
  3. xmind怎么导出甘特图_张兵导图:xmind如何绘制甘特图?
  4. 能够改变一生的5句话
  5. 数据分析 --- 五力模型 VS PEST(分析模型)VS SWOT分析法
  6. 常用眼底图像数据集简介及下载--糖尿病视网膜病变(Eyepacs,APTOS2019,Messdior,Messdior-2,STARE数据集)
  7. WIN10 Redis安装与使用
  8. virtualbox虚拟机环境搭建之一---Ubuntu1804安装Virtualbox,在Virtualbox中导入Win7镜像
  9. 弱类型语言为何不堪大用
  10. php微信获取mediaid超出限制_微信永久素材上传视频并通过mediaid获取微信url调用视频...