1

私はWindowsゲームで作業していますが、レンダリング中は、一部のコンピュータで断続的な一時停止が発生します(より良い用語が不足しているため「ヒッチ」になります)。プロファイリングされると、コード内の一見無作為な場所に現れます。最終的に私は影響を受けたのは私のプロセスだけではなく、システム上のすべてのプロセス(見かけ上)であることに気づいた。私のアプリケーション内のすべてのスレッドはすぐにヒッチします。これらのヒッチ中にCPU使用率が低下し、ほとんどのプロセスが進捗しないかのように見えます。システム全体が100〜1000秒間ハングしているように見える原因は何ですか?

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

使用中のいくつかのシステム:Windowsの、のDirectX(3D)、nVidiaカード(ATIの場合、未知の反復)、使用中のグラフィックスの多くを持っている場合、それはグラフィックスをページングすることができる

+2

プログラミング関連ではありません。 superuser.com –

答えて

1

をストリーミングするためにオーバーラップIOを使用してメモリをスワップファイルに追加します。

ストリームがディスクにバッファリングされている可能性がありますか?

ヒッチがPCのディスクアクティビティLEDと一致するかどうかは分かります。

1

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

関連する問題