ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > DTST_Memory | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 -2- | [ - Beitrag schreiben - ] |
13.12.2008, 13:08 Uhr Thore Posts: 2266 Nutzer |
Ja es ist schwer zu helfen, wenn keiner weiß um was es überhaupt geht. Für verschiedene Arten von Programmen kann man andere Optimierungsmöglichkeiten finden. Beispiel: Ein WebCam Tool das Webcam Bilder streamt, hier wär ein http Handler gut, oder per Prefetch sich 1, 2 Bilder immer im Voraus zu schnappen, intern zu rendern und dann anzuzeigen. Für sowas wie GoogleMaps/Earth wär es sinnvoll mehrere Dateien (auch um die eigentliche Ansicht herum) runterzuladen und direkt auf eine größere Bitmap zu rendern (Tile-Verfahren), wobei Datatypes nicht benutzt werden, um Geschwindigkeitsvorteile zu haben (LZW-Decodieren ist nicht so schwierig, kannst ja ne Lib in assembler basteln und anwenden, ist am schnellsten) Wenn Du Grafiken, die aus Teilgrafiken bestehen, anzeigen willst, solltest Du erst alle Bilder runterladen, dann auf die Bitmap rendern. Ein Zeitversatz hast Du aber bei allen Möglichkeiten. Zusätzlich solltest Du dein Code auf Geschwindigkeitsbremsen prüfen (Shiften statt Mal und Geteilt, Plus statt Mal, loop unrolling, etc pp..., Allgemeine Codeoptimierungen....) [ - Antworten - Zitieren - Direktlink - ] |
13.12.2008, 18:58 Uhr Holger Posts: 8116 Nutzer |
Zitat:Böse Falle. Er benutzt immer noch MBasic, welches Shift-Operationen als Unterprogramme realisiert, womit sie langsamer als Multiplikationen sind. Wirkliche Geschwindigkeitssteigerungen kann man da nur auf algorithmischer Ebene oder durch Verwendung einer anderen Programmiersprache erreichen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
13.12.2008, 19:46 Uhr Thore Posts: 2266 Nutzer |
Oha MaxonBasic? Wie wärs mit einer Portierung nach BlitzBasic? Oder Pascal? Oder C? Ok dann versuch Codeblöcke zu optimieren und mach keine Bitorientierten Optimierungen... [ - Antworten - Zitieren - Direktlink - ] |
14.12.2008, 11:52 Uhr MaikG Posts: 5172 Nutzer |
>Zusätzlich solltest Du dein Code auf Geschwindigkeitsbremsen prüfen >(Shiften statt Mal und Geteilt, Plus statt Mal, loop unrolling, etc >pp..., Allgemeine Codeoptimierungen....) Es gibt nur ein Vergleich in einer Schleife. Der Rest sind graphics.library und cgx Operationen. Das sich durch ASM dort viel rausholen lässt glaube ich nicht. Meine ASM kenntnisse sind auch sehr beschänkt, sowas wie gif decoding würde ich wenn überhaupt nur in Basic selbst schaffen. [ - Antworten - Zitieren - Direktlink - ] |
14.12.2008, 13:03 Uhr Wishmaster Posts: 140 Nutzer |
@MaikG: Für GIF-Decoding gibt es fertige Bibliotheken. -- Pegasos MorphOS [ - Antworten - Zitieren - Direktlink - ] |
15.12.2008, 09:50 Uhr Holger Posts: 8116 Nutzer |
Zitat:Ich dachte, es gäbe auch eine AOS3-Version. Mmh Zitat:Die Betonung lag ja auch auf wenn man's richtig macht. Zitat:Na, das ist doch mal eine vernünftige Aussage. Ich hätte Dir sowieso nicht vorgeschlagen, den http-handler in MBasic nachzuprogrammieren mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
15.12.2008, 13:23 Uhr MaikG Posts: 5172 Nutzer |
>Für GIF-Decoding gibt es fertige Bibliotheken. Normalerweise aber ohne includes usw. für MBasic. >> Zitat:Nein das speichern auf platte ist trotz DMA langsamer als in >>Ram, >> das habe ich bereits gemessen. >Die Betonung lag ja auch auf wenn man's richtig macht. Datei$="HD2:test.gif" statt Datei$="Ram:test.gif" was soll man dabei groß anders machen können. Das ist ein ganz normales Dos/Open Dos/Write und Dos/Close, mehr nicht. [ - Antworten - Zitieren - Direktlink - ] |
15.12.2008, 13:30 Uhr Thore Posts: 2266 Nutzer |
Da muss ich Dir recht geben, BASIC ist, was Dateizugriffe macht, nicht sonderlich flexibel. Du kannst aus vorhandenen fd und h Dateien Dir die BASIC Includes selbst zusammenbasteln, das hab ich früher bei AmigaBASIC auch gemacht (da eben das fd selbst geschrieben und die bmap Datei erzeugt). BASIC ist sicher für solche Aufgaben auch nicht die optimalste Lösung, aber wenn du mit anderen Programmiersprachen nicht so wirklich zurechtkommst, ist das schon ok soweit, denke ich. [ - Antworten - Zitieren - Direktlink - ] |
15.12.2008, 17:22 Uhr Holger Posts: 8116 Nutzer |
Zitat:Siehst Du, und genau das ist falsch. Die Rede war von paralleler I/O, bei der ein Datenblock auf die Festplatte geschrieben und schon der nächste aus dem Netzwerk geladen wird, während die unterbeschäftigte CPU das tut, was auch immer Deine Anwendung will. Das kannst mit "ganz normales Dos"-Funktionen nicht hinbekommen, jedenfalls nicht auf vernünftige Weise. Aber Du weißt ja schon längst, wohin der Hase läuft, das hatten wir nämlich alles hier schon einmal. Und wer den Thread nicht kennt, weiß jetzt auch, wo unter anderem die ganze CPU-Zeit verbraten wird: bei sechs Subtasks, die alle über polling miteinander kommunizieren. Faszinierend, was dabei rauskommt, wenn man alles komplizierte vermeiden will... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
1 -2- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > DTST_Memory | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |