今天也被這個問題困擾了,原因是Windows的mstsc連接方式默認不走顯卡輸出,你會發現OpenGL的版本始終是爲1.1.0版本。
遠程桌面並不是不能用 GPU,也不是不能輸出遊戲畫面,只是很多遊戲用當前輸出的 display 識別顯卡(如圖所示),在遠程
桌面裏就會沒法識別獨顯。
想想硬件加速的原理就知道爲什麼了。。。
硬件加速就是程序直接寫數據到顯卡的顯存裏面來加快顯示速度的,不再通過系統本身。
由於Win10自帶的遠程桌面可能就是無法實現,所以只好去尋找第三方的解決方案,如TeamViewer、AnyDesk、向日葵等等。
嘗試使用了VNC軟件,不推薦,嚴重的圖像問題,肉眼可見的圖像破裂,並且這已經是Ultra模式了。
但是正如V2EX上提到的像騰訊雲的 GPU 主機使用遠程桌面時可以做 CUDA 運算,理論上是可以使用GPU的。
正解是RemoteFX。
RemoteFX可以將GPU虛擬化提供給每一個虛擬桌面,也就是說每個虛擬機都可以獲得獨立的虛擬GPU,從而可以獲得各種各樣的圖形加速能力,進而執行各種高保真視頻、2D、3D圖形圖像以及富媒體的處理能力。
據說Win10現在是支持RemoteFX的,虛擬桌面在Win10上面跑N卡應該是沒問題的:
打開RemoteFX方法參考
RDP只有在遠程主機爲 hyper-v 虛擬機且添加了 RemoteFX 顯卡的情況下才能調用 Direct3D 加速。
有打遊戲的需求的話,
目前最佳解決方案還是MoonLight。
GitHub上面有源碼。
參考資料:
[2] 遠程桌面問題開啓硬件加速問題
[3] 遠程桌面打遊戲的問題
[5] 現在win10 1809遠程桌面支持n卡3d加速了?刺客信條
[6] 百度百科——RemoteFX