图形 API
中级
**图形 API(Graphics APIs)**负责执行基本的渲染操作。它们在平台可用性上各有不同,并且各有优缺点。
支持的图形 API
Stride 支持以下 API:
Direct3D11
可用平台: Windows
Direct3D 是 Microsoft 开发的图形 API。Stride 对 11 版本的实现最为成熟,这也是它在 Windows 上被用作默认 API 的原因。
Direct3D12
可用平台: Windows
Direct3D 12 版本是该 API 的最新版本。目前,Stride 对它的实现不如对 11 的实现稳定,因此它不是默认选项。
Vulkan
可用平台: Windows、Linux、MacOS、Android、iOS
Vulkan 是一种现代图形 API,能带来出色的性能优势,并可精细控制渲染的执行方式。它在非 Windows 平台上作为默认 API 使用。
更改图形 API
Note
目前所有非 Windows 平台只能使用 Vulkan,因为 Direct3D 是 Windows 独占的。
在 Solution explorer 中选择 Windows 平台包(以
.Windows结尾的那个)。
在 Property grid 中找到名为 Graphics API 的属性,并将其更改为所需值。

更改编辑器 API
Game Studio 的图形 API 与游戏相互独立设置。要更改它,请前往 Edit > Settings > Environment > Graphics API (editor only)。重启编辑器后将使用新的 API。

你也可以通过命令行强制使用特定的 API,方法是传入 --graphics-api ApiNameHere 标志,或将环境变量 STRIDE_GRAPHICS_API 设置为所需值。
在运行时检查 API
你可以通过 GraphicsDevice.Platform 检查项目正在使用哪个 API。
public override void Update()
{
DebugText.Print($"Graphics API: {GraphicsDevice.Platform}", new(50, 50));
}
使用不同 API 构建引擎
从源码构建引擎时,它只包含对你操作系统默认图形 API 的支持。要构建所有 API,请在构建参数中将 StrideGraphicsApiDependentBuildAll 设为 true。
msbuild -p:StrideGraphicsApiDependentBuildAll=true ./build/Stride.slnx
要只构建选定的 API,请将 StrideGraphicsApis 属性设置为所需值。
msbuild -p:StrideGraphicsApis=`"Api1`;Api2`" ./build/Stride.slnx