我的功能将乘法TIFF分配到单页上,并使用Windows Bitblt函数。在性能方面,视频卡在进行分裂方面会有任何影响吗?是否值得使用直接的C/C ++库?

有帮助吗?

解决方案

除非是BITBLT的目标HDC,否则视频卡不会参加任何活动。专门用于成像功能的库应为此任务更好,因为您最终将其写入磁盘。

如果您正在对图像数据进行更改,那么使用视频卡可能会有所帮助;但是,只有当您为目标tiffs(尤其是3D场景之类)渲染许多新图像数据时。

其他提示

如果BITBLT可以将页面映射到视频内存中,那么您的视频卡很有可能比CPU快得多。这是出于一些原因:

  • 该卡将与您的CPU并行运行,因此您可以在运行时进行其他工作。
  • 该视频卡被优化以单独执行内存副本,而不必让CPU将每个单词从一个地方复制到另一个位置。这使您的CPU巴士腾出了其他东西。
  • 该视频卡可能具有更大的数据大小以用于数据移动,如果您闪电灯带有任何操作标志,则可能会通过硬件进行优化。同样,大多数视频卡上的内存比系统内存更快。

请注意,这些事情并不总是正确的。例如,如果您卡共享系统内存,那么对内存的访问就不会比CPU更快。但是,您仍然得到并行支持。

最后,有可能将图像转移到卡上的开销和背部通过在卡上进行的速度提高而淹没您获得的速度提高。因此,您只需要实验即可。

我应该补充 - 我相信您需要指定内存在设备上下文中的卡上。我认为仅仅创建内存上下文对视频卡有任何特殊性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top