ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Suche | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
|
||||||
whose
Nutzer
27.04.2005, 16:26 Uhr [ - Direktlink - ] |
Thema: Neues vom Amiga Markt
Brett: Amiga, AmigaOS 4 Zitat: Bist Du schon mal auf den Gedanken gekommen, daß die anderen ihre Beiträge ebenso als Perlen werten könnten, die sie vor die Säue werfen? Es ist auch für mich (ich bemühe mich, hier so neutral zu bleiben, wie es mir menschlich möglich ist) ein bißchen merkwürdig, über Eure (geplante) Aktion zu lesen und die Art und Weise zu betrachten, wie ihr sie verteidigt. Ehrlich gesagt, mir kommt es ein wenig so vor, als hättet ihr zwei (Supimajo und Du) ein bißchen den Boden unter den Füßen verloren. Habt ihr Euch wirklich Gedanken darüber gemacht, was ihr mit so einer Aktion erreicht, außer, quasi als Retter der Community und der guten Umgangsformen dazustehen, zumindest für den großen Teil der nicht an diesem Thread Beteiligten (Stichwort: Selbstbeweihräucherung)? Meinst Du nicht, daß man bei der Aktion leicht auf solche Gedanken kommen kann? Zitat: Und ich mache es anders, ich beantworte jeden Absatz einzeln, nur um nicht als jemand dazustehen, der Deine Sätze aus dem Zusammenhang reißt Zitat: Wenn Du genau hinschaust, bist Du mit dem Gefühl beileibe nicht allein. Irgendwie scheint das allen hier so zu gehen, die nicht zu den "Berufsprovokateuren" zählen. Allerdings sind nicht alle der Meinung, daß man das auf die radikale Art beheben muß Zitat: Unter anderem _auch_ die Leute, die diese Ordnung einfordern. Erreichen können sie es, indem sie Pauschal"anklagen" ohne weitere Erläuterungen einfach mal runterschlucken und erst dann etwas kritisieren, wenn sie von der Palme wieder runtergeklettert sind, auf die sie vorher noch raufgeklettert sind in der ersten Wut. Verlangt etwas Selbstbeherrschung (die auch mir manchmal fehlt, wie ich zugeben muß ), ist aber machbar. Zitat: Wenn Du so freundlich bist, Deine Kritik aufnahmefähig zu vermitteln, hat da bestimmt der große Teil der Forumsteilnehmer rein gar nichts einzuwenden. Klamotten wie "Du taugst nicht als MOD" sind hingegen eher der Polemik zuzurechnen, da platzt manchem (verständlicherweise) der A***h. Meine Meinung zum "Platzen": Siehe Antwort auf den zweiten Absatz Zitat: Hm, meinst Du wirklich, daß es hilfreich ist, den Teufel mit dem Beelzebub auszutreiben? Mit der Methode sind schon Generationen vor Dir Leute auf die Klappe gefallen... Zitat: Was meiner Meinung nach mehr der Teilnahme der besonneneren Mitglieder hier zuzurechnen ist als Eurer "Pranger"-Aktion. Hätten sich die üblichen Störenfriede auch hier eingefunden, würden jetzt erst Recht die Fetzen fliegen. Meine 2 Cent. Zitat: So kommt es aber rüber. Ist immer ein bißchen mit schalem Beigeschmack, wenn Leutz eine solche Aktion auf einer Seite starten, die selbst eine Art "Community" ist. Da kommt schnell der Verdacht der Mitgliederwerbung mit unlauteren (scheinheiligen) Mitteln auf. Kann man den Jungs nicht verdenken. [/quote] Naja, eins hat das Ganze schon mal, was man als "Gut" werten kann: Der Ton ist ruhiger, wenn auch noch nicht wirklich sachlich. Aber es ist zu erkennen, daß man sich hier wenigstens Mühe gibt und nicht den Gefühlen uneingeschränkt freien Lauf läßt. Ich glaube, sowas nennt man "Streitkultur" Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
27.04.2005, 16:01 Uhr [ - Direktlink - ] |
Thema: OCS<->Grafikkarte
Brett: Programmierung [quote] Original von Ralf27: Zitat: *hüstel* Du hast aber schon in Rechnung gezogen, daß OS3.9 wesentlich mehr Neuerungen bietet, als OS3.1? Wenn Du das alles bei beiden Versionen gleich haben wolltest, wäre OS3.1 + Zusatzfunktionen noch viel größeres (und inhomogeneres) Flickwerk Zitat: Mal die Menge an Daten, die dabei installiert wird, außer acht lassend: Was ist an der Installation von CD so anders als an der von Disketten? Ich brauche für meinen 4000er bei der Installation von OS3.9 nicht entscheidend länger als für die Installation von OS3.1 (ein Hoch auf eine funktionierende Notfall-Diskette!Allerdings nur einmal gebraucht und selbst das noch nicht mal aus Not ). Das "Flickwerk", daß da noch dazu kommt, ist bei beiden gleich (68060.library + Zubehör, CGFX 4 + 4.1, diverse Treiber für IOBlix, Ariadne etc. pp.). Mit der Notfall-Diskette ist aber genau dieses Flickwerk viel schneller wieder auf der Platte als ohne. Zitat: Öhm... welche Art von Veränderung meinst Du da? Ich brauche mit OS3.9 (dank der netten, durchdachten ARexx-Zusatzfunktionen der WB) eher weniger Zeit, um mit meinen Dateien zu hantieren, als unter OS3.1. Veränderungen bspw. der Schutzbits dauert mit der WB von OS3.9 keinesfalls länger als unter 3.1. Aber das liegt vielleicht auch an der Arbeitsweise und der Aufrüstung des Amigas, die sind ja immer etwas unterschiedlich, je nach persönlicher Vorliebe Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
27.04.2005, 14:29 Uhr [ - Direktlink - ] |
Thema: Neues vom Amiga Markt
Brett: Amiga, AmigaOS 4 Zitat: Ich denke, daß war im Ursprung so auch gar nicht gedacht. Desweiteren denke ich, daß der Ruf nach Reglementierung erst aufkam, nachdem das (nicht beachtete) Kind in den Brunnen gefallen war. Im Grunde erwartet doch keiner, daß gewisse Postings sofort gelöscht werden. Es schadet aber auch nicht, wenn die Moderatoren zu gewissen Postings ganz einfach mal klar Stellung beziehen, und zwar möglichst eine neutrale. Das war hier halt nicht der Fall. Sebastian steht aufgrund seiner "Verfehlungen" als Flamewar-Starter da, auch bei AC-Pseudo, wie man erkennen konnte. So, wie sich mir das Ganze darstellt, hatte Novamann nur ein Problem mit der fehlenden Neutralität. Das sehe ich nämlich ähnlich. Man kann einerseits nicht jemanden pauschal als Flamewar-Starter hinstellen, weil sowas gegen die Nettiquette ist und andererseits einen Poster, der sich offensichtlich im Ton vergreift, kommentarlos gewähren lassen. Daß sowas einige auf die Palme bringt, wundert mich nicht. Anstatt das als kleine Mahnung anzunehmen und von MOD-Seite entsprechend zu handeln, wurde gleich das daraus gemacht, was Sebastian möglicherweise beabsichtigte (oder auch nicht). Man schlägt sich hier verbal die Köppe ein und es kommt zu tumultartigen Szenen. Noch dazu werden die mäßigenden Stimmen nahezu ignoriert. Jeder pflegt (wie gehabt) seine Eitelkeit mit immer neuen, an der Sache vorbeigehenden Postings. Hätte man alles vermeiden können, wenn die oft dargestellte Neutralität auch gleich "gelebt" worden wäre. Wieder sind _beide_ Seiten gemeint. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
27.04.2005, 11:51 Uhr [ - Direktlink - ] |
Thema: Neues vom Amiga Markt
Brett: Amiga, AmigaOS 4 Zitat: Ist es nicht normal, daß überall da, wo Moral eine Rolle spielt, auch immer etwas Scheinheiligkeit dabei ist? Das ist aber kein echter Grund, den "Scheinheiligen" das Recht abzusprechen, ihre Meinung zu einem Thema kundzutun. Möglicherweise haben deren Worte, trotz aller Scheinheiligkeit, doch ein paar Körnchen Wahrheit in sich Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
27.04.2005, 11:45 Uhr [ - Direktlink - ] |
Thema: Neues vom Amiga Markt
Brett: Amiga, AmigaOS 4 Zitat: Zum größten Teil hast Du Recht. Andererseits wird auch ein Schuh draus, wenn Die MODs sich nicht anders aufführen als die "bösen" Poster. Es ist doch wirklich kein großes Problem, bei unreflektierter Kritik einfach mal zu sagen, daß der Kritisierende sich dazu doch mal etwas ausführlicher und differenzierter äußern sollte, statt mit dem gleichen Beil in die gleiche Kerbe zu hauen. Damit haben beide den Ast, auf dem sie sitzen (amiga-news.de halt), einfach nur schneller durchgehackt, sonst nichts. Zum größten Teil geben sich die MODs hier alle Mühe, das stelle ich nicht in Abrede. Aber meiner Meinung nach gehen einige wenige zu schnell an die Decke, wenn man sie kritisiert. Inzwischen müßten die eigentlich gemerkt haben, daß es menschlich gesehen keine einfache Aufgabe ist, die sie sich ausgesucht haben. Genauso sollten meiner Meinung nach die Nutzer des Forums hier sich immer wieder in Erinnerung rufen, daß es Menschen sind, die sich hier als MODs engagieren, mit allen Schwächen und Fehlern. Dazu zählt eben auch, daß der Mensch gern mit zweierlei Maß mißt, nichts anders hatte Novamann ursprünglich gemeint. Dummerweise hat er das nicht sachlich ausgedrückt, sondern emotional und verzerrt. Insofern ist es verständlich, daß AC-Pseudo ihm in ähnlicher Weise geantwortet hat. "Richtiger" ist so ein Verhalten deswegen aber nicht. Auf beiden Seiten. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
27.04.2005, 11:04 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Mißverständnis Im Grunde hast Du schon Recht, die Rohdatenrate über den Mini-PCI liegt bei ca. 40MB/sek. Ich hab mich in der Eile auch etwas mistverständlich (und teilweise falsch ) ausgedrückt. Du hast eine Meßmethode gewählt, die die "Verwaltungsarbeit" des gesamten Systems mit mißt und noch dazu gehst Du von etwas aus, was rein theoretischer Natur ist (24Bit=32Bit. Das stimmt nicht. Da Deine Bitmap immer noch in 24Bit vorliegt, gilt auch immer noch das, was ich unten zu den Zugriffen bei 24Bit schreibe. Deine Annahme gilt erst, wenn Deine Bitmap auch in 32Bit vorliegt. Da habe ich mich auch etwas verwirren lassen, von wegen Hälfte und so). Bei 16Bit hast Du den Vorteil, daß Du sowohl auf das Bild im Hauptspeicher (in dem das zu tranferierende Bild nun mal liegt) als auch auf den Bus mit "2 Pixeln gleichzeitig" (also 32 Bit) zugreifen kannst. Das bedeutet, daß Du bei gleicher Pixelmenge nur die Hälfte der bei 32 Bit-Pixeln notwendigen Speicherzugriffe benötigst, somit die Datenmenge, die in einem Meß-Zyklus transportiert werden kann, theoretisch am Maximum der Hardware liegt. Aber halt nicht ganz, siehe unten. Bei 24Bit-Pixeln sieht die Sache schon ganz anders aus. Du kannst z.B. nicht einfach den 24Bit-Wert mit einem Zugriff aus dem Speicher holen, nein, Du brauchst streng genommen 3 Zugriffe dafür (3 Bytes halt). Man könnte hier ein wenig tricksen und doch einen 32Bit-Wert aus dem Speicher lesen und das "überflüssige" Byte dann löschen, aber das würde im Endeffekt nicht besonders viel bringen. Schließlich benötigt das "Löschen" auch ein paar Taktzyklen, die dann halt nicht für den Transfer zur Verfügung stehen. Oder einen Word-Zugriff und einen Byte-Zugriff machen. Hätte aber den gleichen Effekt. Das ist der Hauptgrund, weshalb 24Bit sehr langsam ist. Bei 32Bit-Pixeln (z.B. BGRA-Bitmap) bräuchtest Du wiederum nur einen Zugriff pro Pixel, aber immer noch doppelt so viele für die gleiche Pixelanzahl, wie bei 16Bit-Pixeln. Die Transferrate bleibt dabei annähernd gleich, also kämst Du auch da theoretisch auch auf ca. 35MB/sek. Allerdings kommen da noch ein paar "Verwaltungsarbeiten" mehr dazu, Unterbrechungen durch andere Transfers z.B. (Zorro). Da Du die Zeit zwischen Eintritt in den Transfer und dem Austritt mißt, zählst Du diese Arbeiten mit, obwohl die nicht unmittelbar zum Grafiktransfrer gehören. Bei doppelter Datenmenge pro Bild (Anzahl 32Bit-Pixel) kommt da also auch die doppelte Zahl an Unterbrechungen hinzu. Rechnerisch erreichst Du somit höchstens drei viertel der möglichen Transferrate (etwas mehr als 20MB/sek., nach Deiner Meßmethode), praktisch eher weniger (also meine angenommenen 17MB/sek.). Da bei all dem die CPU den Transfer bewältigen muß (die BVision hat keine Busmaster-/DMA-Fähigkeit), beeinflußt die nötige Anzahl der Speicherzugriffe pro Pixel und Unterbrechung unmittelbar die mögliche _tatsächliche_ Transferrate (schließlich kannst Du gewisse Arbeiten wie Zorro-Zugriffe nicht unterbinden). Der Schluß daraus lautet: Je öfter und länger die CPU auf den Hauptspeicher zugreifen muß, um ein Pixel zu transferieren, desto geringer fällt die _tatsächliche_ Transferrate über den Mini-PCI aus. Um das Ganze zu überprüfen, miß einfach mal den Transfer bei einem 8Bit-Screen. Die liegt nicht wesentlich höher als bei 16Bit. Warum? Weil 16Bit schon nah an das herankommt, was die Hardware hergibt Nur die Anzahl der Unterbrechungen nimmt noch ab, weil die Menge an Daten pro Meßzyklus noch geringer ist, wodurch 8Bit scheinbar noch ein bißchen mehr Transferrate hergibt. Um die wirkliche Transferrate zu messen, müßtest Du die Zeit messen, die die Übertragung _eines_ Langworts benötigt. Dann wirst Du feststellen, daß zwischen 8 (4 Pixel), 16 (2 Pixel) und 32 (1 Pixel) Bit kein großer Unterschied besteht. Nur 24Bit ist da eine Ausnahme. Im Groben kann man sagen, daß CGFX schon beinahe alles an Speed herausholt, was überhaupt drin ist. Durch Deine Meßmethode mißt Du, wie gesagt, einiges mit, was nicht zum eigentlichen Transfer auf die GraKa gehört. Der UWSCSI-Kontroller z.B. ist DMA-fähig (weil nicht über den Mini-PCI angebunden). Der schaufelt die Daten selbständig und schafft so die 45MB/sek. Rohdaten-Transferrate. Im Endeffekt schafft der aber wahrscheinlich trotzdem nur etwas weniger als 40MB/sek., weil er ab und an von der CPU "ausgebremst" wird (konnte ich mangels so schneller Festplatte nie testen). Versuch halt, es der CPU so einfach wie nur möglich zu machen. Das, was Du dann an Transferrate bekommst, ist nahe am technisch machbaren. Und damit kannst Du dann ziemlich zufrieden sein, denke ich Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 27.04.2005 editiert. ] |
|||||
whose
Nutzer
27.04.2005, 10:29 Uhr [ - Direktlink - ] |
Thema: Neues vom Amiga Markt
Brett: Amiga, AmigaOS 4 Wegen so nem Schwachsinn kochen die Emotionen hier wieder hoch... unfaßbar! Hat sich eigentlich einer von Euch die Mühe gemacht, den Thread hier komplett zu lesen und zu _verstehen_, wie es zu den emotionalen Ausbrüchen hier kam? Im Grunde ists ein Mißverständnis auf beiden Seiten bzw. Animosität auf beiden Seiten. Da hat einer, der sich ein klein bißchen als "Troll" versucht hat, ne simple Frage gestellt, wahrscheinlich, um überhaupt irgendwas hier zu schreiben (meine persönliche Meinung). Ein paar Leutz erkennen die (vermeintliche) Intention des Posters und schreiben dazu passende Kommentare, einige gelangweilt, andere humorvoll. Dann kommt einer daher und wird ausfallend. Das wiederum stößt dem werten Novamann (verständlicherweise) sowie alexw auf, worauf Novamann seine Meinung über die Arbeit der MODs kundtut. Diese wiederum haben wenig besseres zu tun, als teilweise unreflektiert auf diese Kritik zu reagieren (Hallo AC-Pseudo!). Bumms, schon ist der schönste Streit darüber im Gange, was hier falsch und was richtig läuft. Und niemand merkt, daß _keiner_ Recht haben kann. Weder unsere MODs, die ihre Arbeit in ganz weiten Bereichen sehr gut machen, noch die Poster, die zum größten Teil zu den angenehmen Diskussionspartnern zählen. Auf jeder Seite kommt es aber nun mal vor, daß jemand etwas falsch versteht oder schlicht falsch auf etwas reagiert. Leider ist es in letzter Zeit Sitte geworden, dem Gegenüber keine Möglichkeit einzugestehen, sich geirrt zu haben oder etwas falsch aufgefaßt zu haben. Genauso ist es bei vielen Sitte geworden, sich für unfehlbar zu halten und selbst offensichtliche Fehler nicht einzugestehen. Was, zum Teufel, ist eigentlich so schlimm daran, einen Fehler zu machen oder etwas nicht sofort zu verstehen? Was ist so schwer daran, einmal nachzufragen, ob der andere etwas wirklich so gemeint hat, wie es für einen selbst klingt? Wie wärs denn, wenn beide Seiten etwas Rücksicht auf die Menschlichkeit des Gegenübers nehmen würden? Oder erst einmal nachdenken, wenn jemand Kritik einem selbst gegenüber äußert? Sicher ist es einfacher, jede Kritik erst mal weit von sich zu weisen oder mit zynischen Sprüchen viell. zum Verstummen zu bringen. Ein Zeichen von Größe ist das aber wahrhaftig nicht, auch wenn manche hier das glauben. Den öffentlichen Pranger halte ich persönlich übrigens für ne schlechte Idee. Die "Verweigerung" mancher Poster, das Forum zu besuchen, aber ebenfalls. Hat beides ein klein wenig was von Feigheit. Nur meine 2 Cent dazu... Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
26.04.2005, 16:48 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Eieiei, den kannte ich noch nicht _hat Notepad von OS4 doch glatt meine gesamten Ergüße zu dem Thema hier verworfen Also nochmal: Zitat: Thomas hat dazu in nem anderen Thread schon mal eine Erklärung geliefert, die meiner Meinung nach ziemlich vollständig und leicht verständlich ist. Ich faß es nochmal kurz zusammen: Hooks sind Funktionen in Deinem Programm, die (nach Bekanntmachung durch z.B. INITHOOK) vom OS in bestimmten Situationen aufgerufen werden können. Bekanntestes Beispiel sind die sog. "Backfill-Hooks", mit deren Hilfe z.B. die Workbench-Fenster ein Hintergrundmuster spendiert bekommen. Speziell für diesen Zweck gibts in der Window-Struktur einen Eintrag, wo man einen Zeiger auf den Backfill-Hook hinterlegen kann (eigentlich ist der Backfill-Hook auch wieder nur eine Strukur). Über diesen Weg kommt das OS an die Adresse Deiner Funktion im Speicher heran und ruft selbige in der passenden Situation sozusagen "zurück" (darum spricht man auch von Call-Back-Hooks). Ich hoffe mal, das war soweit halbwegs richtig und vollständig, hab mich nie intensiv mit den Hooks beschäftigt Beachten solltest Du dabei aber, daß man nicht alles in diesen Hook-Funktionen machen kann. Funktionen der dos.library und (soweit ich weiß) auch aller anderen Libraries außer der, die den Hook aufruft, sind tabu (weil ganz einfach nicht bekannt). Somit sind die Möglichkeiten etwas eingeschränkt, aber Hooks sind ja auch nicht für allgemeine Aufgaben gedacht Zitat: Definitiv Zitat: Deshalb solltest Du den Lernaufwand nicht scheuen. Es lohnt sich und interessant ist es allemal Zitat: Nein, ich will Dich nicht veralbern: Am simpelsten geht das mit WritePixel() (resp. -Array()). Es ist nämlich nicht zwingend, daß eine Bitmap sichtbar sein muß, damit CGFX Daten da reinschreibt. Das kannst Du auch mit x-beliebigen anderen Bitmaps (solange die im ChipRAM liegen und Planar-FOrmat haben, geht das auch mit ECS/AGA). Somit könntest Du die Konvertierung schon beim Laden von CGFX erledigen lassen. Um besser zu verstehen, was bei der Konvertierung vor sich geht und was alles schiefgehen kann, empfehle ich Dir aber trotzdem, das Konvertieren selbst zu erledigen. Beispiel zu den BitMaps liefer ich, wenn ichs schaff, am Wochenende (kann das grad selbst ganz gut gebrauchen ). Kannst Dich ja schon mal in die BitMap-Geschichte in den CGFX-Docs einlesen. Solltest Du das nicht hinkriegen (weil Englisch), kann Dir das bestimmt jemand übersetzen. Vielleicht ist Thomas wieder einmal schneller mit nem Beispiel, das wäre sogar noch besser. Seine Beispiele sind echt Klasse und waren mir immer sehr hilfreich. Allerdings sind die in C, so wie meine auch Angriffspunkt Nr. 1 wäre wohl PlanePtr[] in der BitMap-Struktur, allerdings solltest Du dazu die Warnungen in den Docs lesen und verstehen, sonst geht das garantiert ins Auge! Normalerweise geht einen die interne Struktur der BitMap rein gar nichts an, in Deinem Fall machen wir zu Übungszwecken aber mal ne Ausnahme Zitat: Ich will Deinen Enthusiasmus ja nicht bremsen, aber nach meiner bescheidenen Ansicht ist spätestens bei 20MB/sek. der Ofen aus. Warum? Nun, bei 16Bit hast Du 35MB/sek. errechnet (könnte hinkommen). Ich gehe stark davon aus, daß da der Transfer wegen passender Bitmaps ohne Konvertierungen von statten ging (ein paar kleine Überprüfungen und anschließend Transfer). Da es 16Bit war, konnten mit einem Transfer 2 Pixel auf einmal übertragen werden, was bei 24Bit (32Bit) ja nicht machbar wäre (der Bus ist nun mal nur 32Bit "breit" ). Somit sinkt die mögliche Transferrate bei 24Bit theoretisch schon mal um die Hälfte (sagen wir mal 17MB/sek., wahrscheinlich kommt man bei knapp 16MB/sek. raus). Wenn Du CGFX außen vor läßt und direkt ins VRAM überträgst, kommst Du dann (weil div. Überprüfungen durch CGFX flachfallen) viell. bei 20MB/sek. an, dann ist Sense. Ganz kannst Du CGFX aus dem Spiel nicht heraushalten, weil dann und wann auch von der GraKa gelesen wird (div. Register des Grafikchips beispielsweise), also wirds wohl eher 18MB/sek. Ich sags mal so: Wenn Du unter Verwendung der CGFX-Routinen bei bspw. 15MB/sek. mit BASIC ankommst, hast Du schon ne Menge erreicht. Kompatibel bleiben und schnell sein. Das Maximum kannst Du sowieso nicht holen, weil da einige Faktoren eine Rolle spielen, auf die Du keinen direkten Einfluß hast (oder nicht nehmen kannst). Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 26.04.2005 editiert. ] |
|||||
whose
Nutzer
26.04.2005, 15:17 Uhr [ - Direktlink - ] |
Thema: Neues vom Amiga Markt
Brett: Amiga, AmigaOS 4 @AC-Pseudo & Maja: Hm, irgendwie hat sich hier ein Mistverständnis allererster Kajüte verselbständigt, oder? Lest den Beitrag von alexw, dann versteht ihr, worum es Novamann offensichtlich ging und warum es völlig daneben ist, Novamann anzugehen statt dem Poster, den alexw da zitiert hat. @Novamann & alexw: Wie wärs, wenn ihr den Mods auch mal Gelegenheit gebt, Fehler erst einmal zu erkennen, bevor sie sie zugeben müssen? Kann manchmal n bissi länger dauern, braucht manchmal starke Nerven von Eurer Seite und öfter mal den Hinweis, was ihr _eigentlich_ meintet. Aber es lohnt sich. Die Erfahrung habe ich auch schon machen müssen. Bin zwar jetzt ein rotes Tuch, aber ein gewisses Risiko muß man im Leben schon tragen Was den werten Sebastian angeht: Solange er sich nicht im Ton vergreift, kann er uns doch gern veralbern. Irgendwann wirds uns müßig, ihm auf immer die gleichen Fragen zu antworten. Spätestens dann stirbt er vor Forums-Einsamkeit oder beginnt, vernünftige Fragen zu stellen. Ist doch gar nicht schwer Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
26.04.2005, 14:58 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Naja, ihm gings wohl mehr darum, daß er ständig das gleiche Sprüchlein zu lesen bekommt: "Nimm C, in BASIC geht das nicht" oder ähnliches. Das es geht, zeigt er ja mit seinem Programm. C ist übrigens nicht unbedingt "einfacher". Es ist vor allem "anders". Die meisten BASIC-Dialekte, die mit Zeigern umgehen können, kennen z.B. keine Dereferenzierung oder die beliebige Wandelbarkeit von Arrays in Zeiger + Index oder umgekehrt. Dadurch sehen die BASIC-Programme zwar manchmal komplizierter aus, sind es aber im Endeffekt gar nicht. Es wird z.B. halt nur mit zwei Zeilen ausgedrückt, was man in C in einer Zeile (und mindestens einem Denkfehler ) hätte schreibe können. Mit Strukturen können MaxonBasic (soweit ich weiß) und AmiBlitz (das weiß ich) hervorragend umgehen, die Programme sehen da nicht grundlegend anders aus als in C. Also kein Grund zu sagen "In BASIC geht das nicht". Einziger Nachteil bei Ralf: Er tut sich schwer damit, Beispielcode in C zu lesen, aber das kriegen wir schon noch hin Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
26.04.2005, 08:00 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Wenn Du noch bis zum Wochenende Zeit hast (und Thomas mir nicht zuvorkommt, was aber recht wahrscheinlich ist )... Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
26.04.2005, 07:56 Uhr [ - Direktlink - ] |
Thema: Canon 6100 Blinksignale für mein A4000
Brett: Amiga, AmigaOS 4 Zitat: Hm, bei den älteren Tintenspritzern gabs noch eine Canon-eigene Gemeinheit: Wenn das Vlies der Tintenreinigung "voll" war (jeder Reinigungsvorgang wurde in nen druckerinternen Chip geschrieben, ähnlich wie bei Epson-Patronen), wurde der Drucker blockiert (und blinkte selig vor sich hin). Hab nen BJC 6200 vor einiger Zeit weggeschmissen deswegen. Man konnte die Teile zwar resetten (hab darüber mal in der ct gelesen), aber das war mir zu aufwändig und ich hatte keinen Schimmer, wie man das bei nem BJC6xxx macht. Ich hoff zwar mal, daß das _nicht_ Dein Problem ist, aber wenns das ist... Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
23.04.2005, 11:31 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Upps, mit dem P.S.: meinte ich eigentlich mehr Thomas, weil er das Tempo-Problem nur aufs Basic zurückführen wollte Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
22.04.2005, 23:22 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Naja, im Endeffekt ist es das, was wir ihm die ganze Zeit schon sagten Allerdings hast Du übersehen, daß in seinem speziellen Fall dann _gar keine_ Konvertierung nötig wäre, weil sein Screen ja schon im BGR-Format aufgebaut ist (Permedia2 mag halt kein RGB). Sein Problem war einzig, daß er mit WritePixelArray() arbeitete, welches gern RGB-Reihenfolge für die Ausgangsdaten hätte. Dadurch erreichte er nicht das Maximum an Transfer-Geschwindigkeit. Deswegen habe ich ihm empfohlen, die Konvertierung beim Laden selbst vorzunehmen, weil dann der Transfer _ohne_ Konvertierung durch CGFX abläuft. Im Grunde ist es für ihn mehr oder weniger nur ein Lernprojekt, da nützt es ihm nicht viel, wenn man ihn ständig darauf hinweist, daß CGFX bereits Konvertierungen erledigt, wenn nötig. Das müßte er inzwischen verstanden haben Man lernt nicht dadurch, daß man ein Rad benutzt, seine Interna zu verstehen, sondern eher dadurch, daß man selbst eins baut. Grüße P.S.: Eine Frage habe ich noch. Warum beißt Du Dich so am BASIC fest? Bei manchen Programmen spielt es keine großartige Rolle, ob sie mit nem C-Compiler oder nem BASIC-Compiler gebaut wurden, das Ergebnis ist im Groben das Gleiche und die BASIC-Variante nicht unbedingt langsamer. Als kleines Beispiel für ein "Husarenstück" eines BASIC-Programmierers empfehle ich immer einen Blick auf "AsteroidsTR" von Thilo Köhler. Reines BASIC -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 22.04.2005 editiert. ] |
|||||
whose
Nutzer
22.04.2005, 18:52 Uhr [ - Direktlink - ] |
Thema: Leistungssteigerung - AGA-Rechner mit 030er
Brett: Amiga, AmigaOS 4 Zitat: Wobei Du halt nicht nach den wahren Gründen fragst, sondern Dir die reißerische Meinung gewisser anderer Leute zu eigen machst. Da diese Meinung nicht den Tatsachen entspricht, ists Propaganda. Punkt. ReAction hieß ehedem ClassAct und ist nur deswegen im OS3.5 gelandet, weils es für einen moderaten Preis mit Sourcen zu bekommen war. Das war bei MUI halt nicht der Fall. So läuft Marktwirtschaft nun mal, bekommt man eine Lizenz günstiger als die andere, nutzt man das günstigere Angebot. Das hat mit "Standard durchdrücken wollen" rein gar nichts zu tun sondern mit wirtschaftlichen Zwängen. Zitat:Zitat: Davon habe ich nichts erwähnt. Du hast damit aber gezeigt, aus welcher Ecke der Wind bei Dir weht Zitat: Du weißt aber schon, daß zu Beginn der Entwicklung von OS3.5 (Ende 1997) und sogar noch nach abgeschlossener Entwicklung (Spätsommer 1999) MUI _mitnichten_ frei verfügbar sondern bei regelmäßiger Nutzung registrierungspflichtig war? Noch dazu konnte man es ohne Lizenz nicht auf kommerziellen CDs veröffentlichen. Hätte mans trotzdem getan, wäre man von Stefan Stuntz verklagt worden. _Das_ ist gängige Praxis. Sicher kannst Du Dir dann auch denken, was passiert wäre, wenn die OS3.5-Kunden hätten doppelt zahlen dürfen (1 Mal OS3.5, 1 Mal MUI) und noch dazu einen eigentlich integralen OS-Bestandteil von Hand nachinstallieren müssen? Sie hätten es nicht gekauft. Ist halt auch gängige Praxis. Zitat:Zitat:Genau - ganz im Gegensatz Du Deinem provokanten "Propaganda"-Sprüchlein weiter oben! Richtig. Und ich kann das "unpersönliche" Sprüchlein sogar mit Tatsachen belegen Zitat:Zitat: Na, dann hoffen wir mal, daß er all die Anregungen aufnimmt und die passende Kombination für seine Bedürfnisse findet Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 22.04.2005 editiert. ] |
|||||
whose
Nutzer
22.04.2005, 16:56 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Wollt grad was dazu schreiben Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 P.S.: Deine Überlegungen zu 24Bit stimmen schon. CGFX/P96 unterstützen in den 68K-Versionen keinen Alpha-Channel, daher werden die Alpha-Channel-Bytes beim Transfer von 24Bit-Pixeln quasi übersprungen (beim Transfer wird implizit ein Byte hinzugefügt um ein komplettes Langwort übetragen zu können). Mit ein Grund dafür, weshalb WritePixelArray() bei 24Bit ziemlich langsam ist. Bei 15/16Bit ists kein Thema, weil da der ggf. vorhandene "Alpha-Channel" (ist eigentlich mehr ne Art Maske, weniger ein echter Alpha-Channel) nur ein Bit in zwei Bytes darstellt. Man beläßt es auf NULL und überträgt einfach die beiden Bytes, implizite Konvertierung in ein Langwort ist da nicht notwendig bzw. kann man zwei Pixel auf einmal in einem Langwort übertragen. Daher auch der beachtliche Geschwindigkeitszuwachs. [ Dieser Beitrag wurde von whose am 22.04.2005 editiert. ] |
|||||
whose
Nutzer
22.04.2005, 16:32 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Hmmm, ich komme hier auf ein reines Speichervolumen von insgesamt 6291456 Bytes pro fertigem Bild ((2 x 24Bit + 16Bit)*Pixelzahl, ohne Konvertierungsschritte). Also gut 6MB. Mal 50 wären das ca. 300 MB/sec. reines Transfervolumen (im Speicher hin und her + vom Speicher über den Bus zur GraKa, immer noch ohne Konvertierungsschritte). Meinst Du nicht, daß das ein bißchen arg hoch gegriffen ist selbst für einen Amiga mit CSPPC? Noch dazu, wo das RTG-System nicht PPC-nativ ist? Amithlon, AOne und Peg mögen das schaffen (dank nativer RTG-Systeme bzw. enorm schneller 68K-Emu bei Amithlon und dessen Vorteil der ggf. vorhandenen Busmaster-Fähigkeit der verwendeten GraKa), aber selbst das bezweifle ich ein wenig. Ich traue dem BlizzardPPC-System ca. 40MB/sec. über den Mini-PCI zu, wenn der 060 im Einsatz ist, allerdings habe ich nie verlässliche Aussagen dazu gehört. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
22.04.2005, 15:57 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Weil ihm der Sinn danach steht? Genauso könnte man fragen, wozu er einen Image-Viewer baut, wo es doch schon so viele gibt... Zitat: Genau. Und vorerst hat er keinerlei andere Absicht geäußert. Machts doch nicht immer so kompliziert für die, die noch lernen wollen, wie der Kram intern funktioniert. Zitat: Und nichts anderes habe ich ihm gesagt. Er muß sich auch um die Konvertierung kümmern, wenn er diese Aufgabe nicht den CGFX-Funktionen überlassen will, die das ja erst während des Transfers erledigen (wenn auch verflucht schnell). Nur, wenn die Daten bereits passend im Speicher vorliegen, kann er sich die Konvertierungen (auch die _implizite_ durch WritePixelArray()) beim _Transfer_ sparen. Zitat: Du weißt aber schon, daß das beim Permedia2 von vornherein zum Scheitern verurteilt ist, wenn er gern einen RGB-Screen öffnen möchte? Der Chip läßt RGB-Reihenfolge bei 24-Bit (bzw. ARGB bei 32 Bit, Permedia2 bietet gar kein 24Bit ohne Alpha-Channel) nämlich ganz einfach nicht zu. Was glaubst Du, wofür CGFX/P96-WritePixelArray() _implizit_ in die _native_ Bytereihenfolge konvertiert, falls die Bitmap nicht im _passenden_ Pixelformat vorliegt? Du kannst die Pixelformate, die CGFX/P96 unterstützt, beliebig für eine (kompatible) Bitmap wählen, die werden dann beim Transfer auf die GraKa via WritePixelArray() implizit konvertiert. Zitat: *hüstel* Genau an der Stelle ist Ralf doch jetzt Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
22.04.2005, 15:30 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Und genau deswegen, meine ich, ist es am sinnvollsten, beim Laden der Bilddaten bereits die passende Byte-Reihenfolge im Speicher abzulegen. Macht man das so, daß ein Byte geladen wird, überprüft, an welche Stelle im Speicher es stehen muß und es dann auch einzeln zur GraKa überträgt, wirds gnadenlos langsam (min. 1 kompletter Zorro-Zyklus für 1 Byte. Aua! ). Die "Konvertierung" in die jeweils passende Byte-Reihenfolge ist wirklich nicht schwer. Als kleiner Denkanstoß hier mal ein kleiner (C- ) Code-Ausschnitt, mit dem die RGB-Werte einer Palette in die Farbregister geschrieben werden: (Namen der Variablen z.T. symbolisch) for(i = 0; i < screen->numcregs; i++) { SetRGB32(screen->ViewPort, i, screen->cregs[i * 3 + 0], screen->cregs[i * 3 + 1], screen->cregs[i * 3 + 2]); } Wie man sieht, steht damit die resultierende Reihenfolge der Bytes im Speicher (hier: dem _Array_ der Farbregister) fest. Bestimmt wird die Reihenfolge durch die jeweilige Addition von 0, 1 und 2 zur aktuellen Schreibadresse im Speicher, welche nach einem Schleifen-Durchlauf um 3 Bytes erhöht wird (i * 3!). screen->cregs steht für die Startadresse des zu beschreibenden Speicherbereichs (hier: Adresse des Palettenregisters 0, bei Dir wäre das die Startadresse der Bitmap), i steht hier für die Anzahl bereits gesetzter Palettenregister und gleichzeitig für den Index im Ausgangsdaten-Array sowie das jeweilige Palettenregister. Bei Dir wäre i die Anzahl bereits gelesener Pixel und die aktuelle Position in der zu füllenden Bitmap. Die Ausgangsdaten kommen bei Dir ja von Festplatte/Diskette. Wenn Du die Additionen in ihrer Abarbeitungs-Reihenfolge umstellst, kannst Du dadurch die resultierende Byte-Reihenfolge im Speicher beliebig anpassen. Angenommen, die Daten kommen in BGR-Reihenfolge von der Festplatte rein und man benötigt sie aber in der RGB-Reihenfolge, dann stünde im obigen Beispiel die Addition mit 2 an erster Stelle (der B-Wert kommt ja als erstes rein, muß aber im Speicher an "letzter" Stelle des 24Bit-Wertes stehen, nämlich Index + 2 Bytes), die Addition mit 0 an letzter (da der R-Wert als letzter geladen wird, aber an "erster" Stelle des 24Bit-Wertes stehen muß, Index + 0 Bytes). Voilá, die Daten liegen im RGB-Pixelformat im Speicher (der Bitmap). Simpel, oder? Genauso für das (absolut exotische) GBR-Format. Addition mit 1 an erster Stelle, Addition mit 0 an zweiter Stelle und zuletzt Addition mit 2. Bumms, die Daten liegen in GBR-Reihenfolge im Speicher. Wenn Du das erledigt hast, einfach die Bitmap in den Screen blitten, fertig. Noch ein bißchen mehr Geschwindigkeit würdest Du mit Double Buffering beim Laden und Konvertieren erreichen, aber das ist schon ziemlich komplex. Im oben beschriebenen Fall sorgt das Filesystem schon für eine gewisse Pufferung, so daß die Geschwindigkeit beim Laden nicht allzu sehr leidet. Bedenke aber, daß das _nicht_ mehr so simpel funktioniert, wenn Du die Bilddaten in einer anderen Farbtiefe darstellen willst. In dem Fall solltest Du Dir wirklich Gedanken machen, die guigfx.library o.Ä. zu verwenden. Farbraumkonvertierung ist nicht mehr so trivial Genauso problematisch ist diese Methode, wenn Du das auf andere Systeme portieren wolltest. PCs zum Beispiel arbeiten mit Little Endianess, bei denen sind die Bytes im Speicher jeweils vertauscht (daher stammt übrigens auch die BGR-Reihenfolge bei Deiner GraKa ). Du müßtest höllisch mit der Bearbeitungsreihenfolge aufpassen. Da Du aber mit MaxonBasic arbeitest, gehe ich einfach mal davon aus, daß Dir eine Portierung auf z.B. Linux nicht unbedingt vorschwebt Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
22.04.2005, 11:23 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Hm, Du hast aber schon gelesen, worum es Ralf geht, oder? guigfx und render.library kann er sich da genauso sparen, da CyberGraphX bereits die entsprechende Konvertierung vornimmt, wenn nötig. Da das aber während des Transfers geschieht (genau wie bei der guigfx/render.library), ist die Darstellung etwas langsam. Er versucht, ein 24Bit-Bild _möglichst schnell_ auf den 24Bit-Screen zu bekommen. Was sagt uns das? 24Bit = RGB oder BGR oder... (je nach GraKa). Liegen die Daten nicht im passenden Pixelformat für die GraKa vor, ist Konvertierung des Pixelformats fällig. Allerdings nur in der Reihenfolge der Bytes des 24Bit-Wertes. Da braucht er keinen Riesen-Aufwand an Konvertierung zu treiben sondern muß nur dafür sorgen, daß die einzelnen Bytes in der richtigen Reihenfolge im Speicher landen. Das kann er bequem und schnell während des Ladens erledigen und muß dafür nicht unbedingt auf externe Libraries zurückgreifen. Der darauf folgende Transfer zur GraKa ist intern dann nur noch ein simples MemCopy() und das ist die schnellste Lösung, die noch systemkonform ist. Sobald er allerdings versucht, die Bilder in andere Farbtiefen umzurechnen, würde ich ihm auch guigfx empfehlen. Aber darum gehts ihm vorerst ja nicht. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 22.04.2005 editiert. ] |
|||||
whose
Nutzer
22.04.2005, 11:04 Uhr [ - Direktlink - ] |
Thema: PC geht ins Internet ohne Aufforderung
Brett: Andere Systeme Mal ne ganz blöde Frage bezüglich der automatischen Einwahl des PCs, sobald der Amiga ans Netz geht: Du machst das per "Internet Connection Sharing" auf dem PC, richtig? Hast Du zufällig auf dem Amiga in Genesis einen DNS-Eintrag, der auf den DNS Deines Providers verweist? Wenn ja, liegt da der Hase im Pfeffer. Gib den PC als DNS an (die IP des PCs), dann hört das auf. Sollte das wider erwarten nicht der Fall sein, weiß ich dabei auch nicht so recht weiter. Zum Auflegen des Modems: Hast Du mal ein anderes Modem ausprobiert? Andererseits ist nicht so ganz klar, ob der Amiga ein eigenes Modem hat und deswegen nicht rausfliegt. Oder dreht es sich da um das gleiche Modem? Wenn ja, wirds kompliziert Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
22.04.2005, 10:12 Uhr [ - Direktlink - ] |
Thema: Leistungssteigerung - AGA-Rechner mit 030er
Brett: Amiga, AmigaOS 4 Offtopic: Zitat: Noch so einer, der auf die Propagandasprüchlein reingefallen ist und die eisern durchschleppt. Frag doch erstmal Stefan Stuntz, warum MUI nicht als "Standard" in OS3.5 übernommen wurde... Naja, wenigstens hast Du häufiger erwähnt, daß das größtenteils Deine persönliche Meinung ist Ontopic: Tips gabs ja hier nun genug, die alle mal ausprobiert werden sollten. Ich denke, für die Rechnerleistung war nun wirklich alles dabei, was es so an Möglichkeiten gibt. Welche Variante dann zusagt, ist mehr eine Sache der persönlichen Vorlieben. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
22.04.2005, 03:16 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Mehr als flüssiger. Überflüssig . Der Extra-Test auf BGR ist redundant, wenn die verwendete GraKa den nicht beherrscht. Dann mußt Du sowieso erst einmal ermitteln, welches Pixelformat die GraKa verwursten kann. Wenn Du den Test auf BGR da gleich mit einbaust, hast Du ein paar Zeilen Code gespart Zitat: Meines Wissens nach gibts dafür keine spezielle Funktion. Eine (theoretische) Möglichkeit wäre, dem Screenrequester der Reihe nach alle Pixelformate als Filterkriterium mitzugeben und die sich ergebenden Listen auszulesen. Das wäre aber alles andere als elegant Kümmer Dich nicht so sehr darum, was Du alles vor der Konvertierung in Erfahrung bringen kannst, das ist unnötiger Aufwand. Die Ermittlung des Pixelformats ist keine große Sache (GetCybBitmapAttr()) und Konvertieren bleibt Dir, wenn die GraKa nicht mitspielt, sowieso nicht erspart Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 22.04.2005 editiert. ] |
|||||
whose
Nutzer
22.04.2005, 02:45 Uhr [ - Direktlink - ] |
Thema: P96 oder Cgfx3 ?
Brett: Amiga, AmigaOS 4 Zitat: Ich such Dir die Stellen bei Gelegenheit mal raus, in denen ausdrücklich steht, daß man _keinerlei_ Annahmen über das Pixelformat eines Screens machen sollte und nicht damit rechnen darf, daß ein Screen immer eine Palette besitzt. Müßte in den Reference Manuals gewesen sein (also schon zu 2.0-Zeiten). Jetzt auf die Schnelle schaff ich das nicht mehr. Andererseits ist das von sich aus schon logisch, weils da z.B. auch noch den HAM-Modus gibt, der auch keine korrekten Palettenwerte liefern kann. Auch wenns kaum einer nutzte, hätte trotz allem die Möglichkeit bestanden, das ein älteres Programm sich mal auf einen HAM-Screen verirrt. Hätte man da Commodore die Schuld geben müssen, wenn das nicht funktioniert hätte? Zitat: Eben. Aus Kompatibilitätsgründen. Allerdings war diese Kompatibilität so nicht geplant, sondern eine Notlösung mangels RTG von Commodore (und ein marktgewinnendes Feature. Die Workbench in 16,8 Mill. Farben, wow!). Frag doch mal Frank Mariak, was er von der Paletten-Emulation wirklich hält... Zitat: Es besteht überhaupt keine Notwendigkeit, daß ein Programm direkt feststellen kann, ob ein Screen eine Palette bietet. Du kannst jederzeit herausfinden, ob Dein Programm in der Lage ist, einen Paletten_wert_ vom Screen zu bekommen oder nicht. Kommt der Wert -1 von ReadPixel(), klappt das nicht. Das Programm kann aus irgendwelchen Gründen nicht arbeiten (welche Gründe das sind, spielt keine so große Rolle. Es geht nicht und fertig!), da es keinen Palettenwert bekommt, und sollte genau das dem Anwender melden. Wozu ist denn der Returnwert -1 von ReadPixel() sonst da? Stürzt das Programm deswegen ab, ists erbärmlich zusammengeklempnert. Zitat: Ach so... also erwartest Du ernsthaft, daß bei jeder OS-oder Hardware-Weiterentwicklung auf Programme Rücksicht genommen wird, die selbst keine Rücksicht auf Programmierkonventionen nehmen oder gar nicht in der Lage sind, von Neuerungen zu profitieren? Dann hätts doch gar keine Grafikkarten gebraucht, die alten Programme nutzen doch eh nur max. 256 Farben... Zitat: Einige wenige hier im Forum bieten immer nur diese Antwort, aber in diesem speziellen Fall sagt sie wirklich alles: Read The F****** Manual! Genau da ist der richtige Ort, um ein paar Bemerkungen des Entwicklers unterzubringen, die dem Anwender bei solchen Problemen weiterhelfen könnten. Ein Satz in der Anleitung genügt: "Bringt das Programm die Fehlermeldung "Bekomme keinen Palettenindex geliefert", sollten sie einen Bildschirmmodus wählen, dessen Farbtiefe 256 Farben oder weniger beträgt.". Besonders viele andere Möglichkeiten gibt es nämlich nicht, die dieses Problem hervorrufen könnten. Damit ist auch das elegant gelöst und das OS kann sich dann sogar einigermaßen ungestört weiterentwickeln. Übrigens: Auch CGFX liefert bei manchen Bildschirmmodi -1 zurück, wenn man den Palettenindex eines Pixels mittels ReadPixel() erfahren möchte. Also genau so gut oder so schlecht wie P96. Darum gings hier ursprünglich... Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
21.04.2005, 22:52 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Laß den Punkt 1 einfach weg, der ist mehr als flüssiger Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
21.04.2005, 16:25 Uhr [ - Direktlink - ] |
Thema: P96 oder Cgfx3 ?
Brett: Amiga, AmigaOS 4 Zitat: Das ist schlicht nicht korrekt. Die Autodocs sagen eindeutig, daß die ...Pixel() Funktionen _palettenbasiert_ (pen number!) arbeiten. Das das nun mal nur bei den GraKa-Modi =8Bit und den Amiga-Chipsätzen der Fall ist, ist mehr historisch bedingt. TrueColor-Hardware für den Amiga (Stichwort: AAA) war schon bei C= in der Entwicklung, also wäre das da u.U. auch schiefgegangen, wenn ein bestimmter Modus keine Palette hätte bieten können (24Bit vor allem. 16MB Paletteneinträge? ). Das man mit WritePixel() oder Set...Pen() einen Palettenwert auch bei Screens >8Bit übergeben kann, ist mehr ein Zugeständnis an die Funktionsweise der aktuellen graphics.library/intuition.library denn gewollt (hast Du Dich schon mal gefragt, warum Du trotz z.B. 24Bit Farbtiefe nur 256 Paletteneinträge hast?). Sämtliche mir bekannten GraKas bieten in den Hi/Trucolor-Modi _keine_ Palette in Hardware an, man wäre hier also auf _vollständige_ Software-Emulation angewiesen (also Emulation einer Palette auch für ReadPixel() und Verwandte), was aber wohl nicht im Sinne des Erfinders ist (Geschwindigkeit?). Die vom PC stammende Hardware für Grafik >8Bit ist schlicht und ergreifend nicht für palettenbasiertes Arbeiten gedacht, also sollte man das auch lassen und den Anwender bitten, einen anderen Screenmode zu wählen oder, noch besser, unter OS3.x gleich die Modi, die keine Palette in Hardware bieten (was bei fast allen GraKas die Modi >8Bit sind), vom "Geschehen" ausschließen. Bedeutet im Umkehrschluß: Läuft Software mit ReadPixel() nicht auf einem Screen >8Bit, hat der Entwickler der Software Bockmist gebaut (ReadPixel() liefert -1? Kann doch gar nicht passieren...), nicht die Entwickler des RTG-Systems. Dem Anwender bleibt aber trotzdem die Möglichkeit, auf einen palettenbasierten 8Bit-Modus auszuweichen, da funktioniert alles wie gewohnt. Auch unter P96. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 21.04.2005 editiert. ] |
|||||
whose
Nutzer
21.04.2005, 14:53 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Naja, er denkt da wohl auch (genau wie ich ) mehr an das Zeiger-Hantieren, daß ja nicht unbedingt BASIC-typisch ist. Auch in BlitzBasic2 sehen die Sourcen mehr nach C-Code aus als nach BASIC, wenn man systemnah programmiert. Für C-Programmierer, die ein bißchen Information aus den Sourcen gut gebrauchen könnten, ist das hingegen recht praktisch, weil leicht lesbar Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
21.04.2005, 11:42 Uhr [ - Direktlink - ] |
Thema: P96 oder Cgfx3 ?
Brett: Amiga, AmigaOS 4 Zitat: Ich habe eine CV64/3D. Wenn der VirgeDX genutzt wird, geht das schon einigermaßen ab. Gut zu sehen bei Descent, welches dadurch sogar auf nem 030/50 radebrechte spielbar wird. Zitat:Zitat: Kannst Du das mal näher erläutern? Ich habe heut Nacht mal ein wenig mit ReadPixel() gespielt und kann da keine Anzeichen für eine "erweiterte" Interpretation entdecken. Geschweige denn, daß ich nen Guru präsentiert bekam. Wie es sich (laut AutoDocs) gehört, gab P96 für z.B. nen 16Bit-Screen -1 zurück statt einem Paletteneintrag. Zitat:Zitat: Wie gesagt, das kann ich nicht nachvollziehen. ReadPixel() verhält sich hier unter P96 exakt so wie unter CGFX oder AGA, es gibt -1 zurück , wenn ein Screen >8Bit ohne Palette vorliegt und das wars. So sollte es ja auch sein. Wenn die alte Software damit aber nicht klarkommt, ist das weniger die Schuld des RTG-Systems sondern die des Software-Entwicklers. Der hat dann schlicht und ergreifend gepennt und/oder die Autodocs nur halb gelesen. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
21.04.2005, 03:18 Uhr [ - Direktlink - ] |
Thema: P96 oder Cgfx3 ?
Brett: Amiga, AmigaOS 4 Zitat: Soweit ich weiß, besitzt die CV64 keine 3D-Hardware, wäre daher also der CV64/3D bei 3D automatisch unterlegen. Allerdings wurde bei der CV64 der Zorro3-Bus besser implementiert, daher ist die CV64 in 2D meist etwas schneller als die 3D-Variante. Zum Thema ReadPixel(): Alte Software, die von ReadPixel() den Rückgabewert in 8Bit erwartet, läuft mit _allen_ RTG-Systemen auf einem Screen >8Bit nicht ordentlich. Ebenso Software, die von Planar-Grafik ausgeht, ohne diese ausdrücklich anzufordern. Alles andere (systemkonforme Entwicklung des jeweiligen Programms vorausgesetzt) läuft unter P96 genauso gut oder schlecht wie unter CGFX. Zumindest habe ich hier auf allen Systemen (CGFX/P96 gemischt) die gleiche Software-Ausstattung, und z.B. PersonalPaint ist unter CGFX genauso schwierig zu handhaben wie unter P96. Ansonsten habe ich nie einen Unterschied bemerkt, sogar bei meinen selbstgebauten Spielen nicht. Würde mich auch wundern, weil das grundlegende Konzept jeweils stark ähnlich ist. Es ist z.B. kein Problem, ein Programm mit direktem VRAM-Zugriff auf beiden Systemen laufen zu lassen. Wenns mit CGFX3 geht, gehts auch mit P96. Umgekehrt ist schon schwieriger, geht aber auch, sofern man keine "Spezialitäten" des jeweiligen RTG-Systems benutzt. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
whose
Nutzer
21.04.2005, 02:07 Uhr [ - Direktlink - ] |
Thema: Transverspeed PPC603e -> BVision
Brett: Programmierung Zitat: Stimmt schon, aber was ist da unkomplizierter? Sicher kann man auch die friend BitMap-Option verwenden, aber das Pixelformat überprüfen muß man eh, wenn man nicht nur einen GraKa-Typ unterstützen will. Wenn Ralf dann sowieso schon "weiß", welches Format die Bitmap haben muß, kann er das doch auch direkt statt via friend BitMap angeben. Der Effekt ist der Gleiche. Die Menge an Funktionsaufrufen bleibt gleich und sogar die Funktionsaufrufe selbst sind die gleichen. Nur die Parameter und der Programmfluß sind etwas anders. Dafür hat er alles Notwendige in einer Funktion, die das in einem Abwasch erledigt und nur noch das Pixelformat als Rückgabe-Wert liefert. Den kann er dann für die Konvertierung nutzen, falls nötig. Normalerweise würde ich den von Dir genannten Weg auch bevorzugen, weil man dabei das Pixelformat als Blackbox betrachten kann. In diesem Fall muß Ralf aber doch genau erfahren, welches Pixelformat für die Konvertierung benötigt wird, da bringt das Blackbox-Konzept wenig. Ganz abgesehen davon, daß er in MaxonBasic programmiert @Ralf: Tschuldige, daß das Ganze hier etwas in C-Sprachkonventionen ausartet, aber AmigaOS hat C halt "lieb" Wenn Du da Fragen haben solltest, kannst Du die ja problemlos hier oder per Mail stellen. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 |
|||||
|
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |