Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: 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 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




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


1-1166520492
VID
2006-12-19 12:28
2007.02.11
Я что-то не понял с этим XML...


15-1169319302
Desdechado
2007-01-20 21:55
2007.02.11
Кто играл в Fallout 2 - пара вопросов


2-1169654886
NightRain
2007-01-24 19:08
2007.02.11
Как найти большее значение в двухмерном массиве?


2-1169715577
user51
2007-01-25 11:59
2007.02.11
путь е екзешнику по окну