Cubase9にもなってハイパースレッディング問題で消耗した話

f:id:singingreed:20180916145747j:plain

※当記事は、一部の方のみに役立つような備忘録的な内容となっています。

トラブルの概要

先日PCを新調した。Core i7、6コア12スレッドの高性能なマシンだ。OSもWindows7からWindows10にアップグレードした。これで制作も捗るはず!と思っていたところ、Cubaseで制作している最中になぜかプチる。

※プチる:音飛びや、「プチッ」とうノイズが発生すること

Ivoryでピアノを弾いていたりすると、プチノイズが発生するのだ。また、曲の再生中に音飛びが発生することもある。

Cubaseはテンプレートを起動した瞬間の状態なので、プラグインもソフトシンセもそれほど立ち上げていない。そもそも前のPCでは問題なく使えていたプロジェクトファイルだ。

インターフェイスは長年愛用しているRMEのFireface。この上ない安定性を誇るオーディオインターフェイスだ。バッファサイズは以前と同じ128sample。レイテンシーを詰め過ぎということはないはず。それに、CPU負荷はまだ20~30%程度。この程度の負荷でプチるのは何かがおかしい。

他にも、Windowsのタスクマネージャーを開いた瞬間に、高確率でプチるという症状がある。やはり何かがおかしい。

対策したこと

NIのサイトで公開されているオーディオ処理のためのWindows最適化のTipsなども参考にしつつ、以下の対策を行った。しかしどれも効果がなかった。

  • Windows 10の省電力設定の解除(←これはもともとやってた)
  • UEFI (BIOS) の省電力設定の解除(「高パフォーマンスモード」に変更)
  • 「マルチプロセッシングを有効化」のオン/オフ切り替え(Cubase設定)
  • ASIO-Guardのオン/オフ切り替え(Cubase設定)
  • Steinberg Audio Power Schemeのオン/オフ切り替え(Cubase設定)
  • オーディオインターフェイスを接続するUSBポートの変更(PCIeのインターフェイスカードのUSB端子に変更)
  • ビデオカード(NVIDIA製)のドライバを更新
  • LatencyMonで高い数値を出したドライバの無効化

原因究明へ

おとなしくバッファサイズを512くらいまで上げて使おうか。それともレイテンシーを詰めやすいThunderboltやPCIタイプのインターフェイスに買い換えようか。こんなことを考え始めるくらいには、解決を諦めかけていた頃だった。

ふと、昔のCubaseではハイパースレッディング(以下HT)を無効にすることが推奨されていたのを思い出す。

よって Steinberg では、パフォーマンスに問題が発生したときにはHyper-Threading (HT) を無効にすることを推奨してきました。Cubase 6.x、および Nuendo 5.x 以前のバージョンでは、今後も引き続き HT 無効化を推奨します。

Hyper-Threading について | Steinberg

とはいえASIO-Guardが搭載されてずいぶん経つし、現在のCubase9においては、「HT無効」が公式に推奨されているわけではない。どうせ意味ないだろう……そう思いながらも、一縷の望みを託し、BIOSを開いてHyper Threadingを無効に設定。

さっそくCubaseを立ち上げて検証。タスクマネージャーを開く。プチノイズは鳴らない。ウィンドウを閉じて、再度タスクマネージャーを開く。何度試しても、やはりプチらない。

その後、実際にCubaseで作業を進めた。以前と同じバッファサイズの128sampleで制作を続ける。やはりプチノイズは発生しない。そのまま丸一日Cubaseで制作を行ったけど、一度もプチることはなかった。

というわけで、原因は「ハイパースレッディングを有効にしていたこと」でした。CPUが6コア12スレッドに増えた関係で、今まで落ち着いていたはずのHT問題が表面化したのだろうか。そんなことは知るよしもないが、とにかく自分の環境では、HTを無効にすることで安定動作が可能となった。

RME Fireface UFX II