【问题标题】:GPU or CPU used for VCL graphics-based commands?用于基于 VCL 图形的命令的 GPU 或 CPU?
【发布时间】:2022-12-09 02:29:48
【问题描述】:

在搜索了有意义的文档之后,虽然以下都是 VCL GRAPHICS 的根,但我正在尝试验证 GPU 或 CPU 是否用于以下 VCL 命令(在 Windows 服务器上)

  1. PngImage.assign(SomeMemoryStream);
  2. PngImage.canvas.TextOut(5,5,'Lee K');.
  3. JpgImage.assign(PngImage)
  4. TJpgImage的压缩处理

    了解以上内容将确定所需 CPU 和显卡的最低规格。

    提前致谢

【问题讨论】:

  • 这些都不需要最低规格。
  • 好吧,对于某个较大的 N 值,OP 可能需要每秒处理 N 个图像。
  • 你有没有考虑过使用Image32库。它可以同时使用基于 CPU 和 GPU 的硬件加速,并且不依赖于其他库。因此,您可以在 VCL、FMX、控制台甚至服务应用程序中使用它。

标签: delphi graphics vcl


【解决方案1】:

不,我认为您列出的 VCL 图形命令不需要使用 GPU。 VCL 是一组用于 Delphi 编程语言的可视化组件。它与图形处理或使用 GPU 进行图形操作无关。系统的最低规格将取决于您尝试执行的具体操作。

希望对您有所帮助!

【讨论】:

  • 任何 TPngImage、TBitmap 和 TJpgImage 的实际创建实际上不需要任何渲染,因此它本身不是视觉的。 TImage其实是一个组件,只是上面的都是非可视化的。所以如果它们确实是“可视”类(它们不是真正的组件),则意味着它们需要 GPU 进行渲染,但由于不显示,我的方向是 CPU 处理。即使在分析了相关的图形单元之后,仍然不清楚引擎盖下发生了什么。
  • @zaaai-bon GPU 用于渲染,也用于计算。图像压缩和解压缩(例如 JPEG)可以在 GPU 上完成。话虽如此,我同意在 VCL 的上下文和 OP 要求的操作中,GPU 不会有太大帮助。 OP 应该知道与 VCL 相反,Delphi FMX 可以指示使用 GPU。
  • 是的,你是对的,这些类不是视觉组件,不需要 GPU 来渲染。它们用于处理内存中的图像数据,但它们本身不处理图像的任何渲染或显示,因此这些类执行的操作将由 CPU 处理。话又说回来,如果 GPU 可用并且应用程序配置为使用硬件加速,则某些特定操作可能会使用 GPU。您可以查阅文档,对于您使用的是什么,您可能会有所了解。
  • @zaaaibon VCL 是单线程的,最好买一个非常快的 CPU^^
  • @DelphiCoder 由于TPngIMage 和TJPEGImage 类不是可视化组件,因此它们本身可能是线程安全的,即使它们是 VCL 的一部分,其中大部分都不是线程安全的。
【解决方案2】:

谢谢大家!你们都得到了饼干和一分。

摘要 - 看起来所有问题都是基于 CPU 的。 如果有人提出挑战 - 我们将重新开放。

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多