web-dev-qa-db-ja.com

Windows 10を「ハッキング」して1つのタスクまたはプロセスでCPUパワー全体を使用する方法はありますか?

私はBlenderのようなアプリケーションを使用しており、「タスクマネージャー」と「リソースモニター」によると、ビデオをレンダリングするとき、Windowsは40%未満のCPU(最大で以下のオプションを使用)と30%未満のメモリを使用します。レンダリング中に残りのリソースを他の目的に使用することには興味がありません。 ウィンドウにその全機能を使用するように指示する方法はありますか?

優先度の変更を試しましたが、目立って改善されません。

アフィニティの変更を1つの(コア)CPUに試してみましたが、改善されました(レンダリング速度が2倍になりました)。他の「ハック」を知っている人はいますか?

2
Ignorante

いいえ。Windowsはアプリケーションを制限していません

レンダリングアプリがシングルスレッドのみの場合、1つのCPUを100%しか使用できません。したがって、たとえば、2 CPUマシンでは、50%と表示されます。タスクを複数のスレッドに分割するのはアプリ開発者の責任であるため、Windowsは両方のCPUを使用することはできません。

ただし、入力ビデオの読み取りと出力ビデオの書き込みを待つ必要がある場合もあります...これは40%しか使用していません。

RAMについても同様です。マシンにRAMが不足していないと仮定すると、Windowsは、プロセスが最近参照したのと同じ量のRAMを使用できるようにします。

ビデオレンダリングのコンピューティングバウンド部分を高速化するには、より高速なCPUを購入するか、GPUで一部の作業を実行してアプリがアクセラレーションに使用できるビデオカードを購入します。または、より適切に実装されたマルチスレッドを備えた別のレンダリングアプリを入手してください。

I/Oを高速化するには、入力、出力、および一時ファイルを3つの異なるドライブ(ドライブ文字だけでなく、異なる物理ドライブ)に配置します。入力ファイルは通常最大であり、複数の入力を組み合わせる場合は通常ランダムにアクセスされるため、可能な場合は最速のドライブ(SSD)に配置します。出力ドライブの速度はそれほど重要ではありません。ビデオをレンダリングできる速度は、どのハードドライブにもゆっくりと歩きます。

8
Jamie Hanrahan

ジェイミーが言ったように、シングルスレッドアプリケーションはシングルCPUコアの最大100%しか使用できず、クアッドコアCPUの25%またはデュアルコアCPUの50%以下になります。

使用するプログラムの1つとしてBlenderについて具体的に言及されました。 Blenderは、3Dシーンをレンダリングするときに高度にマルチスレッド化されます。 [パフォーマンス]の下の[レンダリング]パネルで、使用するスレッドの数を増やすことができます。デフォルトでは、コンピューターにあるコアと同じ数のスレッドを使用します。これは通常、最適です。これを変更するのは、レンダリング中に他の目的でコンピューターを使用する必要がある場合のみで、事実上、あなたが求めている状態を引き起こします。

一連の画像をビデオにレンダリングする場合、またはBlenderを使用してビデオを合成する場合、ドライブが必要に応じて各ファイルにアクセスする必要があるため、I/Oボトルネックが発生する可能性があります。

1
user1509130