Temat: Wydajność blittera VBXE
Jak długo trwają operacje wykonywane przez blitter VBXE? Np. kopiowanie 128x128? Czy Altirra wiernie emuluje czas trwania tych operacji?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Czwarta edycja ATASCII Compo! Dziś, 1 października 2024, oficjalnie rozpoczął się okres nadsyłania prac!
Silly Venture 2024 SE - stuff Dostępny jest już stuff z zeszłomiesięcznego party Silly Venture 2024
FujiCup FujiCup ma na celu wspieranie sceny gier retro, dając uczestnikom szansę na pokazanie swojego talentu
Echa Silly Venture 2024 SE Są już dostępne wyniki Silly Venture 2024 SE
Uaktualnienie firmware do The400 Poprawki do "fizycznego" emulatora ośmiobitowych komputerów i konsol Atari.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Jak długo trwają operacje wykonywane przez blitter VBXE? Np. kopiowanie 128x128? Czy Altirra wiernie emuluje czas trwania tych operacji?
to zalezy od bardzo wielu czynnikow
max to 4096 cykli cpu, ale moze byc i wolniej, w zaleznosci od tego co robi reszta vbxe
VBXE ma zegar 14 MHz (8 x f6502)
Zwykłe kopiowanie trwa 2 cykle 14MHz na bajt.
Wypełnianie stałą wartością trwa 1 cykl na bajt.
Kopiowanie z przeźroczystością i sprawdzaniem kolizji od 2 do 3 cykli na bajt (blitter stara się optymalizować dostęp do pamięci i usuwać zbędne operacje).
W grę jeszcze wchodzi sprzętowy zooming poziomy - wówczas blitter odrobinę przyspiesza kopiowanie, biorąc tylko raz jedną próbkę źródłową.
Dodatkowo blitter zużywa około 22 cykli na pobranie BCB i uruchomienie żądanej operacji.
Dodatkowo blitter jest urządzeniem slave szyny VRAM VBXE, więc wszelkie operacje typu:
- pobieranie XDL / XDLC,
- pobieranie mapy atrybutów,
- pobieranie grafiki i fontów do wyświetlenia,
- dostęp 6502 do VRAM (MEMAC A/B)
w pierwszej kolejności dostają przydział cykli zegara 14MHz. Blitter używa tych, które zostaną wolne.
Czyli zależy co jest włączone i używane i jak wygląda obraz generowany przez VBXE to zostaje mniej lub więcej cykli dla blittera.
Przy wyłączonym XDL gdy VBXE wyświetla tylko to, co natywnie produkuje Atari blitter ma dla siebie pełną przepustowość VRAM.
Altirra coś tam się stara emulować, ale wierna nie jest ponieważ nie ma 100% dokładnego opisu zachowania blittera.
Ostatnio edytowany przez electron (2012-07-22 10:26:00)
Dziękuję za wyczerpującą odpowiedź. Nie spodziewałem się tak dużej wydajności. :-)
Nasuwa się następne pytanie: czy dostępy 6502 do VRAM mogą kolidować z pobieraniem grafiki itp.?
Nie mogą, jest to tak zaprojektowane, że dla grafiki cokolwiek byś nie robił, zawsze starczy czasu.
blitter Altirry jest szybszy od tego prawdziwego
Ostatnio edytowany przez tebe (2016-05-17 10:42:20)
To jest fakt, ten program wyświetla sprajty tylko na emulatorze, natomiast na prawdziwym sprzęcie nie. Niezależnie od procesora, taktowania itd.
Mad Pascal 1.3.4 http://mads.atari8.info
najnowsza wersja kompilatora tworzy kod działający na prawdziwym VBXE, '\examples\vbxe'', 'examples\sv2k16\'
dodatkowo jest przyjazna SDX BANKED, bo okno VBXE umieszczane jest od $b000..$bfff
Ostatnio edytowany przez tebe (2016-06-03 10:18:27)
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.066 sekund, wykonano 7 zapytań ]