c# – 加速加载图像列表

c# – 加速加载图像列表,第1张

概述我正在加载一个List< Image>来自约250张图片的文件夹.我做了一个DateTime比较,加载这250个图像需要整整11秒.那个地狱很慢,我非常想加快速度. 图像在我的本地硬盘上,甚至不是外部硬盘. 代码: DialogResult dr = imageFolderBrowser.ShowDialog();if(dr == DialogResult.OK) { DateTime 我正在加载一个List< Image>来自约250张图片的文件夹.我做了一个DateTime比较,加载这250个图像需要整整11秒.那个地狱很慢,我非常想加快速度.

图像在我的本地硬盘上,甚至不是外部硬盘.

代码:

DialogResult dr = imageFolderbrowser.ShowDialog();if(dr == DialogResult.OK) {    DateTime start = DateTime.Now;    //Get all images in the folder and place them in a List<>    files = Directory.Getfiles(imageFolderbrowser.Selectedpath);    foreach(string file in files) {        sourceImages.Add(Image.Fromfile(file));    }    DateTime end = DateTime.Now;    timeLabel.Text = end.Subtract(start).TotalMilliseconds.ToString();}

编辑:是的,我需要所有的照片.我正在计划的事情是将每个中心的30个像素柱取出并从中制作出新的图像.有点像360度的图片.只是现在,我只是用随机图像进行测试.

我知道可能有更好的框架可以做到这一点,但我需要首先工作.

EDIT2:切换到秒表,差别只有几毫秒.还尝试使用Directory.Enumeratefiles,但没有任何区别.

编辑3:我在32位Win7客户端上运行.NET 4.

解决方法 由于加载图像同时执行文件IO和cpu工作,因此您应该通过使用多个线程获得一些speadup.

如果您使用的是.net 4,那么使用任务将是最佳选择.

总结

以上是内存溢出为你收集整理的c# – 加速加载图像列表全部内容,希望文章能够帮你解决c# – 加速加载图像列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存