根据this Khronos presentation ,“演示引擎”是:
The platform’s compositor or display engine
根据specs :
The presentation engine is an abstraction for the platform’s compositor or display engine.
The presentation engine may be synchronous or asynchronous with respect to the application and/or logical device.
Some implementations may use the device’s graphics queue or dedicated presentation hardware to perform presentation.
这两个来源都表明,在大多数情况下,表示引擎是平台的软件实体(“抽象”)(它本身就是一个软件层:OS+window 系统)。
谷歌搜索“窗口合成器显示引擎”为我提供了这个维基百科结果,这似乎相关:https://en.wikipedia.org/wiki/Compositing_window_manager
那基本上是关于“演示引擎”的文章吗?例如,对于 Windows,表示引擎可以是 Desktop Windows Manager,对于 GNU/Linux 系统,它可以是 Compiz,等等?还是“演示引擎”是合成管理器和其他一些东西的组合?
最佳答案
Vulkan 中的演示引擎是一个外部组件,它管理和接受您在 Vulkan 中制作的渲染图像(大概),以便向用户演示。
从另一个 POV,它是界面给你的任何东西。这是vkAcquireNextImageKHR
, vkQueuePresentKHR
等,在 VK_KHR_swapchain
的情况下延期。可以进行其他扩展,因为出现了根本不同的表示引擎(例如 VK_KHR_display_swapchain
)。VK_KHR_swapchain
, 需要 VK_KHR_surface
,专门用于 VK_KHR_win32_surface
, VK_KHR_xlib_surface
等等。所以你可以打赌那些是驱动程序在下面交谈的 API。 IE。它与 Win32 API(又名 Windows API)对话,可能与 GDI 组件(但可能与 DXGI 交换链)对话。在 Linux 上 + VK_KHR_xlib_surface
,它将与 X 服务器对话。等等......这不可避免地必须落入窗口管理器(如 DWM 或 Compiz)的手中。
关于definition - Vulkan 术语中的 "presentation engine"到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51451808/