Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.042 c
2-1169833568
*Ray*
2007-01-26 20:46
2007.02.11
Модификация данных в базе данных


2-1169861040
Pipety
2007-01-27 04:24
2007.02.11
В чем ошибка?


4-1159281510
wp2
2006-09-26 18:38
2007.02.11
Поможите кто может... wsprintf(...)


2-1169708131
Сергей С.
2007-01-25 09:55
2007.02.11
File not found *.dcu


4-1159770751
Samurai Kruche chem Jakudza
2006-10-02 10:32
2007.02.11
EnumProcesses





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский