Вниз
Скачать: 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.028 c
2-1133467887
sedot
2005-12-01 23:11
2005.12.18
Работа с текстовыми файлами


3-1130765115
Ega23
2005-10-31 16:25
2005.12.18
Почему при обновлении ClientDataSet


14-1132823910
ОноТебеНадо
2005-11-24 12:18
2005.12.18
Покупка программы


14-1132988411
Карелин Артем
2005-11-26 10:00
2005.12.18
Спам-фильтр в миранде по названию асечного клиента. Есть тако?


1-1132769272
Silica
2005-11-23 21:07
2005.12.18
Линейная интерполяция




   Наверх