Re[4]: График ползущий по экрану - Дополнение
От: Dimonka Верблюд  
Дата: 20.11.03 12:58
Оценка:
Здравствуйте, Bravot, Вы писали:

B>Здравствуйте, Dimonka, Вы писали:


D>>Здравствуйте, Bravot, Вы писали:


B>>>Забыл сказать, что точка справа должна плавно стать точкой слева за 4 секунды.

B>>>На глаз, чтобы небыло дерганья от неравномерной скоторости надо двигать все с синхронно с
B>>>вертикальной разверткой.

D>>Попробуй воспользоваться DirectDraw

D>>тогда сможешь нормально привязаться к развёртке.
D>>Ещё вопрос, что у тебя за линии на заднем фоне? Может их как картинку копировать в буффер, а затем по картинке рисовать линии, буффер выкидывать на экран?
B>Сзади рисуется сетка миллиметровая и текстовая информация о характеристики кривой.

B>Да, насчет DirectDraw нашел интересную штуку — если поставить

B>
B>g_lpdd->WaitForVerticalBlank(DDWAITVB_BLOCKEND    , NULL);
B>

B>то нагрузка на CPU возрастает процентов на 50-60%.

Естественно, что теряется производительность при ожидании обратного хода луча.
Обычно для "реального времени" в игрушках делают три экрана:
шаг первый:
первый экран смотрит пользователь,
второй экран нарисован и ожидает обратного хода луча,
третий экран рисуется в потоке.
шаг второй:
второй экран цмотрит пользователь,
третий экран нарисован и ждёт обратного хода луча,
первый экран рисуется в потоке.
итд

Но если сетка тоже ползёт, то лучше скроллировать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.