Vulkan 是不是适合使用尽可能少的资源的软件?

Posted

技术标签:

【中文标题】Vulkan 是不是适合使用尽可能少的资源的软件?【英文标题】:Is Vulkan suitable for software that uses the least possible resources?Vulkan 是否适合使用尽可能少的资源的软件? 【发布时间】:2021-04-02 13:38:44 【问题描述】:

我正在编写一个状态栏,它应该尽可能少地占用资源,即应该节省电力并且不会从更重要的进程中窃取 cpu-/io-/gpu-time 并将内存使用率保持在可接受的水平。 我希望该栏主要呈现简单的形状、图标、文本,但也应该可以呈现透明效果或彩虹效果。 状态栏始终可见,但大多数时候它不如用户实际查看的内容重要。

问题

Vulkan(或任何其他 gpu-api)是否比软件渲染器更符合我的要求?

注意事项和产生的问题

如果我理解正确,软件渲染器必须将其帧上传到 gpu 才能显示它们。 只需直接使用 gpu 渲染即可消除数据副本。此外,一些渲染技术(例如透明度、模糊)在 gpu 上显然更有效。除了实现简单之外,还有其他原因导致 gui 程序通常更喜欢软件渲染吗?我可以想象,像 Vulkan 这样的 API 主要是为希望从尽可能多的计算机资源中受益的游戏引擎而设计的,可能会在我的用例中产生过多的开销。

【问题讨论】:

【参考方案1】:

我想说“不”。 GPU 通常用于批量处理,而不是用于后台任务。

真正的答案是你必须衡量。而且您必须意识到存在硬件差异,因此即使它对您的 PC 有益,但在其他人的 PC 上可能会很烦人(耗尽电池、产生噪音等)。

【讨论】:

以上是关于Vulkan 是不是适合使用尽可能少的资源的软件?的主要内容,如果未能解决你的问题,请参考以下文章

oc渲染器提示着色器失败

使用尽可能少的资源,模拟挂起的 Web 应用程序的最佳方法是啥?

软件安装 l Sketch46.2

Vulkan相关资源

Vulkan系列教程—VMA教程—资源重叠(Aliasing/OverLap)

Vulkan系列教程—VMA教程—资源重叠(Aliasing/OverLap)