NVIDIA 的 Smooth Motion 原本是 RTX 50 系列、後來再擴大到 RTX 40 系列才能使用的功能,不過現在 RTX 30 系列也有人把它硬解出來了。開發者 Adeline 推出的 NVSmooth30,是一個目前仍處於 Alpha 階段的實驗性相容性模組,目標就是讓使用 Ampere 架構的 RTX 30 也能啟用 Smooth Motion。
Smooth Motion 是 NVIDIA 放在驅動層的 AI 補幀功能,和需要遊戲支援 NVIDIA SDK 的 DLSS Frame Generation 不太一樣,它不要求遊戲本身整合 NVIDIA 的幀生成技術,而是在支援的遊戲中,利用額外生成的畫面插入原本渲染的幀之間。
NVSmooth30 的做法比較直接,修改 NVIDIA 的 NvPresent64.dll 執行行為,繞過原本限制 Smooth Motion 在 Ampere GPU 上啟動的架構與能力檢查。同時,它還會攔截 CUDA 模組載入流程,把原本針對 Ada Lovelace,也就是 SM89 編譯的 GPU 程式碼重新指向 Ampere 的 SM86。
開發者表示,NVSmooth30 並沒有重新散布 NVIDIA 的專有二進位檔,而是直接使用使用者目前安裝的 NVIDIA 驅動所提供的 NvPresent64.dll。
最早的展示是在 RTX 3050 Laptop GPU 上完成,不過後來已經有其他 RTX 30 系列玩家回報成功。Reddit 上有玩家表示 RTX 3070 可以在《天國降臨:救贖II》中使用 Smooth Motion,另一名 RTX 3080 使用者則表示,同一款遊戲開啟功能後,畫面顯示幀率大約從 65 FPS 提升到 130 FPS。
NVSmooth30 目前還不只是在處理 GPU 架構檢查。Adeline 同時在實驗一套 Direct3D 11 到 Direct3D 12 的 presentation bridge,讓 NVIDIA 的 presentation layer 能在舊有 D3D11 遊戲中包裝相容的 D3D12 swap chain。如果這部分成熟,未來能支援的遊戲範圍可能會再擴大。
安裝方式也不算複雜,將 NVSmooth30 提供的 version.dll proxy 放到遊戲執行檔旁,再透過 NVIDIA Profile Inspector 對指定遊戲啟用 Smooth Motion 即可。不過 NVIDIA 更新顯示卡驅動後,可能需要重新啟用設定。
當然,這東西目前還遠遠稱不上 RTX 30 全面支援 Smooth Motion。NVSmooth30 仍是 Alpha 階段的實驗專案,不同遊戲、不同驅動版本以及不同 RTX 30 型號都可能遇到相容性問題。NVIDIA 後續更新驅動也可能直接讓這套方法失效。
開發者也不建議拿去競技遊戲或有反作弊系統的遊戲使用,畢竟這類 DLL proxy、presentation layer 修改都有可能和遊戲本身發生衝突。當機、畫面錯亂甚至黑畫面都屬於目前可能遇到的問題。
NVSmooth30 Github 連結
github.com
來源
Smooth Motion 是 NVIDIA 放在驅動層的 AI 補幀功能,和需要遊戲支援 NVIDIA SDK 的 DLSS Frame Generation 不太一樣,它不要求遊戲本身整合 NVIDIA 的幀生成技術,而是在支援的遊戲中,利用額外生成的畫面插入原本渲染的幀之間。
NVSmooth30 的做法比較直接,修改 NVIDIA 的 NvPresent64.dll 執行行為,繞過原本限制 Smooth Motion 在 Ampere GPU 上啟動的架構與能力檢查。同時,它還會攔截 CUDA 模組載入流程,把原本針對 Ada Lovelace,也就是 SM89 編譯的 GPU 程式碼重新指向 Ampere 的 SM86。
開發者表示,NVSmooth30 並沒有重新散布 NVIDIA 的專有二進位檔,而是直接使用使用者目前安裝的 NVIDIA 驅動所提供的 NvPresent64.dll。
最早的展示是在 RTX 3050 Laptop GPU 上完成,不過後來已經有其他 RTX 30 系列玩家回報成功。Reddit 上有玩家表示 RTX 3070 可以在《天國降臨:救贖II》中使用 Smooth Motion,另一名 RTX 3080 使用者則表示,同一款遊戲開啟功能後,畫面顯示幀率大約從 65 FPS 提升到 130 FPS。
NVSmooth30 目前還不只是在處理 GPU 架構檢查。Adeline 同時在實驗一套 Direct3D 11 到 Direct3D 12 的 presentation bridge,讓 NVIDIA 的 presentation layer 能在舊有 D3D11 遊戲中包裝相容的 D3D12 swap chain。如果這部分成熟,未來能支援的遊戲範圍可能會再擴大。
安裝方式也不算複雜,將 NVSmooth30 提供的 version.dll proxy 放到遊戲執行檔旁,再透過 NVIDIA Profile Inspector 對指定遊戲啟用 Smooth Motion 即可。不過 NVIDIA 更新顯示卡驅動後,可能需要重新啟用設定。
當然,這東西目前還遠遠稱不上 RTX 30 全面支援 Smooth Motion。NVSmooth30 仍是 Alpha 階段的實驗專案,不同遊戲、不同驅動版本以及不同 RTX 30 型號都可能遇到相容性問題。NVIDIA 後續更新驅動也可能直接讓這套方法失效。
開發者也不建議拿去競技遊戲或有反作弊系統的遊戲使用,畢竟這類 DLL proxy、presentation layer 修改都有可能和遊戲本身發生衝突。當機、畫面錯亂甚至黑畫面都屬於目前可能遇到的問題。
NVSmooth30 Github 連結
GitHub - ItsAdeline/NVSmooth30
Contribute to ItsAdeline/NVSmooth30 development by creating an account on GitHub.
來源
