Я работаю над игрой для Windows, и во время рендеринга некоторые компьютеры будут испытывать периодические паузы («заминки» из-за отсутствия лучшего термина). При профилировании они появляются в, казалось бы, случайных местах в коде. В конце концов я заметил, что это затронуло не только мой процесс, но (казалось бы) каждый процесс в системе. Все потоки в моем приложении зацепляются сразу. Загрузка ЦП уменьшается во время этих заминок, и кажется, что большинство процессов не прогрессируют.
Это наводит меня на мысль, что это может быть проблема операционной системы или драйвера, но она возникает только во время игры (и только в некоторых системах). Какие операции может выполнять операционная система, чтобы ядро приостановило все пользовательские потоки и заблокировало их. Какой-то ввод / вывод? Сначала я думал о пейджинге, но у меня сложилось впечатление, что это повлияет только на один процесс, не так ли?
Некоторые используемые системы: карты Windows, DirectX (3d), nVidia (неизвестно, если реплицируется на ATI), использование перекрывающегося ввода-вывода для потоковой передачи