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中开辟新的线程来执行,其执行仍然发生在主线程中.当我们有较为耗时的操作时,可以将该操作分散到几帧或者几秒内完成,而不用在一 ...
最新文章
- 技术图文:Matlab VS. Numpy 常见矩阵
- VTK:Math之NormalizeVector
- 我的博客今天0岁346天了,我领取了…
- 数据结构——从叶子结点到根节点的全部路径
- 惠而浦:使用Netty和Kafka的微服务
- idea spring tomcat启动失败_技术篇 | 实用IDEA插件和工具系列
- 密码学电子书_密码学中的电子密码书(ECB)
- Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现
- 华为命令 hybird实验
- 【支付】第三方支付收单机构
- 如何给 ReactJS 应用增加配置文件?
- 邓俊辉《数据结构》-向量学习笔记
- 极光推送上线7周年大庆,777件礼物送给大家
- 浏览器网页视频怎么快速下载到本地?
- lpop 原子_高负载量的Pd单原子催化剂用于选择性催化加氢反应
- WPS设置Excel下拉选项
- ansible-playbook部署K8S高可用集群
- EPICS数据通过MQTT物联网协议上云
- mysql注入大全_mysql注入大全及防御
- 东北大学秦皇岛分校通信工程中外合作2020级C/CPP实验8
热门文章
- 微信小程序定义和调用全局变量globalData
- python-课后作业-4
- web前端100道面试题
- FFmpeg解码视频并保存为图片
- 计算机毕业设计 SSM校园拼车系统 拼车出行管理系统 滴滴打车管理系统Java Vue MySQL数据库 远程调试 代码讲解
- PostgreSQL 源码解读(203)- 查询#116(类型转换实现)
- 已解决Starting MySQL... ERROR The server quit without updating PID file
- JS判断是否为safari苹果浏览器
- Idea导包正确还是显示标红(错误)
- 统计学习(四):重抽样方法