Главная страница
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.06 c
1-1132553257
dreamse
2005-11-21 09:07
2005.12.18
Как в DBChart выводить значения времени ?


4-1129262049
Wood
2005-10-14 07:54
2005.12.18
звук модема на звуковую карту


1-1132148032
STRINGGRID
2005-11-16 16:33
2005.12.18
setka StringGrida


14-1132262245
Kerk
2005-11-18 00:17
2005.12.18
kladovka + delphibase


3-1130820858
Карелин Артем
2005-11-01 07:54
2005.12.18
Сколько _Recordset возвращает запрос в ADO?