您的位置:首页 > 其它

关于png动画的问题

2014-11-01 18:36 155 查看
不知道其他家的动画是怎么弄的,我反正费了不少劲才让动画流畅起来,虽然还有一些问题。

前提:流畅,支持半透明。

程序中加载动画到目前为止我知道两种方式gif和png序列。

1,首先是gif,动画不流畅,很耗资源,不支持半透明(要么透要么不透),锯齿感太强烈

2,png序列,每一帧动画都是一张png图片,

两种加载方式,一种是全部加载,问题来了,耗内存,不是一般的耗,最多加载到200张,内存就1个多G了,然后程序挂掉

第二种是部分加载,有点像播放器,边播边加载,还好,以前写过播放器,开了两个线程,一个读图片一个控制刷新。

问题来了,当我想在两个地方播放同一段动画的时候,程序崩溃了。原因是多个线程读同一个文件,起了冲突。QFile里面挂了。 这里还隐藏着一个问题,如果我开启了多个窗口播放动画,每秒25帧,三个动画就是每秒75帧,每秒要读完75个文件,对硬盘的表示很担心。

想到了引用计数,只用一个线程读文件,这样,三个窗口的动画就同步了。问题解决了大部分。

还没解决的是 1920*1080图片加载真的很慢,debug模式下跑的很不顺畅,只能在release下了。

我的是四核,超过25%就说明一个核满了。

分辨率 刷新间隔 cpu占用率 文件大小

480*520 40ms 4% 12kb

480*520 100ms 2% 12kb

1080*1920 40ms 22% 10kb

1080*1920 100ms 11% 10kb

1080*1920 40ms 27% 255kb //慢,刷新时间不对

1080*900 40ms 13% 130kb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: