首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BitBlt性能

BitBlt性能
EN

Stack Overflow用户
提问于 2009-06-12 18:39:31
回答 2查看 2.4K关注 0票数 3

我有一个将多页tiff分成单页的函数,它使用windows的BitBlt函数。在性能方面,显卡在进行拆分时会有影响吗?是否值得使用直接的C/C++库呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-12 18:58:48

显卡不会参与任何活动,除非它是BitBlt的目的HDC。专门用于映像函数的库应该能够更好地执行此任务,因为最终您将把这些函数写入磁盘。

如果您对图像数据进行了更改,那么使用视频卡可能会有所帮助;但前提是您要为目标tiffs渲染大量新的图像数据,特别是3D场景等。

票数 2
EN

Stack Overflow用户

发布于 2009-06-12 18:48:03

如果BitBlt可以将页面映射到显存中,那么您的显卡很可能会比CPU快得多。这有几个原因:

  • 显卡将与您的CPU并行运行,因此您可以在运行时执行其他工作。
  • 显卡经过优化,可以独立执行内存复制,而不必让CPU将每个字从一个位置复制到另一个位置。
  • 显卡可能有一个更大的数据移动字大小,如果你的blit附加了任何操作标志,这些标志可能会被硬件优化。此外,大多数显卡上的内存都比系统内存快。

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

最后,将图像传输到卡上并传回的开销可能会超过在卡上传输图像所获得的速度提升。所以你只需要做实验。

我应该补充-我认为您需要在设备环境中指定内存在卡上。我不认为仅仅创建一个内存上下文会对显卡做任何特殊的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/988297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档