ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Bild größer als Screen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
19.08.2007, 18:07 Uhr MaikG Posts: 5172 Nutzer |
Ich hab einen Code, der zeigt mir bilder per Datatypes. Funktioniert auch alles sehr gut. Aber hab ich ein Bild mit z.B. 1248x960x24 aber nur einen Screenmodus von 1200x1024x24 bekomme ich müll angezeigt. Normalerweise, dadurch das jetzt auch ein Screen mit 1248x1024x24 geöffnet wird müsste das ja gehen. Aber das tut es nicht. Bei einem Bild mit 2635x1846x24 wurde mir erst gar kein Screen geöffnet. Multiview zeigt diese Bilder(auf der WB in einem Fenster) problemlos an. Was läuft da falsch? code:if (scr = OpenScreenTags (NULL, SA_Width,bmhd->bmh_Width, SA_Height,bmhd->bmh_Height, SA_Depth,bmhd->bmh_Depth, SA_DisplayID,modeid, SA_AutoScroll, TRUE, SA_Overscan, OSCAN_TEXT, TAG_END)) if (win = OpenWindowTags (NULL, WA_CustomScreen,scr, WA_Width,scr->Width, WA_Height,scr->Height, WA_Flags,WFLG_BORDERLESS|WFLG_NOCAREREFRESH|WFLG_ACTIVATE, WA_IDCMP,IDCMP_MOUSEBUTTONS|IDCMP_VANILLAKEY, TAG_END)) { BltBitMapRastPort (bm,0,0,win->RPort,0,0,win->Width,win->Height,0xc0); [ - Antworten - Zitieren - Direktlink - ] |
19.08.2007, 20:22 Uhr uho Posts: 114 Nutzer |
Hallo MaikG, hier mal eine Antwort "auf die Schnelle", da ich noch nichts mit Datatypes programmiert habe: Zitat: Da werden wohl die Daten, die nicht mehr in die Zeile passen, an den Anfang der nächsten geschrieben; diese wird dann entsprechend später mit den zugehörigen Daten gefüllt, so daß sich der Inhalt immer weiter verschiebt. Zitat: Da wird wohl einfach der Grafik-Speicher nicht reichen. Die CyberVisionPPC hat IMHO 8MB, 2635x1846x24/8 = ca 14 MB - also mehr als vorhanden. Multiview scaliert dagegen. Testen kannst Du das auch sehr schön mit dem Bildanzeiger Visage (nebenbei: der ist _viel_ schneller und mächtiger als MV): Bild normal laden -> Bild nicht da Bild mit Parameter "Scale" laden -> Bild da -> im ersten Fall Bild zu groß für GraKa, im zweiten skaliert Gruß uho [ - Antworten - Zitieren - Direktlink - ] |
20.08.2007, 00:07 Uhr MaikG Posts: 5172 Nutzer |
>Da werden wohl die Daten, die nicht mehr in die Zeile passen, >an den Anfang der nächsten geschrieben; diese wird dann entsprechend >später mit den zugehörigen Daten gefüllt, so daß sich der >Inhalt immer weiter verschiebt. Das dürfte aber nicht sein, der Screen hat zwar 1200x1024x24, kann aber lt. Screenmode auch besagte auflösung annehmen. NewMode zeigt auch an das die Bildausmaße dem Screenausmaß entspricht. >Da wird wohl einfach der Grafik-Speicher nicht reichen. >Die CyberVisionPPC hat IMHO 8MB Oh, verstehe. Naja, ist zumindest dann kein BUG. >Multiview scaliert dagegen. Sicher? Ich denke eher, da es auf der WB mit Fenster ist kann CGX das mittels Swappen Fastram<->GrakaRam Managen(Es ist ja immer nur ein Teil des Bildes sichtbar). Das Bild scheint nicht scaliert zu werden. [ - Antworten - Zitieren - Direktlink - ] |
20.08.2007, 10:31 Uhr Der_Wanderer Posts: 1229 Nutzer |
Woher bekommst du denn den modeid ? Nicht jeder Modeid kann auch jede Auflösung und Farbtiefe, die du ungefiltert von der Bitmap übergibst. Wenn du einen Bildanzeiger machen willst, der nicht scaliert, dann würde ich eher ein borderless Fenster auf der WB öffnen, die Bitmap vom Datatype ins RAM laden und dann mit BltBmapRastPort() die Teile refreshen, die beim Scrollen neu gezeichnet werden müssen. Scrollen kannst du mit ScrollRaster(). Das ist auch schöner für den User, weil sich der Screenmode nicht ändert. Der Nachteil bei einem Übergrossen Screen ist, dass die Screenbitmap komplett im Graka RAM liegen muss. Das hat zur folge, dass nicht-sichtbare Screens ins RAM ausgelagert werden und die größe der Bilder auf das Graka RAM begrenzt sind. Bei der oben Beschriebenen Methode ist das Bild nur vom RAM begrenzt, und es werden keine Screens ausgelagert (=schneller). Wenn du zoomem willst, dann kannst du mit ScalePixelArray() das ganz einfach tun, auch wenn die Qualität nicht so toll ist. Ansonsten kann das auch das Datatype für dich machen, da hast du u.U. bessere Qualität und brauchst weniger RAM. BTW, in Amiblitz wäre so ein Anzeiger ein paar wenige Zeilen. ;-) -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von Der_Wanderer am 20.08.2007 um 10:35 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 10:15 Uhr MaikG Posts: 5172 Nutzer |
>Woher bekommst du denn den modeid ? Datatype, falls unterstützt. >Wenn du einen Bildanzeiger machen willst, der nicht scaliert, dann würde ich eher ein borderless Fenster auf der WB öffnen, die Bitmap vom Datatype ins RAM laden und dann mit BltBmapRastPort() die Teile refreshen, die beim Scrollen neu gezeichnet werden müssen. Ich überlege schon, also auf WB ist schlecht, es soll schon auf einem Screen. Wenn ich feststellen könnte wann der Grafikspeicher nicht mehr ausreicht, könnte ich ja z.B. scalieren - aber alles andere normal machen. Theoretisch hätte ich gedacht der Screen öffnet sich erst gar nicht wenn nicht genug Speicher da ist. [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 10:30 Uhr Holger Posts: 8116 Nutzer |
Zitat:Normalerweise schon. Zitat:Du könntest einfach generell den Screen mit normaler Größe öffnen, wenn das Bild größer als der OSAN_TEXT Bereich ist. Du blittest ja sowieso von einer schon vorhandenen BitMap, die das ganze Bild enthält. Dann blittest Du halt nur einen Ausschnitt (musst ja nicht skalieren) und blittest einen neuen Ausschnitt, wenn der Benutzer die Maus in den Randbereich bewegt. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 18:27 Uhr MaikG Posts: 5172 Nutzer |
>Normalerweise schon. Naja, cgx ist leider nicht völlig bugfrei... >Du könntest einfach generell den Screen mit normaler Größe öffnen, >wenn das Bild größer als der OSAN_TEXT Bereich ist. Und woher weiss ich ob der User eine Maximalauflösung von 1280x1024x24 oder nur 1024x768x24 hat? [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 18:30 Uhr Der_Wanderer Posts: 1229 Nutzer |
@MaikG Denk doch nochmal über ein Fenster auf der WB nach. Dann musst du dich nicht mit Overscann, Auflösungen etc. herumplagen, und für den User ist das meistens auch angenehmer, weil der Monitor nicht neu syncen muss, und der WB Screen muss geswapped werden bei wenig GFX mem. Warum muss es denn unbedingt ein eigener Screen sein ? -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 23:21 Uhr MaikG Posts: 5172 Nutzer |
Warum muss es denn unbedingt ein eigener Screen sein ? -Ein bild alleine auf FullScreen sieht besser aus -Ein bild auf schwarzen hintergrund sieht besser aus -Meine WB hat 800x600, viele Bilder würden nicht draufpassen -Bilder mit z.B. 640x512 währen zu klein usw. [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 23:37 Uhr Ralf27 Posts: 2779 Nutzer |
Das ganze hier erinnert mich an meinen Bildanzeiger. Der zeigt auch Bilder an der nicht in den Grafikkartenspeicher passen, (also auch so wie z.b. MultiView) bzw. sogar gar nicht mal in den Arbeitsspeicher. Das beste ist halt, das man dann einfach bei übergroßen Bildern scrollt und neue Bereiche neu rein blittet. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
21.08.2007, 23:37 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Aber bestimmt nur für jemanden der AmiBlitz kann... -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 10:00 Uhr MaikG Posts: 5172 Nutzer |
>Das beste ist halt, das man dann einfach bei übergroßen Bildern scrollt und neue Bereiche neu rein blittet. Ich weiss aber nicht was übergroß ist, weil ich die max. Auflösung des jeweiligen Systems nicht kenne. [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 10:14 Uhr thomas Posts: 7718 Nutzer |
Zitat: Warum nicht ? Laß doch einfach den Benutzer einen Bildschirmmodus auswählen oder nimm den gleichen wie die Workbench. Dann öffnest du einen Screen und fragst seine Größe ab. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomasrapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 10:29 Uhr MaikG Posts: 5172 Nutzer |
>Warum nicht ? Ich weiss nicht wie. >Laß doch einfach den Benutzer einen Bildschirmmodus auswählen oder >nimm den gleichen wie die Workbench. Bei jedem Bild ein Screenmoderequester, das währe sehr umständlich... Der WB-Screen von mir hat 800x600, wie gesagt ich habe größere Bilder und auch noch höhere auflösungen verfügbar. [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 10:56 Uhr Holger Posts: 8116 Nutzer |
Zitat:Bildschirmfüllende, rahmenlose Fenster wecken beim Benutzer den Wunsch, mit den Standard-Tastenkombinationen auf die Workbench, bzw. zwischen den Programmen wechseln zu können. Fenster, die alles überdecken und keinen sichtbare Kontrollelemente besitzen, sind halt kein guter Stil. Zitat:Herrje, wir haben aber erst vor ein paar Tagen einen Thread mit Screen-Thematik gehabt: http://www.amiga-news.de/forum/thread.php?id=26802&BoardID=7 Ich empfehle, mal ein bisschen in anderen Threads mitzulesen, auch wenn sie vielleicht nur zu 80% mit den eigenen Problemen zu tun haben. Man kann immer etwas dazulernen... => QueryOverscan(ModeID, &Rect, OSCAN_TEXT ) Damit ermittelst Du den Bereich, der OSCAN_TEXT für diese ID definiert ist, und hast somit auch die Größe. Also, in etwa so: C code:struct Rectangle normal; int width, height; QueryOverscan(modeid, &normal, OSCAN_TEXT); width=normal.MaxX-normal.MinX+1; height=normal.MaxY-normal.MinY+1; if(width>bmhd->bmh_Width) width=bmhd->bmh_Width; if(height>bmhd->bmh_Height) height=bmhd->bmh_Height; if(scr = OpenScreenTags(NULL, SA_Width,width, SA_Height,height, SA_Depth,bmhd->bmh_Depth, SA_DisplayID,modeid, SA_AutoScroll, TRUE, SA_Overscan, OSCAN_TEXT, TAG_END)) if(win = OpenWindowTags(NULL, WA_CustomScreen,scr, WA_Flags,WFLG_BORDERLESS|WFLG_NOCAREREFRESH|WFLG_ACTIVATE, WA_IDCMP,IDCMP_MOUSEBUTTONS|IDCMP_VANILLAKEY, TAG_END)) { BltBitMapRastPort(bm,0,0,win->RPort,0,0,win->Width,win->Height,0xc0); ... mfg -- Good coders do not comment. What was hard to write should be hard to read too. EDIT: +1 vergessen [ Dieser Beitrag wurde von Holger am 22.08.2007 um 11:29 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 13:36 Uhr thomas Posts: 7718 Nutzer |
Zitat: Du sollst den Benutzer einen Bildschirmmodus auswählen lassen, der dann für alle Bilder gilt. Nichts ist schlimmer als eine automatische Auswahl, die nicht funktioniert. Doch, wenn jedes Bild einen eigenen Screen öffnet und der Monitor jedesmal neu synchronisiert. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomasrapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 13:58 Uhr whose Posts: 2156 Nutzer |
@Holger: Ich schätze, es geht ihm weniger um Overscan, dafür mehr um die maximal mögliche Auflösung der jeweilgen Hardware (AGA/ECS bzw. RTG). Bei RTG würde QueryOverscan() wenig bis gar nichts bringen, dadurch wüßte er immer noch nicht, was die maximal mögliche Auflösung der jeweiligen Hardware wäre. BestModeID() würde da mehr bringen, aber ob das für seinen Verwendungszweck (soweit ich den erraten kann) wirklich das Optimale ist, bezweifelt nicht nur thomas... @MaikG: Wenn Du den Benutzer unbedingt mit ständigen Modus-Wechseln nerven willst, schau Dir mal das RKM Kapitel Screens an, da findest Du alles, was zum Ermitteln der maximal möglichen Auflösung eines Systems notwendig ist. In bestimmten Fällen wirst Du aber um eine Filterung der Modes "per Hand" anhand der Erebnisse der DisplayInfo-Struktur nicht herumkommen. Ich selbst würde mehr thomas' Ratschlag folgen. Eine Auflösung durch den Benutzer wählen lassen und die Bilder dann auf diesen Screen bringen, bei Übergrösse halt auf einen AutoScroll-Screen. Sollten Probleme mit dem verfügbaren Speicher auftauchen, dann auf Ralphs Art, das Bild nur teilweise zu laden und nur die aktuell sichtbaren Teile (zzgl. Scroll-"Reserve") im Speicher halten. Für "mal eben" ist ein Bildanzeiger für Bilder unterschiedlichen Formats aber definitiv nichts, das nur zur Warnung. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 15:52 Uhr Holger Posts: 8116 Nutzer |
Zitat:Nö, er benutzt ja in seinem Code, den er gepostet hat, irgendeine schon gegebene modeid. Vermutlich die vom datatype gelieferte. Es kann also nur noch darum gehen, welche max. sichtbare Größe der zugehörige Screen hat. Und wenn OSCAN_TEXT und die id schon gegeben sind, liefert der besagte QueryOverscan(...) Aufruf die nötigen Informationen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 16:05 Uhr MaikG Posts: 5172 Nutzer |
>Du sollst den Benutzer einen Bildschirmmodus auswählen lassen, >der dann für alle Bilder gilt. Nein! Das will ich nicht ein 1600x1200 schirm ist zu groß für ein 320x240 und umgekehrt. >Nö, er benutzt ja in seinem Code, den er gepostet hat, >irgendeine schon gegebene modeid. Die Modeid ist optional in bildern verwendet und kann bei DT's auch 0 sein. Im prinzip bräuchte ich eine Liste der verfügbaren auflösungen, so wie ein Screenmoderequester. Dann könnte ich gucken ob die auflösung vom bild die max. übertrifft. Bestmodeid währe ja auch eine möglichkeit, wenn die gelieferte ID kleiner als das Bild ist wird es ja die größte sein oder? [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 16:24 Uhr Flinx Posts: 1073 Nutzer |
Zitat: Die Auflösung ist Sache des Anwenders. Ein Bildbetrachter hat zu skalieren, wenn es nötig ist. [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 17:00 Uhr Der_Wanderer Posts: 1229 Nutzer |
Also die Zeiten, wo man die Auflösung des Monitors der Auflösung des zu betrachteten Bildes angepasst hat, sind doch eigentlich schon ein paar Jährchen vorbei, oder nicht ? Und vor allem, wenn man einen TFT Monitor hat. Es gibt nichts, was ich mehr hasse, als ein Programm was ständig die Auflösung oder die Farbtiefe wechselt. Man kann auch ein 8bit Bild auf einem 24it Screen angucken, oder ein 320x240 auf 1600x1200 gross zoomen, dazu muss ich nicht den Monitor stressen. Ich dachte das mit dem übergrossen Screen willst du machen, weil du das Bild immer 1:1 sehen willst, und dann darin herumscrollen. Wenn es dir aber um einen "normalen" Bilderbetrachter geht, dann würde ich auf jedenfall den WB Screen nutzen und das Bild scalieren (kleiner so wie auch größer). ScalePixelArray ist hier die einfachst Methode, um das zu erreichen. Amiblitz Code: *** WEBUNG *** code:*** WERBUNG ***WBToScreen 0 If image_Load{0,"DH0:MyImage.png"} Window 0,0,0,ScreenWidth,ScreenHeight,#WFLG_BORDERLESS|#WFLG_SIMPLEREFRESH,"" image_BlitScaled{0,0,0,ScreenWidth,ScreenHeight} MouseWait End If End Das ist ungefähr dass, was du machen willst ? (ok, ich achte nicht auf den x/y Aspekt, wollte den Code kurz halten) Das kostet dich 0 Graka RAM, nur normales RAM so gross wie das Originalbild ist, kein Monitor muss syncen und du siehst immer das ganze Bild fullscreen, und Interpolation/Antialiasing gibts noch gratis dazu ;-) -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 18:30 Uhr MaikG Posts: 5172 Nutzer |
>Man kann auch ein 8bit Bild auf einem 24it Screen angucken, oder >ein 320x240 auf 1600x1200 gross zoomen, dazu muss ich nicht den >Monitor stressen. Muss man nicht, aber einer mit 68020 wirds sicher lustig finden wenn er lange auf sein 320x240 Bild warten muss - was länger dauert als das Monitor Syncen. Klar der Aspect Ratio soll auch stimmen, wie gesagt, viele gründe warum es so sein soll. Wie man scaliert weiss ich schon. [ - Antworten - Zitieren - Direktlink - ] |
22.08.2007, 19:01 Uhr Der_Wanderer Posts: 1229 Nutzer |
Och Maik! 1. Auf dem A1200 mit nem 20er hast du sicher keine WB auf 1600x1200, und wenn, bist du Wartezeiten gewöhnt. 2. Scalieren geht furchtbar schnell, wenn man nicht interpoliert. Das Interpolieren kannst du dann auch abschaltbar machen, für Low-Spec Rechner. 3. Den Aspekt hab ich irgnoriert, um den Code nicht unnötig aufzublähen. Hier mit korrektem Aspekt und schwarzem Hintergrund: code:; Workbench Screen als "Screen 0" holen WBToScreen 0 ; Bild laden If image_Load{0,"DH0:MyImage.png"} ; Fenster auf der WB fullscreen öffnen Window 0,0,0,ScreenWidth,ScreenHeight,#WFLG_BORDERLESS|#WFLG_SIMPLEREFRESH,"" ; Hintergrund schwarz machen WBox 0,0,ScreenWidth,ScreenHeight,1 ; pen 1 = schwarz ; neue Größe und Blit Position berechnen scalerX.f = ScreenWidth / image_GetWidth {0} scalerY.f = ScreenHeight / image_GetHeight{0} scaler.f = Min(scalerX,scalerY) newWidth.l = image_GetWidth {0} * scaler newHeight.l = image_GetHeight{0} * scaler newX.l = (ScreenWidth - newWidth ) / 2 newY.l = (ScreenHeight - newHeight) / 2 ; Bild drauf blitten image_BlitScaled{0,newX,newY,newWidth,newHeight,off} ; auf Mausklick warten MouseWait End If ; over and out! End Die Screenmode zu wechseln ist noch viel gefährlicher, wenn dir der Aspekt wichtig ist. Oben schalte ich bei BlitScaled auch noch die Interpolation aus, wegen dem A1200 :-) -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von Der_Wanderer am 22.08.2007 um 19:08 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
23.08.2007, 10:26 Uhr MaikG Posts: 5172 Nutzer |
>1. Auf dem A1200 mit nem 20er hast du sicher keine WB auf 1600x1200, und wenn, bist du Wartezeiten gewöhnt. Woher willst du das wissen? Und zum 100ersten mal ich will einen eigenen Screen und nicht auf die Workbench. [ - Antworten - Zitieren - Direktlink - ] |
23.08.2007, 13:14 Uhr whose Posts: 2156 Nutzer |
@MaikG: Ja, dann mach das doch so... in die grobe Richtung wurdest Du schon gewiesen, oder möchtest Du alles vorgekaut haben? RKM "Screens" ist der Punkt, wo Du anfangen solltest. Desweiteren solltest Du Dir die zugehörigen Includes mal näher ansehen, da findest Du u.A. Informationen über die möglichen Auflösungen des jeweiligen Systems. Der Rest ist Deine Aufgabe und wenn Du unbedingt dauernd die Auflösung wechseln möchtest, dann machs halt... -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ - Antworten - Zitieren - Direktlink - ] |
23.08.2007, 14:27 Uhr Der_Wanderer Posts: 1229 Nutzer |
@Maik: Mein Beispiel von oben ist ja schon das komplette Program, du müsstest das nur per copy&paste in den Amiblitz editor kopieren und ausführen. (XInclude "image.include.bb2" muss noch davor.) Ein Fenster öffnen hat viele Vorteile: 1. Es braucht keinen zusätzlichen Grafikspeicher, d.h. es schlägt sehr unwahrscheinlich fehl - im Gegensatz zu einem Screen. 2. Es ist um Welten schneller als ein Screen zu öffnen der möglicherweise syncen muss. Auch auf einem A1200 mit einer WB in 1600x1200. Der Screen erzwingt bei Speichermangel auch einen Swap des WB Screens ins RAM, das dauert auch ne Weile, bei ZorroII. 3. Für den User ist kein Unterschied zu erkennen zu einem Screen, ausser dass es garantiert nicht neu synced und schneller ist. 4. Der User hat normalerweise den optimalen Screenmode für die WB gewählt, und den würde er auch gerne behalten. (das gilt zumindest für neuere Systeme, wo die Speed keine so grosse Rolle mehr spielt und man 16/24bit benutzt) Wenn du trotzdem einen Screen aufmachen willst, dann mach halt. Argumente habe ich dir ja genug geliefert, warum man das nicht machen solltest. BTW, das Beispiel in Amiblitz kann man durch zwei Zeilen auf einen eigenen Screen lenken: code:--modeid.l = screen_GetBestModeID{width,height,depth} If screen_Open{modeid,width,height,depth} ... EndIf Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von Der_Wanderer am 23.08.2007 um 14:31 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Bild größer als Screen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |