我想在 Azure VM 上运行使用 Unity3D(游戏引擎)开发的环境模拟。该模拟包含一些光线追踪和着色器计算,需要 Nvidia 显卡。它被编译为 Windows 可执行文件并在我的本地计算机上运行...
目前,我对 SKU 进行了一些测试:“Standard_NC4as_T4_v3”和“Standard_NC6s_v3”。 GPU 驱动程序已安装 (https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/hpccompute-gpu-windows)
对于这两个 SKU,我的应用程序都崩溃了。这是日志文件的输出:
Mono path[0] = 'C:/App/Build/*_Data/Managed'
Mono config path = 'C:/App/Build/MonoBleedingEdge/etc'
Initialize engine version: 2022.2.1f1 (4fead5835099)
[Subsystems] Discovering subsystems at path C:/App/Build/*_Data/UnitySubsystems
GfxDevice: creating device client; threaded=0; jobified=0
d3d12: loaded!
Direct3D:
Version: Direct3D 12 [level 12.1]
Renderer: Microsoft Basic Render Driver (ID=0x8c)
Vendor: Microsoft
VRAM: 14335 MB
App VRAM Budget: 12902 MB
Unified Memory Architecture
Cache Coherent UMA
FMOD initialized on nosound output
Begin MonoManager ReloadAssembly
- Loaded All Assemblies, in 4.962 seconds
- Finished resetting the current domain, in 0.002 seconds
Dedicated video D3D11 device creation failed (error: 0x887a0004). This device is used specifically for video decoding, we will use software video decoding instead.
UnloadTime: 0.949400 ms
D3D12Fence::Wait(9) error: got 8. Possible device removal.
Crash!!!
SymInit: Symbol-SearchPath: '.;C:\App\Build;C:\App\Build;C:\Windows;C:\Windows\system32;', symOptions: 534, UserName: 'adminuser'
OS-Version: 10.0.0
我很惊讶在这里读到渲染器是“Microsoft Basic Render Driver”。设备管理器正确获取 GPU:
让我有点困惑的是,Nvidia 控制面板不允许我控制任何东西。在这里我希望看到更多关于 GPU 的控制选项:
操作系统:
source_image_reference {
publisher = "MicrosoftWindowsServer"
offer = "WindowsServer"
sku = "2019-Datacenter"
version = "latest"
}
我错过了什么?为什么我的应用程序总是崩溃?
好吧,我想这是关于我使用的 SKU 的问题。
应启用 GPU 加速:https://learn.microsoft.com/en-us/azure/virtual-desktop/enable-gpu-acceleration
有些 SKU 的 GPU 仅用于 AI 目的。这些 Nvidia GPU 只能在 TCC 模式下运行。为了渲染图形,我需要 WDDM 模式。对于某些SKU,此模式是可以切换的(到目前为止,我认为我所在的地区没有这些可切换的SKU?)。
对我来说,这个问题可以通过使用 SKU 来解决:Standard_NV6ads_A10_v5
如果其他人对此有疑问,请观看此 Youtube 视频:https://www.youtube.com/watch?v=IiRyc26_lds