Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.16;
Скачать: CL | DM;

Вниз

Таймер   Найти похожие ветки 

 
Дима   (2009-06-18 15:40) [0]

Как  правильно сделать таймер  на  API?
Я делаю  так

procedure glDraw();
///////////////////////////////////////////////////////////////////////

   TGT0:=timeGetTime- startTime0;
           delta0:= tgt0/10*1;
   if delta0 >1 then begin
     modeltimer[0]:=modeltimer[0]+1;
      delta0:=0;
   startTime0:=timeGetTime();
   end;

end;

Но в таком таймере переменная modeltimer[0]
увеличивается очень медленно, а мне нужно
быстрее.


 
Сергей М. ©   (2009-06-18 16:00) [1]

Какой период "тиканья" требуется получить ?


 
Дима   (2009-06-18 16:09) [2]

Ну мне неважно какой период.
Нужно только чтоб переменная modeltimer[0]
увеличивалась или уменьшалась на 1
быстрее.


 
Сергей М. ©   (2009-06-18 16:14) [3]


> мне неважно какой период


Очуметь)

Т.е., тебе, к примеру, фиолетово с какой скоростью крутится секундная стрелка твоих часов, отсчитывая "секунды" ?
Главное чтобы крутилась и желательно побыстрей ?)

Тогда с какого боку тут объявились функции мультимедиа-таймера ?


> Нужно только чтоб переменная modeltimer[0]
> увеличивалась или уменьшалась на 1
> быстрее.


Тогда убери всю эту лабуду, оставь только одну строчку

modeltimer[0]:=modeltimer[0]+1;

Быстрее уж некуда)


 
Дима   (2009-06-18 16:26) [4]

Тогда на другом компе, у которого процессор
лучше сложение будет очень быстрым и модель
будет вращаться как сумашедшая.


 
Сергей М. ©   (2009-06-18 16:53) [5]

Так я ж тебя и спрашиваю - какой конкретно период требуется обеспечить ?
От этого и решение зависит)..

Для классической киношной анимации, если о ней идет речь, достаточно 24 кадра в секунду, т.е. период = 1/24 сек

Тебя устраивает такая цифирь ?


 
Дима   (2009-06-18 17:05) [6]

Да.


 
Сергей М. ©   (2009-06-18 17:27) [7]

Тебе процедуру типа delay что ли нужно следать, которая задерживала выполнениа программы на 1/24 секунды ?


 
Б   (2009-06-18 17:36) [8]

> delta0:= tgt0/10*1;
Зачем домножаешь на единицу?
Хочешь быстрее - бери знаменатель помешьше... ;)


 
Дима   (2009-06-18 19:46) [9]

Я уменшал  delta и tgt но скорость тиканья не сильно уменьшается.
Похоже, что изменить скорость монжно, только
поменяв modeltimer[0]:=modeltimer[0]+1;  на

modeltimer[0]:=modeltimer[0]+5;


 
Сергей М. ©   (2009-06-18 20:52) [10]

Никаким "тиканьем" в твоей процедуре даже не пахнет, хоть миллион к modeltimer[0] прибавь.

На вопрос в [7] соизволишь ответить ?


 
Дима   (2009-06-18 22:09) [11]

Про задержку?
Зачем мне задерживать программу? у меня
простая игра на opengl.


 
Б   (2009-06-18 22:32) [12]

Вообще из твоего кода ничего не понятно. "Што... Пашто..."
Код в студию.


 
Дима   (2009-06-18 22:46) [13]

Я раньше думал, что ето таймер.
Теперь сам не знаю , что ето.


 
Б   (2009-06-18 23:15) [14]

Вылаживай код.
А то этот "кусок" ни о чём не говорит.


 
Дима   (2009-06-19 00:31) [15]

init
startTime0:=timeGetTime();
delta0:=0;
modeltimer[0]:=0;
...........................

procedure glDraw();

  TGT0:=timeGetTime- startTime0;
          delta0:= tgt0/10*1;
  if delta0 >1 then begin
    modeltimer[0]:=modeltimer[0]+1;
     delta0:=0;
  startTime0:=timeGetTime();
  end;

end;

весь код.  переменная modeltimer[0] увеличивается
через одинаковые промежутки времени со скоростью tgt0/10*1


 
Сергей М. ©   (2009-06-19 08:42) [16]

А где и как вызывается glDraw() ?


 
Дима   (2009-06-19 22:34) [17]

А функцию SetTimer(h_Wnd, 1, 1000, nil) как использовать?

Например, я нажимаю кнопку "вверх"  включается таймер
и нужно отсчитать 1(2,3,4) секунды.


 
Сергей М. ©   (2009-06-22 17:42) [18]

На вопрос [16] соизволишь ответить ?



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

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

Наверх




Память: 0.5 MB
Время: 0.024 c
15-1245249210
Rouse_
2009-06-17 18:33
2009.08.16
Есть кто знающий хорошо РНР?


11-1205403546
DJ_UZer
2008-03-13 13:19
2009.08.16
Перевод из инт в стр


4-1214295759
Sashahttp
2008-06-24 12:22
2009.08.16
Определить "Код экземпляра устройства" (CD-ROM)


2-1245399017
Б
2009-06-19 12:10
2009.08.16
Скорость алгоритма.


15-1245161138
@!!ex
2009-06-16 18:05
2009.08.16
Консолька роняет прилоэение на выходе.