1

私は Windows ゲームに取り組んでおり、レンダリング中に一部のコンピューターで断続的な一時停止が発生します (適切な用語がないため「ヒッチ」)。プロファイリングすると、コード内の一見ランダムな場所に表示されます。最終的に、影響を受けたのは自分のプロセスだけでなく、(一見) システム上のすべてのプロセスであることに気付きました。アプリケーションのすべてのスレッドが一度にヒッチします。これらのヒッチの間に CPU 使用率が低下し、ほとんどのプロセスが進行していないように見えます。

これにより、これはオペレーティング システムまたはドライバーの問題であると思われますが、ゲームのプレイ中にのみ発生します (一部のシステムでのみ発生します)。カーネルがすべてのユーザースレッドを一時停止してブロックする必要がある、オペレーティングシステムが実行している可能性のある操作の種類。ある種のI/O?最初はページングを考えましたが、それは単一のプロセスにしか影響しないという印象ですよね?

使用中の一部のシステム: Windows、DirectX (3d)、nVidia カード (ATI でレプリケートするかどうかは不明)、ストリーミングにオーバーラップ io を使用

4

2 に答える 2

1

大量のグラフィックを使用している場合は、グラフィック メモリをスワップ ファイルにページングしている可能性があります。

それとも、ストリームがディスク上でバッファリングされているのでしょうか?

ヒッチが PC のディスク アクティビティ LED と一致するかどうかを確認する価値があります。

于 2011-01-14T14:54:54.267 に答える
1

メモリ マップド IO の多用。これにはもちろんシステムのページファイルが含まれますが、mmio を多用するユーザー アプリケーション (1 つには gcc) も含まれます。

于 2011-06-21T00:49:29.670 に答える