Когда я заставляю свою программу использовать только 0-2% процессора (удалены некоторые функции opengl, интенсивно использующие процессор), мои координаты мыши начинают отставать! и когда я использую 100% ЦП (при включении функции opengl), я получаю хорошие и плавные координаты мыши, обратите внимание, что функция opengl ничего не делает с моими координатами мыши. посмотрите на изображение ниже, я записал свои значения функции вращения, используя координаты мыши:
Это при 100% загрузке процессора (как должно выглядеть): http://img15.imageshack.us/img15/1304/mousecursorsmoothcoords.png
-
Это при загрузке процессора на 2%: http://img5.imageshack.us/img5/5514/mousecursorlaggedcoords.png
Это действительно раздражающая проблема, потому что я использую положение курсора мыши для изменения угла поворота, и в случае с приведенным выше изображением это выглядит очень запаздывающим вращением.
Я мог бы сделать собственную интерполяцию или что-то в этом роде, но я хочу знать, что вызывает это и как это исправить.
Я получаю координаты мыши с сообщением WM_MOUSEMOVE, и я также пытался использовать GetCursorPos() в каждом кадре до моего кода поворота, но это не имеет никакого значения.
Редактировать: я заметил, что загрузка ЦП не обязательно должна быть 100%, чтобы добиться плавной работы, но ЦП просто нужно «разбудить», и тогда он останется гладким даже при низкой загрузке ЦП.