我必须合并,让我们说大约100个图像(png文件)。问题是没有将它们组合在一起,这运行得足够快。但从存储中加载它们需要长达4秒。时间太长了。
所以我可以使用TPL或多线程,但是它仍然太慢了。我怎么才能加快速度呢?不幸的是,将所有图像保存在主存储中并不是一种选择。
图像非常小:从4KByte到10KByte
我以这种方式加载图像:
Image img = Image.FromFile(file);发布于 2012-04-10 22:47:02
有两个想法:
,
发布于 2012-04-10 21:22:26
在您的情况下,创建多个线程并不能提高I/O速度。这是关于你的硬盘的读写速度。
在4秒内加载100张高质量的图像看起来很正常。
发布于 2012-04-10 21:24:09
您如何加载您的图像文件?请分享你的一段代码。我的猜测是,你不是一次读取整个文件,而是像逐字节读取一样,直到EOF...优化文件加载的方法之一是将整个文件加载到预先分配的内存缓冲区中。
https://stackoverflow.com/questions/10089487
复制相似问题