[#145]
Re: Zapowiedzi nowych gier
@teh_KaiN,
post #103
Chipset Amigi (AGA) ma takie fajne pole optymalizacyjne. Ten, "nielubiany" podział amigowej pamięci graficznej na bitplany okazuje się bardzo użyteczny w kontekście optymalizacji animacji.
Otóż wystarczy np. skorzystać z możliwości podziału na dwa 4-bitplanowe bufory (z
wyłączonym trybem dual-playfield). Daje to 256 kolorów na ekranie, z możliwością zaoszczędzenia zarówno pamięci, jak i czasu procesora/koprocesora wideo.
Np. jeden bufor zajmuje jeden cały ekran (np. 320x200x4), zaś drugi może być nieco większy i zawierać w sobie całą planszę gry (np. 640x400x4). Teraz przygotowujemy pierwszy bufor rysując
tło - tzn. tylko wartości "PlaneOnOff". Wybieramy w ten sposób
zestaw kolorów dla tego miejsca (16 banków po 16 kolorów).
- Można sobie podzielić np. ekran na główny obszar gry oraz panel boczny. Ekran główny może korzystać np. z 2 banków, czyli 32 dowolnych kolorów (np. 16 dla tła i 16 dla obiektów, bo przecież obiekty powinny się wyróżniać z tła).
- Panel boczny może korzystać z innego banku 16 kolorów na wyświetlanie statusu,
- łatwo dodawać "przyczepione" komunikaty na ekranie (które nie poruszają się podczas scrollingu, ponieważ przesuwamy tylko jeden bufor) itp.
- nadal pozostaje mnóstwo wolnych kolorów, bo 13 banków po 16 kolorów (208 kolorów).
Te proste, acz bardzo użyteczne zabiegi (warto przecież podzielić sobie paletę na szereg zestawów, żeby grafika była czytelna) przyśpieszają animację.
Amigowy Blitter ma wydajność taką, że rysując cały ekran 320x200x1 obsłuży w 400 FPS, zatem 320x200x8 obsłuży w 50 FPS. A i tak dotyczy to samych BOBów. Przecież dzięki scrollowaniu oszczędza się - znów - w ogromnym stopniu czas Blittera, bo rysuje on tylko miejsca zmodyfikowane.
Potencjał jest zatem wysoki.
Tylko Amiga to umożliwia (Only Amiga makes it possible).
P.S. Gwoli ścisłości - sprzętowy przesuw może działać w wielu sytuacjach na korzyść (błyskawiczny przeskok), ale po zastosowaniu tych zabiegów może nawet nie być konieczny i wystarczy rysować ekran na bieżąco.
Ostatnia aktualizacja: 02.12.2019 01:02:22 przez Hexmage960