Software > Coding
FVDI Saga Treiber für Saga Optimieren
tuxie:
Wie viele mitbekommen haben Arbeiten wir aktuell an der Vampire für den ST. Die Realisierung ist voll im gange. Biggun hat mich angefragt ob wir den Treiber den Vincent für den Saga Core geschrieben hat zu optimieren.
Der Treiber speichert den Inhalt der an die Grafikkarte geschrieben wird mehrmals durch memorymove hin und her. Was dazu führt das alles langsam ist. Wenn man diesen Optimieren würde und einige Routinen direkt in Assembler durchführen würden könnte man die Geschwindigeit mindestens verdoppeln.
Infos gibt es auch hier
http://wiki.apollo-accelerators.com/doku.php/start?do=search&id=saga
Treiber von Vincent
https://github.com/vinriviere/fvdi/tree/master/fvdi
Jetzt ist die Frage könnte sich dies jemand mit anschauen ? Eventuell jemand der fvdi kennt und weiß wie es Arbeitet .
mfro:
--- Zitat von: tuxie am Mo 26.03.2018, 14:36:52 ---...Der Treiber speichert den Inhalt der an die Grafikkarte geschrieben wird mehrmals durch memorymove hin und her ...
--- Ende Zitat ---
Der Treiber wurde ursprünglich für den Falcon mit CT60 geschrieben und hat deshalb einen Backbuffer. Jede Bildschirmveränderung wird in einer FastRAM-Kopie mitgeschrieben (ein Pixel setzen setzt also zwei, eins auf dem Schirm und eins auf dem Backbuffer). Bei Falcon + CT60 ist das eine Beschleunigung (weil der Zugriff auf den Backbuffer im Vergleich zu einem Zugriff auf den "echten" Bildschirmspeicher bei Rasterkopien fast nichts kostet).
Der Backbuffer ist über Präprozessor-Definitionen in fvdi/fvdi/drivers/16_bit/16b_blit.c konfiguriert. Einfach das '#if 1' ganz am Anfang der Datei in '#if 0' ändern und neu kompilieren müsste eigentlich ausreichen.
tuxie:
Vielen Dank schon mal für den Hinweis. Bei dem Saga core ist es ja so das kein Externer Bus benutzt wird und wir mit 600Mb/s lesen und schreiben können. Beim debuggen direkt im Core ist halt aufgefallen das er nicht optimal Arbeitet und verschiedene Dinge mehrmals schreibt und liest.
Habe die besagte stelle gefunden, werde dies mal umbauen und neu kompilieren. Es gibt halt viele Assemblerroutinen für z.b. standard Funktionen wie clearen, Flächen füllen. Die man da einbauen könnte..
1ST1:
Läuft die Vampire denn schon rudimentär in einem ST-Board? Im Apollo-Forum wasr ja zu lesen, dass die nächste Core-Versions-Veröffentlichung schon das Atari-Hardware-Mapping beherrschen soll.
tuxie:
Wir Arbeiten hart daran, aktuell stöbert er noch über den Bus Error. Der Saga Treiber hat nun auch schon Optimierung erfahren, memory performance ist auf das fast 2fache gestiegen.
Siehe Blitting
https://usercontent.irccloud-cdn.com/file/6RFiIoIp/IMG_6301.JPG
https://usercontent.irccloud-cdn.com/file/WnIqh33p/IMG_6303.JPG
Aktuell bei 310% gegenüber Falcon SuperVidel... die anderen Funktionen sind noch nicht im Treiber implementiert.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln