Вероятно, это приоритет потока или процесса.Visual Studio может запустить ваш процесс с чуть более высоким приоритетом, чтобы убедиться, что отладчик отзывчив.Попробуйте использовать SetPriorityClass () в коде вашего приложения:
SetPriorityClass(GetCurrentProcess(), ABOVE_NORMAL_PRIORITY_CLASS);
Класс «выше нормы» только подталкивает его впереди всего остального с классом «нормальный».Как сказано в документации, не бейте по сверхвысокому приоритету, иначе вы можете испортить системный планировщик.
В приложении, работающем со скоростью 60 кадров в секунду, вы получаете всего 16 мсек, чтобы нарисовать кадр (меньше при 80 кадрах в секунду!) - если это займет больше времени, вы уроните кадр, что может привести к небольшому падению частоты кадров.Если ваше приложение имеет тот же приоритет, что и другие приложения, то, скорее всего, другое приложение может временно украсть процессор для какой-либо задачи, и вы отбросите несколько кадров или, по крайней мере, пропустите окно 16 мс для текущего кадра.Идея в том, чтобы немного повысить приоритет, означает, что Windows возвращается к вашему приложению чаще, поэтому не теряет столько кадров.