Вниз
Скачать: CL | DM;

Кадры анимации   Найти похожие ветки 

← →
h8394E   (2006-06-15 03:44) [0]

Доброго времени суток!
Вот, уже где-то 2 недели прошло после того как я начал D3D изучать... И вот, на чём я застрял... Как заставить кадры обновляться Максимум раз в секунду (т.е. если система позволяет - 300 раз, а если - нет, то 5 (ну это примерно))...

Я так понимаю, нужно вывод делать в цикле обработки сообщений (пишу на WinAPI) - где-то перед TranslateMessage(); но тогда если мышкой не двигать, то кадр не обновится... А если свой цикл организовать, то сообщения не будут обрабатываться...


← →
Vasiliy   (2006-06-15 09:33) [1]

Обычно это делается в обработчике таймера.
А уж таймеру какую угодно частоту обновления можно задать.


← →
Sapersky   (2006-06-15 14:37) [2]

Примерно так:

While (not bQuit) do
 If PeekMessage(msg, handle, 0, 0, PM_REMOVE) then begin
   TranslateMessage(msg);
   DispatchMessage(msg);
 end else begin
   // рисовать здесь
 end;

Но "максимум" раз в секунду - это часто не совсем то, что нужно, т.к. на разных машинах всё будет крутиться с разной скоростью.
Чтобы было одинаково, нужно либо выводить по таймеру (если максимальные 20 FPS, которые он может обеспечить, достаточно), либо смотреть, сколько времени заняла последняя отрисовка и в соответствии с этим корректировать величину смещения при анимации.


← →
h8394E   (2006-06-15 17:29) [3]

Ну, вот как раз 2й случай мне больше подходит... (я на WinAPI пишу, поэтому мне стандартный таймер недоступен)... Причём, так я и писал, мне нужны не постоянные FPS, а переменные...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
2-1168556318
Wind
2007-01-12 01:58
2007.02.11
Создание *.xls отчета.


15-1169457949
vitv
2007-01-22 12:25
2007.02.11
Сервер на Linux или Win2003


2-1169557027
KyRo
2007-01-23 15:57
2007.02.11
Как отловить что виндовс завершает работу


15-1169130890
Stanislav
2007-01-18 17:34
2007.02.11
Кто настраивал GPS/GPRS трекеры?


15-1169118389
Ксардас
2007-01-18 14:06
2007.02.11
подскажите плз сервер




   Наверх