amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Suche [ - Suche - Neue Beiträge - Registrieren - Login - ]

Erste << 8 9 10 11 12 -13- 14 15 16 17 18 >> Letzte Ergebnisse der Suche: 1858 Treffer (30 pro Seite)
Reth   Nutzer

02.09.2011, 22:43 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

@ZeroG:

Danke für den Tip! Das hat etwas geholfen!
Derselbe Modus wird via DDC vom Monitor angeboten, allerdings mit 61Hz (bei Angabe von +RB sinds 60Hz, ohne Angabe von +/-RB habe ich manuell keine 60Hz hinbekommen, auch wenn ich sie überall angegeben hatte, die Graka hat immer in 61Hz gesendet, das klappt über DVI nicht).
Dieser vom Monitor angebotene Modus funktioniert allerdings nur via VGA!

Die Lage hat sich jedoch verschlimmbessert! Das Bild wird zwar über DVI angezeigt, hat aber massive Störungen: Ab und zu flimmert ein einzelner dünner schwarzer Streifen über den Bildschirm und aller 2-3 sec verschwindet das Bild (Monitor schwarz), so als ob kein Signal anliegt. Dann kommt es wieder.
Alle manuellen Versuche mit geänderten Frequenzen, sowie mit -RB oder ganz ohne Angabe schlugen fehl (s.o., denke es liegt an dem 60/61Hz Thema)!

Nun weiss ich leider nicht, wo dafür das Problem liegen kann! An der GraKa, dem Kabel, oder doch dem Monitor?

Die 9200 ist passiv gekühlt. Könnte es daran liegen (zu heiß)?

Werde am WE mal die andere 9200 probieren. Hätte dann auch noch ne aktiv gekühlte 7000er (oder 7500er, weiss gerade nicht genau)! Ärgerlich, hab eigentlich genug andere Sachen zu tun. Ich möchte aber unbedingt feststellen, ob mit dem Monitor alles in Ordnung ist!

Für weitere Ideen und Tips bin ich natürlich dankbar!
 
Reth   Nutzer

02.09.2011, 14:47 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

@thomas:
Danke für den Hinweis! Habe den Thread zwar noch nicht gefunden, dafür andere Hinweise im Netz, die in dieselbe Richtung gehen, d.h., dass die Radeon9200 über DVI kein Full HD leisten kann.

Der Samsung-Support kam zum selben Schluss und empfahl mir den Grafikkartenhersteller zu kontaktieren. Der Grafik-Support bei AMD hatte leider nicht so viel Ahnung von diesem Problem und konnte die Annahme nicht bestätigen sondern geht eher davon aus, dass die Karte die Auflösung über DVI leisten kann! Seine Empfehlung war mal manuell die Auflösungen einzustellen und dabei auch die Frequenzen zu wechseln.

Ein anderer Verdacht wäre noch, dass die Karte die Auflösung über DVI gar nicht unterstützt, sondern nur über VGA! Über DVI wäre dann 1920x1200 wahrscheinlich die nächst höhere Auflösung.

Frage in die Runde:
Hat zufällig jmd. die Radeon9200 mit 128MB über DVI an einem Monitor mit 1920x1080 laufen?
 
Reth   Nutzer

01.09.2011, 10:11 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

@Mika:
Danke Dir!

@All:
Habe gestern noch ein bisschen nachgeforscht:
Dass über DVI-VGA-Adapter wieder die volle HD Auflösung angezeigt wird liegt an den DVI-I-Ausgängen der Radeons, die über die 4 Pins um den breiten Führungsstift das analoge Signal rausgeben (laut meiner Internetrecherche).

Nun muss ich "nur" noch rausfinden, ob es am Kabel liegt, dass keine volle HD-Auflösung über DVI am Monitor angezeigt wird, sondern "nur" 1680x1050, oder ob es am Monitor selbst liegt. Wird schwierig, da ich keine andere DVI-Quelle habe und auch (noch) kein anderes DVI-Kabel (kosten im Fachgeschäft bei uns > 20 - 30 Euro, wenn mans bestellt < 10 Euro)!

Oder hat von euch noch einer ne Idee, wie ich die Ursache auf einem anderen Weg rausfinden könnte?

Ciao
 
Reth   Nutzer

31.08.2011, 21:52 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

Also hab nun doch geschraubt und bin zur Erkenntnis gekommen, dass es am Kabel liegen muss! Es ist ein Dual-Link-DVI-D-Kabel (DVI-D Kabel 24+1 polig DUAL LINK 3m vergoldet), dem die 4 Pins um den breiten Führungsstift fehlen! Diese sind allerdings am DVI-Eingang des Monitors ebenfalls nicht vorhanden!

Habe meine andere Radeon9200 eingebaut, mit demselben Ergebnis. Dann habe ich mal den DVI->VGA-Adapter auf die Karte gesteckt und getestet. 1920x1080x32 funktionieren so einwandfrei, d.h., die Karte liefert den gewünschten Output über DVI anstandslos.

Bleibt wohl nur noch das Kabel (oder der DVI-Eingang am Monitor)! Welches Kabel brauche ich denn genau? Oder brauche ich noch nen DVi-DVI-Adapter? Laut meinen bisherigen Recherchen im Web müsste mein DVI-D Duallink-Kabel eigentlich auch für die Full HD Auflösung problemlos funktionieren!

Ich blick da nicht durch! Könnte der Monitor doch ein DVI-Problem bei Full HD Auflösung haben? Und wie kann ich das rausfinden (habe keine anderen Quellen, die diese Auflösung auf DVI liefern könnten!)?

[ Dieser Beitrag wurde von Reth am 31.08.2011 um 23:03 Uhr geändert. ]
 
Reth   Nutzer

31.08.2011, 20:49 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

@ZeroG:
Inwiefern hilft das weiter? Ich kenne die Anleitung und habe nach ihr den Monitortreiber für meinen Röhrenmonitor erstellt! Vielleicht hab ich die relevanten Teile übersehen. Daher hier (z.T. nochmal die Fragen):

Wie gesagt funktioniert der LED mit VGA-Kabel O H N E Monitor-Datei bestens! Ich kann eine Auflösung mit 1920x1080x32 problemlos fahren. Das Ganze klappt mit DVI-Kabel nicht! Welchen Teil des Dokumentes meinst Du, der hier konkret hilft?

Habe nun eine neue Monitor-Datei erstellt und in Bildschirmmodus-Einstellungen unter Monitor auf "Erkenne Einstellungen automatisch" und "Alle unterstützten Modi" gestellt. In den Tooltypes befindet sich k e i n Eintrag namens SETTINGSFILE (hat sich auch noch nie)! Nun werden mir zwar mit DVI-Kabel alle Modi angeboten, aber bei 1920x1080 erscheint kein Bild (Monitor sagt: "Kein Signal")! Ich bekomme max. 1680x1050 hin! Mit VGA-Kabel war es die volle Auflösung! Welcher Teil der Anleitung hilft mir genau zu diesem Problem?

Muss nochmal die GraKa im Web nachlesen, kann es sein, dass sie über DVI weniger Auflösung schafft als über VGA (kann ich mir nicht vorstellen)?

@MiKa:
Welche Auflösung in welcher Farbtiefe nutzt Du und mit welcher Verbindung? Was hast Du am Monitor unter "Namen vergeben" eingestellt? Bei mir spielt es mit DVI keine Rolle, was ich am Monitor als Namen vergebe, ich kann nie die volle Auflösung nutzen!

Hat da jemand noch nen Tip?

Ich probier nochmal VGA inzwischen!

Ergebnis mit beiden Kabeln angeschlossen:

VGA-Kabel => Full-HD Auflösung in 32 Bit problemlos möglich
DVI-Kabel => max. 1680x1050 möglich; unter Full HD meldet der Monitior "Kein Signal", egal was ich dem DVI-Eingang zuweise (bisher probiert: PC, DVI PC und DVI)!

Das liegt sicher nicht am AOS! Kann es am Kabel liegen? Oder muss ich meine Ersatz-Radeon 9200 ausprobieren (will eigentlich nicht am Rechner rumschrauben!)?

Ciao

[ Dieser Beitrag wurde von Reth am 31.08.2011 um 21:04 Uhr geändert. ]
 
Reth   Nutzer

31.08.2011, 13:35 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

@Mika:
Macht nichts, habs trotzdem mit bekommen!

Das mit dem Monitor-Reiter funktioniert bei mir nicht, egal, ob ich die Datei für den Radeon9200 Monitor in DEVS:Monitors habe, oder ob DEVS:Monitors leer ist!
Das bringt mich aber auf die Idee mir mal die ToolTypes dieser Datei anzusehen, evtl. hilf das ja!

Weiss sonst jmd., wie ich den Reiter "Monitore" bei den ScreenMode-Einstellungen wieder aktiviert bekomme?

Ciao
 
Reth   Nutzer

31.08.2011, 12:52 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

@Mika:

Danke für die Antwort.
Über VGA-Kabel schien das ja geklappt zu haben. Werde heute hoffentlich noch probieren können, irgendwie ein Bild zu bekommen (zur Not nochmals via VGA-Kabel).
Wo kann ich die denn nachträglich aktivieren, falls sie noch nicht eingeschalten ist?

Ciao
 
Reth   Nutzer

31.08.2011, 11:18 Uhr

[ - Direktlink - ]
Thema: AOS4.1: Pegasos2 mit Radeon9200 und DVI-Anschluss
Brett: Amiga, AmigaOS 4

Hallo zusammen,

leider bin ich vollständiger Neuling, was das Thema LCD/LED Monitore am Amiga/Pegasos betrifft.

Da mein treuer alter EIZO FlexScan T965 aufgrund von heimischen "Umstrukturierungsmaßnahmen" weichen musste, kam ein Samsung SyncMaster XL2370HD LED ins Haus (und schlug 2 Fliegen mit einer Klappe - Computermonitor und [Full-]HD-Fernseher).

Nun hatte ich zunächst meine Radeon via VGA-Kabel an den Samsung angeschlossen. Da ja noch alle Screenmodes auf den EIZO eingestellt waren, hatte ich nach dem Booten natürlich kein Bild. Daher habe ich mal die screenmode.prefs aus ENVARC: und den Monitor aus DEVS:Monitors entfernt. Nachdem nur die screenmode.prefs fehlten waren dennoch alle alten EIZO-Auflösungen da, erst nach dem Entfernen des Monitors lief zwischen AOS4.1 und dem Samsung alles automatisch ab und die WB stellte sich auf die Full-HD-Auflösung selbstständig ein. Hat mich natürlich beeindruckt und gefreut!

Nun kam gestern endlich auch mein DVI-Kabel an und ich ersetzte das VGA-Kabel zw. Radeon und Monitor mit diesem Kabel. Am Monitor stellte ich den DVI-Eingang wie von Samsung empfohlen auf DVI PC.
Während des Starts sehe ich auch das Laden der Kickstart-Komponenten, sowie das Bootlogo (Letzteres in 800x600, das Kickstart-Laden weiss ich nicht mehr genau, ne seltsame Auflösung mit 75Hz).
Allerdings wird nach dem Bootlogo nun nichts mehr angezeigt und der Monitor meldet "Kein Signal"!
Woran kann das liegen? Die letzten Einstellungen via VGA an diesem Monitor hatten doch gepasst und ich hatte eine Full-HD WB, die auch super angezeigt wurde?
Weiss da jmd. Rat? Wie bekomme ich denn die WB über DVI in Full-HD und andere Screens (Spiele, Malprogramme etc.) über DVI in ihren benötigten Auflösungen dargestellt bzw. was muss ich dafür noch tun?

Was auch seltsam war: Als ich den Monitor über VGA-Kabel angeschlossen hatte, konnte ich in den ScreenmodePrefs den Monitor-Reiter nicht aktivieren/benutzen! Dieser war ausgegraut und liess sich nicht anwählen, auch nicht, nachdem ich die alte Monitor-Datei mit den EIZO-Einstellungen gelöscht hatte! Woran liegt das denn nur?

Danke schon mal!

Ciao
 
Reth   Nutzer

15.08.2011, 00:05 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

Hi Holger,

Zitat:
Original von Holger:
Bleibt nur SimpleRefresh + eigene BitMap.

Dann werd ich das mal probieren (und muss mir wohl doch noch ne BitMap-Klasse schreiben! Hab derzeit "nur" ne RastPort-Wrapper-Klasse nebst den anderen Verdächtigen wie Window, Screen etc. - vielleicht sollte ich auf qt umschwenken von wegen High-Level-API usw)!
Macht in diesem Fall Clipping dann auch noch Sinn, v.a., wen mit zunehmender Zeitdauer zu erwarten ist, dass sich viele Regionen an unterschiedlichen Stellen innerhalb der BitMap im Rahmen einer Aktualiesierung ändern?
Zitat:
Original von Holger:
Klingt für mich nach einem Fehler. Welche OS-Version?

Compiliert und getestet unter AOS4.1(beta).



[ Dieser Beitrag wurde von Reth am 15.08.2011 um 00:20 Uhr geändert. ]
 
Reth   Nutzer

05.08.2011, 22:23 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

Zitat:
Original von Holger:
Da musst Du es aber von Hand programmieren. Der in dem Beispiel gezeigte Fall, dass man die SuperBitMap von Hand anlegt, sollte der Sonderfall sein. Was Dir SuperBitMap-Fenster außerdem abnehmen, ist das Nachdenken über systemseitigen Damage, da die entsprechenden Regionen automatisch wiederhergestellt werden. Was ich nicht genau weiß, ist, wie das System die programmseitigen Updates handhabt.

Nach dem bisher gelesenen muss man bei SuperBitMap-Fenstern doch immer die BitMap selbst angeben, oder hab ich was übersehen?
Von Hand auch bei SmartRefresh? Wird dort nicht auch vom System der "systemeigene Schaden" repariert?
Zitat:
Original von Holger:
SuperBitMap Fenster sind keine Screens. Dein Scrollen einer SuperBitMap ist nichts anderes, als ein Blit von der SuperBitMap in die Screen-BitMap.

Heisst das, dass eine BitMap in Fenstergröße reicht und ich dann eine zusätzliche BitMap in Fenstergröße im Speicher halte, in der ich immer das gesamte Bild aufbaue, welches ich dann in einem Blit ins Fenster blitte? Wenn ich das bei nem "normalen" Fenster auch so mache, ist das doch genauso, oder nicht?
Zitat:
Original von Holger:
Wenn Du Fenster verwendest, kannst Du keine Pointer-Updates oder ähnlich gelagerte Buffer-Techniken einsetzen.

Hm, was würde denn passieren, wenn ich dem Fenster einen Zeiger auf eine andere, von mir angelegte BitMap unterjuble?
Zitat:
Original von Holger:
Aber unter Verwendung der ClipRects? Theoretisch sollte die Größe der sowieso nicht geblitteten Bereiche überhaupt keine Rolle spielen.

Ja, unter Verwendung der ClipRects! Das hat mich auch gewundert. In meinem hier verlinkten Bsp.-Programm hab ich mal ne Schleife um das Clippen und Blitten gebaut und ein EraseRect auf den ganzen Fensterbereich eingefügt. Das flackert sehr stark. Nach Reduktion des EraseRect auf die Bounds der ClippingRegion ist kein Flackern mehr erkennbar!
 
Reth   Nutzer

05.08.2011, 12:39 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

[quote]
Original von Holger:
Zitat:
Na ja, nach meinem Verständnis wäre das gar nicht nötig, wenn man zuerst alles in die Offscreen-BitMap rendert und diese dann in das Fenster blittet. Übergroße BitMaps brächte man dazu gar nicht.
Aber das kann ich doch auch mit nem normalen Fenster ohne SuperBitMap, oder versteh ich da was falsch? Der "Nachteil" dieser Methode ist dann aber ein zusätzlicher Blit im Vgl. zum Umbiegen von Zeigern (wie von Thore auch vorgeschlagen) oder dem Scrollen im SuperBitMap Fenster.
Hab mir mal ein Bsp. zum SuperBitMap-Fenster ausm Aminet gesucht, aber noch nicht reingesehen!
Zitat:
Original von Holger:
Ich dachte, das wäre sowieso der Fall?

Jetzt schon. :D Hatte zuerst die grobe Kelle geschwungen und immer den ganzen Spielbereich gelöscht.
 
Reth   Nutzer

04.08.2011, 16:14 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

@Holger:
Danke für den Hinweis!

Das zweite Bsp., das ich angeführt hatte bezieht sich auf SuperBitMaps (so wie von Dir schon angesprochen)! Mein bisheriges Verständnis davon ist, dass dort die BitMap größer sein kann als das Fenster (also ich würde in meinem Fall einfach doppelte Höhe nehmen). Dann wird der sichtbare Teil der BitMap immer im Fenster dargestellt, im restlichen Teil kann man dann die Aktualisierung vorbereiten, anschließend kann man den sichtbaren Teil in einem Rutsch aktualisieren.
Das Bsp. sollte zeigen, wie das funktioniert und man somit eine Doublebuffering-Methode mit Fenster hinbekommt! Wie gesagt, muss ich mir erst näher ansehen!

Ein Update noch in eigener Sache: Habe gestern noch etwas optimiert und so das Flackern wegbekommen (EraseRect wird nun nur noch in den Bounds der ClippingRegion durchgeführt - sobald diese aber wieder groß genug ist wird das Problem natürlich wieder auftauchen!). Also kein wirklicher Durchbruch.

Nächster Versuch wird wohl das SuperBitMap-Window! Allerdings muss ich dessen Arbeitsweise erst einmal verstehen!
 
Reth   Nutzer

03.08.2011, 22:23 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

Zitat:
Original von Holger:
Auch das habe ich bereits geschrieben. Im selben Beitrag.

Meinst Du den Teil hier:
Zitat:
Original von Holger:
Wie bereits gesagt, alles neu zeichnen plus double-buffering, ohne mit dem System zu interagieren, ist der am häufigsten anzutreffende Algorithmus.

Oder frühere Posts? Mir gings speziell ums Doublebuffering.
Zitat:
Original von Holger:
Das ist die Holzhammer-Methode. Dafür gibt es zwei bessere Alternativen. Die systemfreundlichste wäre es, die extra dafür vorgesehenen Funktion der intuition.library namens AllocScreenBuffer, ChangeScreenBuffer und FreeScreenBuffer zu benutzen. Da diese in der Anfangszeit von RTG Probleme auf RTG-Systemen bereiteten, hat es sich zu dieser Zeit eingebürgert, stattdessen einen doppelt hohen Screen zu verwenden und diesen über Änderungen des Offsets in ViewPort->RasInfo gefolgt von ScrollVPort zwischen der oberen und unteren Hälfte umzuschalten. Letzteres ist auch die Methode, die auf Systemen vor AOS3.0 funktioniert.

Hatte mich schon gefragt, ob das so gut ist, wenn man nem Window einfach den Zeiger auf die BitMap permanent umbiegt!
Zu Deinem Vorschlag für den doppelt hohen Screen: Geht das denn auch, wenn man Autoscroll-Screens verwendet (wie in meinem Fall)? Oder scrollen diese dann den anderen Bereich in den sichtbaren Teil? Oder kann ich die doppelte Höhe unabhängig von der Auflösung angeben?

Wie steht es denn mit sowas hier? Ist das denn nicht auch ne systemkonforme Möglichkeit und geht das genau so mit nem Window auf dem Screen (was ich derzeit benutze, um mit Gadgets, genauer Buttons arbeiten zu können)?
Für diesen Fall ist wohl SuperBitMapWindow keine schlechte Idee! Muss mir aber erst einmal dieses Beispiel genauer ansehen, und verstehen, wie es genau funktioniert (ne Idee hab ich schon) und welche Teile für mich davon relevant sind!

[ Dieser Beitrag wurde von Reth am 03.08.2011 um 23:31 Uhr geändert. ]
 
Reth   Nutzer

02.08.2011, 23:20 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

Danke für eure Hinweise.

Das mit der Hintergrundgrafik würde schon helfen, da die Objekte, die ihre Position ändern sich auch in ihrer Darstellung (Form, Größe, ...) ändern. Da ich meine Schichten von unten nach oben alle neu blitte könnte ich bei einem Hintergrundbild mit Clipping auf das EraseRect verzichten und hätte kein Blinken mehr, denn alle Grafiken im geclippten Bereich werden ja eh neu geblittet! Zudem sähe das Spiel auch besser aus. Hatte zu dem Thema Hintergrundgrafik auch schon mal nen eigenen Thread gestartet.

Noch mal die Frage nach dem Doublebuffering: Nach dem bisher Gesagten ist das wohl nicht nur ne OffScreenBitMap, in die man blittet, um aus dieser BitMap in die sichtbare BitMap zu blitten. Oder liegt da noch mehr dahinter, bzw. gibt es weitere Alternativen (einfachere, oder performantere im Hinblick auf Geschwindigkeit)?
 
Reth   Nutzer

01.08.2011, 23:29 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

Danke für eure Tips!

Zitat:
Original von Holger:
Erst einmal eine Verständnisfrage: der graue Hintergrund flimmert nur innerhalb des durch die ClipRects festgelegten Bereiches, oder?

Ja, genau.
Zitat:
Original von Holger:
Wenn Du obige Frage mit ja beantwortet hast, kannst Du versuchen, die die Zeit zwischen den Zeichenvorgängen zu verringern, d.h. den gesamten Prozess zu beschleunigen, oder Du brauchst eine Offscreen-BitMap. Natürlich kann man auch das EraseRect so begrenzen, dass Bereiche, die definitiv immer vom Spielfeld verdeckt sind, nicht extra gelöscht werden. Das reduziert mögliches Flimmern, löst das Problem aber nicht grundsätzlich.

Wie wäre dann die Offscreen-BitMap-Lösung am geeignetsten? Lege ich die BitMap für jeden Refresh-Vorgang in der gerade benötigten Größe neu an oder halte ich vorsorglich eine BitMap in Spielfeldgröße bereit, erstelle nur den zerstörten Bereich mit Clipping neu und blitte diesen in den sichtbaren Bereich?
Der Vorschlag, den immer verdeckten Bereich nicht zu erasen würde z.T. helfen. Wenn ich um mein Spielfeld irgendwie ne "Hintergrund-" bzw. "Umgebungsgrafik" hinbekäme wäre das Problem komplett gelöst.

Denke auch wieder über meine frühere Alternative nach, in der jedes Objekt den Hintergrund sichert, den es überdeckt. Das ist allerdings sehr ineffektiv, da ich so wieder Überdeckungsprüfungen machen muss (mit Hashing kann man das zwar beschleunigen, ist aber dennoch aufwendig und man muss auch viel blitten)!

Frage mich, wie es z.B. bei MegaLoMania gemacht wurde. Dort liegen die Grafiken direkt in ner Datei vor, die werden doch bestimmt auch nur geblittet. Wird dort auch alles immer neu erstellt? Lief ziemlich flüssig aufm A500!
 
Reth   Nutzer

30.07.2011, 11:36 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

@Thore:
Außerhalb. Liegt aber daran, dass ich den Code nun nach dem funktionierenden Vorschlag von Holger umgestellt habe und die ClipRegion auch erst nach EndRefresh() installiert wird. Daher kann ich EraseRect auch erst danach aufrufen.

[ Dieser Beitrag wurde von Reth am 30.07.2011 um 11:45 Uhr geändert. ]
 
Reth   Nutzer

29.07.2011, 22:43 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

So, hallo mal wieder.

Ich habe meinen Code mal umgestellt und es funktioniert soweit. Die alte Position bewegter Objekte wird noch nicht berücksichtigt, dazu muss ich erst mal meine Objektstruktur ändern, so dass die alten Positionen gemerkt werden.

Einen Nachteil hat die Lösung allerdings! Durch das EraseRect flimmerts, da dabei jedesmal der graue Hintergrund des Fensters/Screens durchscheint.
Was kann ich gegen diesen Nachteil noch unternehmen? Offscreen-BitMap nehmen oder Doublebuffering (was ich noch nicht so durchdrungen habe) oder gibt es noch einen einfacheren "Kniff"?

Ciao
 
Reth   Nutzer

25.07.2011, 23:43 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

@Thore:
Dir auch vielen Dank für die Hilfe!
Zitat:
Original von Thore:
Weil bei BeginUpdate die zerstörten Regions berücksichtigt werden. Wenn Du eigene zur Damage Liste hinzugefügt hast, dann werden diese auch verwendet. Beim EndUpdate wird die Damage Liste zurückgesetzt und das Layer freigegeben.
(Anm: BeginUpdate und EndUpdate sind Bestandteil der Layers-Lib und werden automatisch mit BeginRefresh und EndRefresh aufgerufen)

Daher sollte es in meinem Bsp.(-Code) auch keinen Unterschied machen, ob ich die DamageList oder die ClipRegion des Layers nehme. Nach meinem Verständnis zumindest.
Zitat:
Original von Thore:
Warum das System einfriert weiß ich nicht, gibts dazu nen Sourcecode?

Ja, wie gesagt. Nimm einfach mein letztes Bsp. und ersetze die DamageList mit der ClipRegion.
 
Reth   Nutzer

25.07.2011, 22:33 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

Danke!
Zitat:
Original von Holger:
Zitat:
Und wie gerade gefragt, wieso funktionierts, wenn ich die DamageList dazuODERe, nicht aber, wenn ich die ClipRegion des Layers dazuODERe?
In beiden Fällen wird doch bei BeginRefresh mit ner leeren System-ClipRegion verUNDet, denn es ist ja kein Schaden im Layer vorhanden! (Trotzdem tut es mit der DamageList!)

In meinem Code wird aber erst nach EndRefresh() gezeichnet, deshalb findet die VerUNDung nicht statt.
Das ganze funktioniert aber auch nicht mit Deiner Code-Version! Wenn ich die DamageList nehme klappt alles, nehme ich mit Deinem Bsp. die ClipRegion friert das System komplett ein (wie beschrieben). Woran liegt das denn?
 
Reth   Nutzer

24.07.2011, 23:04 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

Zitat:
Original von AmigaHarry:
Ja, Probier mal einen RGB-Mode. Wenn gar nichts hilft sende mit deine Mail per PN.....


Wie gesagt, tut auch nicht. PN ging raus.
 
Reth   Nutzer

24.07.2011, 22:13 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@AmigaHarry:
Wie gesagt, gibt nur WindowedCGX zur Auswahl! Liegts vielleicht daran, dass ich 32Bit (der ARGB-Mode) angegeben habe? Sollte ich es mal mit 16 probieren?
(BTW: Wo hast Du denn die 9200PRO aufgetrieben? Hab monatelang gesucht und dann entnervt zur 9200er gegriffen!)

Nachtrag:
16Bit hilft auch nix! Sieht immer noch genau so übel aus! Ist wie verhext!

[ Dieser Beitrag wurde von Reth am 24.07.2011 um 22:19 Uhr geändert. ]
 
Reth   Nutzer

24.07.2011, 21:57 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@AmigaHarry:
Wie gesagt, siehe mein Bild PreviewOptions! (BTW: Ist das bei Dir unter MOS?)

@Thomas:
PicShow sieht richtig gut aus! Vielen Dank dafür! Zwei Fragen dazu noch:
Kann man PicShow auch in nem "normelen" Fenster laufen lassen und gibt es eine Thumbnail-Funktion zum Anzeigen ganzer Verzeichnisse?

[ Dieser Beitrag wurde von Reth am 24.07.2011 um 21:59 Uhr geändert. ]
 
Reth   Nutzer

24.07.2011, 21:30 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@Thomas:
Manuell klappt es natürlich!
 
Reth   Nutzer

24.07.2011, 21:20 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@AmigaHarry:
Welches meinst Du denn? Das Bild PreviewOptions zeigt meine Einstellungen. Unter Module/Preview gibt es nur WindowedCGX zur Auswahl!
Ach ja. JPEG, JPG oder JFIF gibt es nicht zur Auswahl beim Laden. Nutze daher für JPEGs DataType.

[ Dieser Beitrag wurde von Reth am 24.07.2011 um 21:22 Uhr geändert. ]
 
Reth   Nutzer

24.07.2011, 20:34 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@AmigaHarry:
Also habs nochmal neu gemacht. Beim Start meine volle Auflösung in 32 Bit angegeben, das gleiche bei Preview Options. Dabei wird die Tiefe aber auf 8 beschnitten! Das Ergebnis ist dann entsprechend bescheiden.

Hier mal die Bilder dazu:
Start
PreviewOptions
Ergebnis
 
Reth   Nutzer

24.07.2011, 20:09 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@Thomas:
Lässt sich leider nicht installieren: Interpreter: Executing non-function in Zeile 210.

@AmigaHarry:
Danke!
Die Einstellungen bei Preview hab ich entsprechend. Das Ende vom Lied, es ist ein verwaister Screen mehr geöffnet und wenn ich ein Bild in ImageFX lade wird es ziemlich "verhunzt" auf dem Bildschirm dargestellt, der auch die Werkzeuge etc. anbietet! Mit viel zu wenig Farben.
Zudem ist in der Light Version die Option zum Einstellen des Screenmode für das Interface ausgegraut und steht auf PAL Highres mit Tiefe 4 (kommt der angebotenen Palette nach auch hin). Das kann ich leider nicht umstellen, bräuchte ich aber!

[ Dieser Beitrag wurde von Reth am 24.07.2011 um 20:12 Uhr geändert. ]
 
Reth   Nutzer

24.07.2011, 12:51 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

@AmigaHarry:
Habs nicht geblickt. Konnte zwar nen Bildausschnitt erstellen, aber nicht abspeichern! Wie funzt das mit ImageFX? Was mich bei dem Programm aber stört ist, dass das geladene Bild mit so wenig Farben ziemlich kaputt dargestellt wird. Habe nix gefunden, um die Bildanzeige in "Echtfarben" zu erzeugen!
 
Reth   Nutzer

24.07.2011, 11:25 Uhr

[ - Direktlink - ]
Thema: Einfache Bildbearbeitung, die unter AOS4 läuft?
Brett: Amiga, AmigaOS 4

Hallo zusammen,

ich weiss, da gibt es sicher was, habe auch schon AdPro und ImageFX Lite probiert, aber bisher erfolglos.
Möchte eigentlich "nur" z.B. Bilder skalieren bzw. Ausschnitte aus Bildern als neue Bilder abspeichern. Ich weiss, dass GIMP verfügbar ist, wollte aber nach Möglichkeit erst einmal eine schlanke Lösung mit GUI.

Habt ihr noch ein paar Vorschläge?

Danke schon mal!

Ciao
René
 
Reth   Nutzer

24.07.2011, 01:40 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

@Holger:
Danke für das Code-Beispiel, hat funktioniert! Auch vielen Dank an die anderen Helfer hier im Thread. Ein neues Bsp. (AOS4) mit Source hab ich bereitgestellt.

Einige Sachen hab ich allerdings noch nicht verstanden, dazu hier noch mehr.
Zitat:
Original von Holger:
Einiges geht unter, wenn so viel auf einmal kommt. In diesen Punkten dachte ich eher, dass Du es schon verstanden hättest.

Zumindest soweit, als dass ich die Refresh-Funtkionen brauche, wenn ich kein NOCAREREFRESH angegeben habe und entsprechende Messages von Intuition bekomme. Und auch, was bei Begin-/EndRefresh so grob passiert, weshalb wir es ja hier für mein Refresh-Problem diskutieren.
Zitat:
Original von Holger:
Wenn Du BeginRefresh aufrufst, obwohl Du gar keine Refresh-Message bekommen hast, dann gibt es nichts, was neu zu zeichnen wäre, und damit wird auch nichts gezeichnet. Egal, wie Du Deine ClipRegion konstruierst, wird sie zwischen Begin- und EndRefresh mit dem Damage-basierten Clip AND-verknüpft und x AND 0 ist immer 0.

Wieso funktioniert es dann mit der DamageList? Es ist doch darin auch kein beschädigter Bereich vorhanden, wenn ich BeginRefresh rufe! (Wenn ich Dein Bsp. mit ClipRegion des Layers statt mit Damagelist ausführe friert das ganze System ein, hab ich auch noch nicht kapiert wieso.) Und wenn ich dann meine ClipRegion installiere müsste nach dem von Dir Gesagtem doch diese auch wieder mit 0 verUNDet werden!? Das passiert in diesem Fall aber offensichtlich nicht, oder? Was ist der Unterschied?
Also ich hab auch noch nicht verstanden, wieso ich beim installieren meiner ClipRegion, die ich mit der DamageList verODERt habe (die aber keinen Damage enthält) Erfolg habe, wenn ich die gleiche ClipRegion installiere, die ich mit der ClipRegion des Layers verODERt habe (die ja NULL sein müsste bzw. leer) aber nicht!?
Zitat:
Original von Holger:
Denn die Erkenntnis des Tages ist, dass zwischen Begin- und EndRefresh immer eine AND-Verknüpfung zwischen dem System-Clip und dem User-Clip stattfindet, woraus sich schließen lässt, dass der System-Clip gar nicht in Layer->ClipRegion gespeichert wird.

Aber wo liegt der System-Clip denn dann? Und wie gerade gefragt, wieso funktionierts, wenn ich die DamageList dazuODERe, nicht aber, wenn ich die ClipRegion des Layers dazuODERe? In beiden Fällen wird doch bei BeginRefresh mit ner leeren System-ClipRegion verUNDet, denn es ist ja kein Schaden im Layer vorhanden! (Trotzdem tut es mit der DamageList!)

Und noch eine Frage: Macht es einen Unterschied, ob ich meine Region vor oder nach BeginRefresh() mit NewRegion() anlege?

[ Dieser Beitrag wurde von Reth am 24.07.2011 um 23:06 Uhr geändert. ]
 
Reth   Nutzer

23.07.2011, 12:26 Uhr

[ - Direktlink - ]
Thema: Neue Frage zu Überdeckungen
Brett: Programmierung

@Holger:
Vielen Dank für den Beispielcode, werde ihn hoffentlich heute noch ausprobieren!
Zitat:
Original von Holger:
Wenn Du BeginRefresh aufrufst, obwohl Du gar keine Refresh-Message bekommen hast, dann gibt es nichts, was neu zu zeichnen wäre, und damit wird auch nichts gezeichnet. Egal, wie Du Deine ClipRegion konstruierst, wird sie zwischen Begin- und EndRefresh mit dem Damage-basierten Clip AND-verknüpft und x AND 0 ist immer 0.

Ohne Begin-/EndRefresh und ohne anderes zutun Deinerseits ist die Grundeinstellung kein Clipping. Wenn Du damit eine OR-Verknüpfung durchführst, ist das Ergebnis logischerweise wieder kein Clipping. Deshalb wird dann alles gezeichnet.

Und jetzt kommt der Clou: keine der beiden Methoden kann man auf das gewünschte Ergebnis biegen. Denn die Erkenntnis des Tages ist, dass zwischen Begin- und EndRefresh immer eine AND-Verknüpfung zwischen dem System-Clip und dem User-Clip stattfindet, woraus sich schließen lässt, dass der System-Clip gar nicht in Layer->ClipRegion gespeichert wird.

Das erklärt dann auch, warum es egal ist, ob man diese Region vor oder nach BeginRefresh setzt, sie wird davon gar nicht beeinflusst.

Die Lösung wäre dann die am Anfang der Diskussion genannte Alternative, nämlich mit der Damage-Liste zu hantieren.

Kam die ganze Erkenntnis durch mein Beispiel? Denn einige der Sachen hatte ich schon weiter vorn im Thread gefragt (z.B., ob ich das ganze Clipping, Begin-/EndRefresh usw. auch ohne entspr. Intuition-Message durchführen kann und auch, dass ich meine ClippingRegion mit der aus dem Layer des RastPorts verknüpfen solle)? Oder wolltest Du, dass ich es selbst rausfinde (sind ernst gemeinte Fragen, also bitte nicht böse sein)?
Zitat:
Original von Holger:
Denn die Erkenntnis des Tages ist, dass zwischen Begin- und EndRefresh immer eine AND-Verknüpfung zwischen dem System-Clip und dem User-Clip stattfindet, woraus sich schließen lässt, dass der System-Clip gar nicht in Layer->ClipRegion gespeichert wird.

Ist das sicher, oder ne starke Vermutung? Vielleicht steht er ja doch in der ClipRegion des Layers, doch diese ist leer, da kein Schaden vorhanden ist (solange ich keine eigenen Aktionen durchführe)?
 
 
Erste << 8 9 10 11 12 -13- 14 15 16 17 18 >> Letzte Ergebnisse der Suche: 1858 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.