我正在使用Magick.NET对图像进行去斑处理。对于相对较小的图像(1000*1500像素),需要大约1-2秒。我读到ImageMagick使用OpenCL来加速一些操作,去斑就是其中之一。所以,我想知道为什么它在最近的显卡(GTX 960)上会这么慢。
是否有启用OpenCL的Magick.NET设置?
发布于 2017-02-05 20:37:51
您可以通过设置OpenCL.IsEnabled
启用或禁用OpenCL。第一次使用OpenCL操作时,将运行一个基准测试,以确定使用图形处理器还是使用中央处理器更好。基准测试写在下面的文件中:%LOCALAPPDATA%\ImageMagick\ImagemagickOpenCLDeviceProfile.xml
。此基准测试的一个示例是:
<devices>
<device name="CPU" score="4.914"/>
<device platform="AMD Accelerated Parallel Processing" score="0.165" vendor="Advanced Micro Devices, Inc." name="Ellesmere" version="2117.14 (VM)" maxClockFrequency="1266" maxComputeUnits="36" />
<device platform="AMD Accelerated Parallel Processing" score="1.326" vendor="Advanced Micro Devices, Inc." name="Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz" version="2117.14 (sse2,avx)" maxClockFrequency="3998" maxComputeUnits="8" />
</devices>
得分最低的设备获胜,并将在算法内使用OpenCL时使用。
有可能基准测试已经在您的机器上运行,并且确定CPU更快。这意味着即使启用了OpenCL,也会使用CPU。
https://stackoverflow.com/questions/42050790
复制相似问题