我正在写一个状态栏,它应该占用尽可能少的资源,即应该节省电力,并且不会从更重要的进程中窃取cpu-/io-/gpu-时间,并将内存使用率保持在可接受的水平。我期望该栏主要渲染简单的形状,图标,文本,但也透明效果或彩虹效果应该是可能的。状态栏总是可见的,但在大多数情况下,它并不像用户实际看到的那样重要。
问题是
Vulkan (或任何其他gpu-api)是否比软件渲染器更适合我的需求?
考虑因素和由此产生的问题
如果我理解正确的话,软件渲染器必须将其帧上传到gpu才能显示它们。只需使用gpu直接渲染,就可以消除数据复制。此外,一些渲染技术(例如透明度、模糊)在gpu上显然更有效。除了实现的简单性之外,是否还有其他原因使得gui程序通常更喜欢软件渲染?我可以想象,像Vulkan这样的API主要是为希望从尽可能多的计算机资源中获益的游戏引擎而设计的,在我的用例中可能会产生太多的开销。
发布于 2020-12-26 01:48:25
我想说“不”。GPU通常用于批量处理,而不是用于后台任务。
真正的答案是你必须衡量。你必须意识到存在硬件差异,所以即使它在你的PC上是有益的,但在其他人的PC上可能会很烦人(耗尽电池,引起噪音等)。
https://stackoverflow.com/questions/65432611
复制相似问题