ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Speicherzugriff im PPC Teil eines Mixed Binary | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
23.05.2003, 11:16 Uhr MarkusPohlmann Posts: 164 Nutzer |
Hallo zusammen, ich habe ein Programm welches jede Menge Speicher umherkopiert und so einen Bildpuffer im RGB Format aufbaut und das ganze dann auf einem 16 Bit- Cybergfx Screen ausgibt. Kann ich, was die Speicherkopiererei angeht, Geschwindigkeitsvorteile gegenüber 68k erreichen, wenn ich diesen Teil auf PPC umsetze? Falls ja, worauf muss ich dann achten? -In welchem Programmteil am besten allokieren (68k,PPC oder Global) -Welche Parameter muss ich mitgeben, damit der Speicherzugriff möglichst schnell ist (bei meinen ersten Versuchen waren die Speicherzugriffe im PPC-Teil immer langsamer als im 68k Teil)? -Welche Grösse sollten die zu kopierenden Speicherblöcke idealerweise haben? Es wäre schön, wenn mir hier jemand helfen könnte, der sowas vielleicht selber schonmal erfolgreich versucht hat zu optimieren. Mit freundlichem Gruss Markus Pohlmann [ - Antworten - Zitieren - Direktlink - ] |
23.05.2003, 14:54 Uhr thomas Posts: 7718 Nutzer |
Wie genau du das machst, weiß ich nicht, ich habe keine Ahnung von Mixed Binaries. Aber ich gebe zu denken, daß sich das ganze nur lohnt, wenn der Kopiervorgang sehr lange dauert. Denn sonst dauert der Context-Switch länger als das Kopieren. Hinzu kommt, daß durch den Context-Switch normalerweise der Prozessor-Cache geleert wird, was beide Seiten (68K und PPC) ausbremst. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
26.05.2003, 00:44 Uhr MagicSN Posts: 238 Nutzer |
Zitat: Ich denke, das kommt sehr auf das Projekt an. Da muesste ich genaueres wissen... Falls moeglich wuerde ich am besten schauen, dass nahezu alles auf PPC laeuft, und nur gelegentlich ein Aufruf rueber auf den 68k kommt. Falls Du natuerlich Programmteile hast, die ganz viele 68k-OS-Funktionen aufrufen, ist das wiederum u.U. gerade NICHT ideal. Wie gesagt, kommt ganz darauf an. U.U. hilft Dir das Tool "contextswitch" (Urspruenglich von H&P, spaeter von Sven Ottemann weiterentwickelt, auf seiner Homepage downloadbar), mit dem kannst Du Contextswitch-Zeiten Deines Programms messen und welche Aufrufe diese verursachen. Steffen [ - Antworten - Zitieren - Direktlink - ] |
30.05.2003, 08:50 Uhr MarkusPohlmann Posts: 164 Nutzer |
Hallo, vielen Dank schonmal für die Tips. Ich denke mal dass zur Zeit unbewusste Contextswitchs mein Problem sind, deswegen werde ich das mit dem Programm mal versuchen. Allerdings kann ich es nirgends zum Download finden. Die einzige Webpage die mir Google ausspuckt ist entweder offline oder verweigert mir den Zugriff. Wo könnte ich es denn sonst herbekommen, bzw. kann mir das jemand mailen? Vom Programmstil her würde ich ganz gerne das Programm so ziemlich alles auf PPC Seite machen lassen und dann einen Contextswitch zum 68k machen, dort die Funktionen wie Mausclicks (Menüsteuerung), Joypadabfrage machen (habe keine Ahnung ob ich das irgendwie auf PPC-Seite durchführen könnte) und dann wieder mit einem Contextswitch zurück auf den PPC die Grafik zurechtkopieren und ausgeben. Dazu habe ich mir die "Rohdaten" der Grafiken gespeichert und eine Maske, welche Bytes ich davon darstellen möchte und welche nicht. Die Maske arbeite ich dann ab und kopiere für jeden Grafikblock den ich darstelle die RGB-Bytes in den Grafikpuffer, bzw. schiebe den Pointer wohin ich kopiere um soviele Bytes weiter wie ich keine Pixel darstellen möchte. Ich habe mir erhofft, dass dieses "Pixelkopieren" auf PPC schneller läuft. Zur Zeit verwende ich dann allerdings zum darstellen noch einen 68k Aufruf (habe den Source gerade nicht vor mir, irgendwas wie WirteRGBArray oder sowas um den ganzen Bildpuffer auf den 16Bit- Screen zu bekommen), aber das sollte mit chunkyppc.library doch auch auf PPC-Seite möglich sein, oder? Mit freundlichem Gruss Markus [ - Antworten - Zitieren - Direktlink - ] |
31.05.2003, 18:02 Uhr Holger Posts: 8116 Nutzer |
Zitat:Besser ist es, von vornherein zwei separate Prozesse zu erzeugen, einen auf 68k und einen auf dem PPC und diese durch Signale/Messages kommunizieren zu lassen. Das gleiche passiert bei den "Kontextswitches" auch, allerdings transparent für den Programmierer. Der Vorteil der manuellen Vorgehensweise ist die höhere Kontrolle, z.B. kann man die Kommunikation asynchron laufen lassen und den ppc-task nur dann unterbrechen, wenn der 68k-task tatsächlich ein event empfangen hat. Außerdem ist viel schwieriger, aus Versehen eine Message zu verschicken, als einen ungewollten Kontextswitch einzubauen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
02.06.2003, 08:06 Uhr MarkusPohlmann Posts: 164 Nutzer |
Zitat: Eine interessante Idee, könnte ich mir auch durchaus für diese Grafikengine vorstellen. Allerdings würde ich zuvor docherstmal gerne mein Programm nach Contextswitches durchforsten um den PPC-Teil auch wirklich 100% auf PPC laufen zu lassen, bevor ich mich an sowas heranwage. Für's erste wäre ich froh wenn ich mit den zwei Contextswitches zwischen Steuerung und Bildaufbau klar käme. Kann mir jemand sagen wo ich dieses oben erwähnte "contextswitch" Programm finden kann oder kann mir das jemand mailen? Oder gibt es andere Möglichkeiten Contextswitches zu "entdecken"? Mit freundlichem Gruss Markus Pohlmann [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Speicherzugriff im PPC Teil eines Mixed Binary | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |