Ja to u seba riešim takto:
TimeStart := GetTickCount;
...
while TimeStop < TimeStart + TimeUpdateScreen do
begin
Computer.Step;
TimeStop := GetTickCount;
end;
GetTickCount je tuším čas od zapnutia počítača, ktorý sa vo WinVista aktualizuje cc 60x za sekundu, čo mi akotak postačuje.
Miloš
TimeStart := GetTickCount;
...
while TimeStop < TimeStart + TimeUpdateScreen do
begin
Computer.Step;
TimeStop := GetTickCount;
end;
GetTickCount je tuším čas od zapnutia počítača, ktorý sa vo WinVista aktualizuje cc 60x za sekundu, čo mi akotak postačuje.
Miloš
Dňa 15. 12. 2014 9:24 Michal Hucik -
ORDOZ wrote / napísal(a):
Ahoj Hynku,
ano, presne tuhle funkci jsem ve win32 pouzil s tim, ze si na zacatku programu zavolam QueryPerformanceFrequency ( &frequency ), a namereny cas pak vzdy vydelim hodnotou frequency...
K samotnemu cekani pak ve smycce merim cas doby trvani snimku a dokud je mensi, nez 20 ms, tak volam sleep(1) - jeho trvani je vsak velni variabilni a podle podle toho co rikaji namerene hodnoty z QueryPerformaceCounter() to lita mezi 0.5 - 3 ms ...
Taky si nejsem jisty, zda je hodnota z QueryPerformanceFrequency () po celou dobu behu programu konstantni. Jestli se treba nemeni s tim, jak si CPU meni nasobic. Pak by mi ta synchronizace bezela podle plotu.
Michal
Dne 15.12.2014 v 7:16 Hynek Sladky napsal(a):
Zdravim,
k presnejsimu mereni casu ve win32 jsem pouzival tuto funkci: QueryPerformanceCounter (&tt);
Ve vysledku se ale rychlost stejne zpomalovala po vetsich blocich. Je ale pravda, ze jsem u svych projektu nikdy neresil video ani audio. Vzdy slo jen o prikazovou radku a emulaci skutecne rychlosti aplikace, takze tam nevadilo nerovnomerne rozlozenirychlosti.
Hynek
_______________________________________________ SharpMZ mailing list SharpMZmail.ordoz.com http://mail.ordoz.com/mailman/listinfo/sharpmz
Vlákno · 54 zpráv
- [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- Re: [SharpMZ] Emulator MZ-800
- [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800 - první oprava :(
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800 - první oprava :(
- Re: [SharpMZ] Už zas další staronový emulátor MZ-800 - první oprava :(