[#1]
Systemowe Boby: jak uczynić użytecznymi :)
Hextreme-Attic
autor wątku
Okazuje się, że
systemowe Boby (jak również systemowe animowane obiekty) można uczynić super-użytecznymi! Trzeba tylko zastosować pewną sztuczkę (zgodną z systemem). Stosowanie techniki zawartej w dokumentacji kończy się źle, bo Boby wyświetlane są niepoprawnie (im niżej ekranu tym wolniej). Jak się okazało wynika to z
konfliktu, który pojawia się w przerwaniu wygaszania pionowego.
Z prostych obserwacji można wywnioskować, że systemowa procedura rysowania Bobów korzysta z
przerwania wygaszania pionowego po to, by wyświetlać Boby
niezależnie od głównego programu (nie czeka na narysowanie Bobów). Jednakże równocześnie polecenie
WaitTOF(), które poleca dokumentacja do odczekania na narysowanie
również korzysta z tego przerwania!. Powoduje to wspomniany konflikt.
Rozwiązanie, zarówno dla pojedynczego i podwójnego buforowania: wystarczy zastąpić polecenie WaitTOF() w następujący sposób: założyć serwer obsługi przerwania wygaszania pionowego o najwyższym priorytecie, a z kodu przerwania
sygnalizować program główny i zwracać 0 (zero) z kodu przerwania, tak by pozostałe serwery również zostały wykonane. I to wszystko co potrzeba by animacja systemowych Bobów była bezbłędna i szybka!
Pokładałem cały czas nadzieje w systemowych Bobach, że mogą stać się użyteczne i jak widać nie zawiodłem się
Ostatnia aktualizacja: 21.06.2013 04:28:26 przez Hextreme-Attic