tsukumijima / KonomiTV

KonomiTV: Kept Organized, Notably Optimized, Modern Interface TV media server
MIT License
597 stars 37 forks source link

Windows環境におけるNVEncCのプロセス初期化高速化 #106

Closed rigaya closed 1 week ago

rigaya commented 1 week ago

変更の種類

チェックリスト:

説明

NVEnc 7.70で追加した --disable-dx11 を追加し、NVEnc 7.55以前と同様の初期化速度を実現します。

動機とコンテキスト

NVEncでは7.56からNGXライブラリへの対応のため、Windows環境においてDirectX11(以下DX11)のよるデバイス初期化を追加しました。しかし、この初期化処理がそこそこ時間がかかってしまいます。

現在、NVEncでDX11を必要とするのは、NGXライブラリとlibplaceboライブラリを使用するときです。KonomiTVではいずれも必要ないため、NVEnc 7.70ではDX11初期化をスキップするオプション(--disable-dx11)を追加しました。

これにより、初期化時間を120ms前後削減し、NVIDIA GPUが1枚の環境では従来の280~300ms前後に戻すことができます(@ Win11 + i9 12900K + RTX4080)。(Windowsで初期化処理の遅いQSVEncと異なり、NVEncの初期化処理はWindowsでも高速です)

なお、Linux環境においても--disable-dx11を付与して問題ありません(もともとDX11初期化を行わないので単に無視されます)。

tsukumijima commented 1 week ago

@rigaya ありがとうございます!大変助かります。 マージさせていただきます!

rigaya commented 1 week ago

マージありがとうございました!