![]() |
Aby se animace netrhalaKdyž chce člověk něco rozpohybovat po obrazovce, začne mít problémy s tím, že se obrázek pohybuje trhaně. Je to nepříjemné a odstranitelné docela jednoduše. Stačí počkat na to, až se bude vracet paprsek po vykreslení obrazovky na původní pozici. V ten okamžik obrazovku co nejrychleji překreslíme. Čekání na zpětný snímkový běh provede procedura, kterou mi kdysi napsal Tom Chadima:
Ta opakuje čtení právě toho registru VGA, který nese informaci o tom, jestli probíhá zpětný běh. Tento podprogram zařadíme těsně před část, která zajišťuje překreslení obrazovky. POZOR! Tento podprogram pomůže, když vykreslujeme tak rychle, že to počítač stihne dokončit před návratem paprsku. V opačném případě je k ničemu a jen zdržuje.
Jak zrychlit program s animací?
Uvedenou proceduru jsem použil i v Delphi. Program měl skutečně plynulejší animace. Problém byl, že pracoval jen pod Windows'95. NT se nelíbilo, že pracuje s portem. Pro Windows NT je to privilegovaná instrukce, kterou nepustí (co kdyby to byla síťová karta nebo tak, pak by je to sesypalo). Po čase jsem zjistil, že Windows mají už "inteligentní překreslování" zabudované.
![]() |
|