想求一个解决方案

来源:百度知道 编辑:UC知道 时间:2024/06/02 00:44:07
我现在在做一个嵌入式的软件,
需要显示很多图片,
包括预览和查看全图,
但是现在由于芯片速度的限制,显示的非常慢,预览和查看全图都是,
大家有没有有经验的大拿,
帮帮忙。

我就这些分了
补充一下,是用C语言的

估计这位兄弟是做PDA,手机或者上网本方向的吧:)

如果是位图的话,估计就得在其他方面考虑性能提升了,
例如:
优化描画的时序,在每次事件轮循完毕后强制进行画面刷新。
优化Memcpy处理,变行拷贝为块拷贝,将单向拷贝变为双向/多向拷贝。

如果是JPEG的话,可以考虑一下以下的方案:
对于图像预览,不清楚你目前是怎么做的,但是一般有如下两种方法:
1.Decode图像,再Resize成小Size图像来描画
2.做成Thumbnail数据,根据Thumbnail信息来做成预览图
后一种无疑是高效的。
如果你现在采取的是第一种的话,可以考虑在大图像保存时,做成Thumbnail数据,
并将相关情报写入Exif中,
在预览时,读取Exif情报,进行Thumbnail显示。

对于图像查看全图的性能提升,建议你考虑以下方向:
1.采用高速Jpeg解码算法(现在还有一种超高速Jpeg解码算法),这个相关资料很多,就
不多说了
2.流程优化,由于Decode的过程实际上是一个可分解的非同期过程,
所以可以不必等待全部Decode完毕再进行描画,
而是可以在n次Range后周期性将Buffer中的数据进行描画,
或者定时(例如200ms) 周期性将Buffer中的数据进行描画,
由于一般复杂图像的CGRAM的描画需要100ms以上的时间,
所以建议将定时设置在200ms或者更长一些。

建议你把图片降低质量!
用ps处理下
如果可以的话用位图就可以了

预览也慢的话要么图形显示库/代码有问题,要么就是芯片处理能力太弱。是不是设计硬件的成本抠的太紧了。

问题不是很详细,很难回答。
同类的问题,简单的说:可以将图片先读入缓冲区,再FLIP出来,可以的话,可以自定义二级缓冲区,应该可以解决这个问题

去找优化算法。。。
windows能做到得,就不会是硬件的问题