首页 > 解决方案 > Vulkan 是否适合使用尽可能少的资源的软件?

问题描述

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

问题

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

考虑和产生的问题

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

标签: performancegraphicsdrawingvulkanpower-saving

解决方案


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

真正的答案是你必须衡量。而且您必须意识到存在硬件差异,因此即使它对您的 PC 有益,它也可能在其他人的 PC 上令人讨厌(耗尽电池,引起噪音等)。


推荐阅读