Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Zdenek Adler Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Abych se priznal, neznam WIN NT natolik, abych vedel, ve kterych konkretnich
bodech bych mohl kod programu optimalizovat.
K onomu &quot;zrani&quot; systemovych prostredku: zpusobuje to vlastne moje reseni
&quot;regulace&quot; rychlosti procesoru pracujici na nasledujicim principu:
Je znamo, ze obnovovani obrazovky by melo probihat v rytmu 50 Hz - teto
smycky vyuzivam i pro synchronizaci. Pri kazdem &quot;refreshi&quot; obrazovky delam
nasledujici vec:

if checkpoint&gt;gettickcount then
 repeat until gettickcount&gt;=checkpoint;
 checkpoint:=gettickcount+(20*FRAME_SKIP*(200-form4.trackbar1.position)div
100);
 refresh_scr;

Znamena to, ze pri kazde obnove obrazovky se stanovi jakysi &quot;checkpoint&quot;,
tj. cas, kdy by teoreticky mela nastat dalsi obnova obrazovky. Pri pristim
obnoveni obrazovky kontrolujeme, zda aktualni cas neni mensi nez
&quot;checkpoint&quot; - tzn. ze procesor je moc rychly, proto se zacykli ve smycce,
kde ceka, az se aktualni cas=checkpoint. Pokud nestiha, tuto smycku
preskoci...
Doufam ze jsem to napsal alespon trochu srozumitelne - pokud by mel nekdo
lepsi napad, ktery by tolik nezatezoval CPU, tak sem s nim.

Mejte se fajn, preji pekneho Mikulase :-)</pre>