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

Вниз

Как сделать точный таймер?   Найти похожие ветки 

 
Иггорь   (2005-07-24 00:28) [0]

В PowerDraw юзается QueryPerformanceCounter, но на некоторых машинах это не работает, и при больших FPS игра летает! Скажите, какие еще есть способы!


 
MeF Dei Corvi ©   (2005-07-24 01:14) [1]

1) Комп, на котором такая функция не работает надо ещё поискать. Я, например, такой рока не видел.
2) Логично, что при больших FPS игра будет летать.
3) Для того, чтобы на всех компах игра шла одинаково, следует в зависимости от значений этой ф-ии получить некий коэффициент - и все значения, ответственные за движение/вращение и пр... умножать на этот коэффициент.
4) Вопрос сформулирован некорректно. Заголовок тоже.


 
П7   (2005-07-24 01:25) [2]

Что есть таймер, по вашему? (:


 
П7   (2005-07-24 01:25) [3]

А, и ещё...
Что есть точность, по вашему? (:


 
ViK ©   (2005-07-24 08:34) [4]

function GetTime(): double;
var
 freq, start: LARGE_INTEGER;
 error: boolean;
begin

 error:=not QueryPerformanceFrequency(@freq);
 if (error) then
 begin
   result:=GetTickCount()/1000;
 end
 else
 begin
   QueryPerformanceCounter(@start);
   result:=start.QuadPart/freq.QuadPart;
 end;
end;

Функция должна возвращать количество секунд прошедшее с момента запуска винды. Далее делаешь вечный цикл
while (true) do begin
 t2:=t1;
 t1:=GetTime();
 //Прорисовка  
end;
А передвижение устраеваешь так:
 Unit.Move(Step*(t2-t1));
где (t2-t1) и есть тот коэфициент о котором говорил MeF Dei Corvi.


 
Ландграф Павел ©   (2005-07-24 14:21) [5]

Есто ты утверждаешь что стандартный таймер в PowerDraw для этого не подходит!? ты в курсе что там один для рендера, другой для обработки прочей лабуды, и если fps в рендере будут 60, то они будут 60 на любой машине... абсолютно на любой, меньше будут, а больше нет!


 
Ландграф Павел ©   (2005-07-24 14:23) [6]

а про неработу QueryPerformanceCounter фигня какая-то... непредставляю что это за машина такая где это не будет работать... =)


 
NailMan ©   (2005-07-25 10:01) [7]

http://nailman.cyborghome.ru/ut_article2_4.htm

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


 
XProger ©   (2005-07-25 11:56) [8]

http://xproger.mirg.ru/files/XSource_src.zip
XSource.dpr, читай и радуйся! :D



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
5-1116963546
w666w
2005-05-24 23:39
2005.12.18
Как в TListItem отрисовать TSpinEdit?


4-1128742619
Sergey7
2005-10-08 07:36
2005.12.18
Обработка сообщений, когда программа в трэе


14-1132742976
Digitman
2005-11-23 13:49
2005.12.18
USB <-> MIDI


14-1132752158
Gamer
2005-11-23 16:22
2005.12.18
Помогите выбрать RPG


4-1129313089
Zoom
2005-10-14 22:04
2005.12.18
Как прочитать блок памяти...