Главная страница
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.027 c
2-1133627721
Cerberus
2005-12-03 19:35
2005.12.18
Помогите с ListBox


2-1133718967
Developerr
2005-12-04 20:56
2005.12.18
Форму в нижний правый угол


2-1133336077
julai
2005-11-30 10:34
2005.12.18
DLL


1-1132911148
_dimka
2005-11-25 12:32
2005.12.18
закрытие MDI Форм


8-1121117343
АСК1
2005-07-12 01:29
2005.12.18
pfDevice - это сколько байт на пиксель в TBitMap ?