Unity支持GIF,零卡顿,秒解码
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,零卡顿,秒解码相关推荐
- Unity 编辑器ScrollView滚动卡顿优化
原因 在使用 Unity 开发游戏的时候,经常会需要用到数据配置,方式可能是CSV.JSON等等.为了可以方便地查看修改数据,通常使用ScrollView实现在 Unity 编辑器里面以列表的形式查看 ...
- 【优化】Unity游戏加载卡顿原因之一:冗余组件的挂载问题
游戏加载卡顿这个问题严重吗? 一.背景 在游戏开发中游戏的卡顿不是某个单一的问题导致,是由诸多问题的量变在一起导致的:可能是资源层面的,也可能是逻辑层面的,也可能是网络层面的-;我这里要说的是Unit ...
- 王盛:QUIC让B站在20%丢包时实现零卡顿
B站团队是目前少数在生产环境中部署QUIC的视频平台,收益明显.在面对未来网络基础设施升级的背景下,如何让视频传输更流畅.稳定是各视频服务平台必须面临的挑战.LiveVideoStack邮件采访了哔哩 ...
- Android UI卡顿监控
一.背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的不同,项目复杂App场景丰富,代码多人参与迭代历史较久,代码可能会存在很多UI线程耗时的操作,实际测试时候 ...
- 想让安卓app不再卡顿?看这篇文章就够了
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由likunhuang发表于云+社区专栏 实现背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的 ...
- 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法
One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...
- Unity CPU优化卡顿
当我们打开一个包含大量数据的新场景或背包界面,往往会比较卡顿,因为你大概的时候要处理这样的数据↓ 解决方案无非是缩小总数据量↓ 排队(缩小单位时间内数据量)↓ 场景1:打开背包等包含大量数据的界面(渲 ...
- 2018最新4k超高清视频编辑,解码,编码,数据压缩,特效合成,调色,影视后期,卡顿慢问题分析
2018最新4k超高清视频编辑,解码,编码,数据压缩,特效合成,调色,视频渲染输出,影视后期,卡顿慢问题分析 4K视频时代到来,影视后期制作的各个环节(如视频剪辑.特效合成.视频调色.视频输出等 ...
- unity如何解决协程开启频繁导致的程序卡顿
unity如何解决协程开启频繁导致的程序卡顿 一.协程 协程并不会在Unity中开辟新的线程来执行,其执行仍然发生在主线程中.当我们有较为耗时的操作时,可以将该操作分散到几帧或者几秒内完成,而不用在一 ...
最新文章
- Fedora Workstation 30是激动人心的、功能丰富的更新
- oracle control file文件 详解
- The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online
- 怎样用注解的方式配置Spring?
- json为全局变量 vue_vue 设置全局变量、指定请求的 baseurl
- 如何使用bootstrap实现轮播图?
- APPKIT打造稳定、灵活、高效的运营配置平台
- Web应用安全————多点登录互斥
- hiberanate 主键查询慢_hibernate 新加数据 查询 缓存 变慢
- maven报错JAVA_HOME should point to a JDK not a JRE
- 思维导图与知识树的区别
- 栈的链式表示+判断表达式括号是否配对
- 金球奖提名!5家自主品牌「争夺」年度高阶智能辅助驾驶系统
- 读书若谈恋爱:如何阅读一本书?
- 花木兰荣耀典藏皮肤特效一览 花木兰九霄神辉值得入手吗
- GFocalV2解读
- 安卓游戏源码(Replica Island)复刻岛
- XX软件前端开发面试
- 经典算法——鸡尾酒排序(冒泡算法改良)
- 记一次golang模拟登录淘宝
热门文章
- nginx的安装部署,热升级与回退,日志切割以及gzip(文字压缩)
- 可运行动态路由的Linux,使用Quagga实现Linux动态路由
- xmind怎么导出甘特图_张兵导图:xmind如何绘制甘特图?
- 能够改变一生的5句话
- 数据分析 --- 五力模型 VS PEST(分析模型)VS SWOT分析法
- 常用眼底图像数据集简介及下载--糖尿病视网膜病变(Eyepacs,APTOS2019,Messdior,Messdior-2,STARE数据集)
- WIN10 Redis安装与使用
- virtualbox虚拟机环境搭建之一---Ubuntu1804安装Virtualbox,在Virtualbox中导入Win7镜像
- 弱类型语言为何不堪大用
- php微信获取mediaid超出限制_微信永久素材上传视频并通过mediaid获取微信url调用视频...