What sort of things can cause a whole system to appear to hang for 100s-1000s of milliseconds?

Posted by Ogapo on Game Development See other posts from Game Development or by Ogapo
Published on 2011-01-14T18:15:42Z Indexed on 2011/01/14 20:59 UTC
Read the original article Hit count: 193

I am working on a Windows game and while rendering, some computers will experience intermittent pauses ("hitches" for lack of a better term). When profiled they appear in seemingly random places in the code. Eventually I noticed that it wasn't just my process that was affected, but (seemingly) every process on the system. All of the threads in my application hitch at once. The CPU utilization drops during these hitches and it appears as if most processes make no progress.

This leads me to believe this may be an Operating System or Driver issue, but it only occurs while playing the game (and only on some systems). What sort of operations might the operating system be doing that would require the kernel to pause all user threads and block. Some kind of I/O? At first I thought of paging but my impression is that would only affect a single process, no?

Some systems in use: Windows, DirectX (3d), nVidia cards (unknown if replicates on ATI), using overlapped io for streaming

© Game Development or respective owner

What sort of things can cause a whole system to appear to hang for 100s-1000s of milliseconds?

Posted by Ogapo on Super User See other posts from Super User or by Ogapo
Published on 2011-01-14T18:15:42Z Indexed on 2011/01/14 18:55 UTC
Read the original article Hit count: 193

I am working on a Windows game and while rendering, some computers will experience intermittent pauses ("hitches" for lack of a better term). When profiled they appear in seemingly random places in the code. Eventually I noticed that it wasn't just my process that was affected, but (seemingly) every process on the system. All of the threads in my application hitch at once. The CPU utilization drops during these hitches and it appears as if most processes make no progress.

This leads me to believe this may be an Operating System or Driver issue, but it only occurs while playing the game (and only on some systems). What sort of operations might the operating system be doing that would require the kernel to pause all user threads and block. Some kind of I/O? At first I thought of paging but my impression is that would only affect a single process, no?

Some systems in use: Windows, DirectX (3d), nVidia cards (unknown if replicates on ATI), using overlapped io for streaming

© Super User or respective owner

Related posts about operating-systems

Related posts about paging