Ровно через каждые 50-60 миллисекунд все объекты на экране дёргаются в противоположную движению сторону, не дёргается только объект на который направлена камера, если увеличить FPS до 1000 становится видно что при каждом таком подёргивании, на экране снизу вверх идёт перерисовывающая полоса. Что это может быть?
kroonk
> Что это может быть?
Отсутствие вертикальной синхронизации?
alex-r
нет, вертикальная синхронизация включена.
P.S. использую DX9
если ты уверен что у тебя багов нет, то м.б. связано с багами QueryPerformanceCounter
т.е. если используешь - проверь что он возвращает возрастающую последовательность
У меня такое в Старкрафте есть
CD
> QueryPerformanceCounter
Проверил, возвращает возрастающую последовательность.
CD
> багов
Насчёт багов не знаю, но проверил уже почти всё.
Кстати такая проблема только в одном моём проекте, единственное чем в нём камера отличается от других проектов, это то что она всегда направлена на центр, и перемещается не камера а мир относительно неё. Но мне кажется что из-за этого не может возникнуть такой проблемы.
Может быть какие-то погрешности при расчете перемещения?
alex-r
нет, я записывал все перемещения в лог, никаких подёргиваний в координатах, к тому же дёргаются даже статичные объекты при повороте камеры.
kroonk
На видео бы глянуть, а то на словах тяжело представляется, что именно происходит
alex-r
какая-то хрень получается, как только я включаю fraps, этот эффект пропадает.
попробую на камеру записать.
записал, вот:
http://www.youtube.com/watch?v=740KDkqB9JQ&feature=youtu.be
P.S. как использовать видео тег?
kroonk
> увеличить FPS до 1000
kroonk
> вертикальная синхронизация включена.
Aroch
ну естественно для поднятия FPS я её отключал, но по умолчанию она включена.
kroonk
> как только я включаю fraps, этот эффект пропадает
Предлагаю рассмотреть ещё 2 не взаимоисключающих варианта:
1. Координаты объектов где-то округляются, явно или неявно
2. Что-то где-то меняет установки точности/округления FPU прямо в процессе выполнения программы.
kroonk
> использую DX9
Используешь флаг D3DCREATE_FPU_PRESERVE при создании девайса ?
Hybernaculum
> Координаты объектов где-то округляются, явно или неявно
вряд ли, так как глюк происходит при перемещении объекта не в 3D координатах, а в координатах на экране, я не думаю что они могут округляться.
Hybernaculum
> Что-то где-то меняет установки точности/округления FPU прямо в процессе
> выполнения программы
что такое FPU? флаг не использую.
кстати что этот флаг делает и куда его писать?
Тема в архиве.