20.07.2020, 14:08
Jochen,index.php?page=Thread&postID=8638#post8638' schrieb:Aber dafür braucht man sicher spezielle Bibliotheken ...Eigentlich nicht, graphics.library hat ein Paar Funktionen für den Blitter und Copper und Sprites, diese sollten ausreichen, um das Programm schneller zu machen, und sogar die Flächen zu füllen. Aber: In der technischen Dokumentation habe ich über die Register gelesen, die man mit Assembler erreichen könnte, die man mit der 1.3er Graphics-Lib und auch späteren nicht oder nur indirekt (mit mehr Operationen) ansteuern kann. Die Funktionen nehmen einem Vieles ab, aber es scheint so, dass die Lib wirklich nur für kleinere, "normale" Anwendungen ausreicht (also z.B. für die WB und Anwendungen dafür, keine Spiele/Demos). Man hat zwar Zugriff auf die Koprozessoren, aber man kann sich zum Beispiel den Draw-Modus des Blitters nicht aussuchen, der wird automatisch gesetzt (und noch mehr). Wenn du jetzt nämlich so eine Funktion aufrufst, machen viele davon mehr als benötigt, und schlucken Zeit vom Koprozessor und 68k. Und ich vermute mal, da die meisten Demos auf 500ern laufen sollen, dass die Effizienz eine Große Rolle spielt, da viele Leute einen 500er hatten und nicht mehr.
Ich könnte jetzt trotzdem diese Funktionen verwenden, aber ich werde wirklich erstmal etwas weiter ASM lernen und mich auch mal mit den Koprozessoren weiter auseinandersetzen. Ausserdem: Ich kann C und ASM auch in eine Datei stecken, mit
Code:
asm("move ...");
Also:
Allgemeine Berechnungen (m68k) ==> C-Funktion
Alles mit Grafik und Zugriff auf irgendwas Anderes ==> ASM-Routine
So sollte ichs hinkriegen.
Aber erstmal werde ich an meinen Projekten am anderen PC weitermachen, Dateiformate, Bildverarbeitung usw. (aber nur in C, x86 hat mir zu viele Instruktionen zum lernen ).
Oder ich krame meine OpenGL-Demo wieder raus (mit 300+ FPS!)...