Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.025 c
2-1133196046
Дмитрий_05
2005-11-28 19:40
2005.12.18
Диномическое создать и убить форму.


14-1132829394
Урий
2005-11-24 13:49
2005.12.18
Quake 4


14-1132506308
Pazitron_Brain
2005-11-20 20:05
2005.12.18
Нужно поговорить с врачом.


14-1132627955
Рсдрп
2005-11-22 05:52
2005.12.18
Как проще откомпилировать программу на Си++?


2-1133627721
Cerberus
2005-12-03 19:35
2005.12.18
Помогите с ListBox




   Наверх