首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

类似Kodak Capture的小程序,一次同时显示8幅图像,效率有关问题

2012-02-22 
类似Kodak Capture的小程序,一次同时显示8幅图像,效率问题。KodakCapture是一个扫描应用程序,我做一个模仿

类似Kodak Capture的小程序,一次同时显示8幅图像,效率问题。
Kodak   Capture是一个扫描应用程序,我做一个模仿其界面的小应用,不考虑扫描,而是从磁盘读图像,可以一次显示1   or   2   or   4   or   8幅图像。可以切换一次能显示的幅数。可以对当前显示的图像同时作放大和缩小的操作。
这时候发现差距了:
1.我用动态加载图像的方法,加载一幅图和加载8幅图耗用的内存是不一样的,而Capture的内存几乎没变化,也远小于我的最大内存耗用数(8幅图像时)。
2.我的放大和缩小操作(自己写的缩放函数为了高效果)有明显的延时,尤其是8幅图像时,因为要操作8次。而Capture几乎感觉不到延时,这太让我抓狂了。没道理这么快啊。
3.更离谱的是,Capture在操作过程中,如果删掉磁盘上对应的图像,那么界面上显示的图像也会消失!难道Capture总在实时访问磁盘文件??那又如何保证高效率???
极度不解和困惑中!希望能够和大家讨论一下。

[解决办法]
它是不是用了缩略图数据库?
[解决办法]
那有没有可能使用了Direct Show?你找一台集成显卡的机子,看看总的内存消耗.
[解决办法]
会不会建立一个类似内存池机制的东西。
[解决办法]
没有看过你说的程序,随便写些猜想。不过Kodak做不了什么好软件,看看是不是Adobe或其他公司帮着做的。
1。内存问题,如果是不能对图像操作的。保留最大的可能显示尺寸就够了。
2。显示的放大缩小不就是屏幕大小的数据变化吗?应该可以优化,看你的设计了。
3。文件删除问题好像可以再目录变化挂一个钩子。这样只有有变化才需要检测。
[解决办法]
Kodak Capture我用过,是挺厉害的一个工具,Kodak高速扫描仪上都有装
而且不只是扫描、图象浏览这么简单,还有硬件诊断,图象修补等功能

3。文件删除问题好像可以再目录变化挂一个钩子。这样只有有变化才需要检测。
---------
这个是肯定的,每个扫描批次的图象会放在不同目录,它必须监控父目录下所有的文件变化才行
显示和缩放的速度快,那还是算法的问题
[解决办法]
mark,等待讨论结果
[解决办法]
果然分数多看的人就多...
[解决办法]
使用MMX或者SSE代码了吗?
[解决办法]
可能是使用的内存映射文件进行处理的
这里有些资料http://www.yesky.com/20030117/1649013.shtml
[解决办法]
是否操纵数据全部是jpeg压缩数据(无需解压)

[解决办法]
用DirectX/OpenGL加载,绘制的时候指定视点距离/缩放比例。
每次处理前检查一下文件是否还在硬盘上,如果不在就不处理。

热点排行