Vorrendern 2D
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: Vorrendern 2D |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi, ich wollte wissen wie ich etwas vorrendern kann, also..
Code: [AUSKLAPPEN] IMG:TImage=createimage(200,200) setcolor 255,0,0 drawline 50,50,150,150 grabimage img,0,0 mein problem ist es nun logisch das bild flakkert, ich glaub zu blitzb.X zeiten gabs dafür setbuffer backbuffer() wie kann ich es in bm nun hinbekommen dinge zu "rendern" ohne das das angezeigte bild flakkert? muss man die render geschichten nach dem Flip machen? |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
So etwas wie SetBuffer gibt es in BlitzMax nicht, und das wurde auch schon öfters gefragt.
Flackern allerdings sollte es durch die Benutzung von GrabPixmap allein nicht, da machst du wohl irgend etwas falsch (dein Beispielcode liefert hierfür keinerlei Informationen). Zitat: muss man die render geschichten nach dem Flip machen?
GrabPixmap/GrabImage schnappt sich immer den Inhalt des Backbuffers, also das, was vorherige Zeichenoperationen gezeichnet haben. Das sollte man berücksichtigen. |
||
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja es "flakkert" ja auch nur dann wenn ein neues image gerandert werden muss, ca 0.3 sek ddenke es liegt an grabimage. bzw es wird grabimage sein. aber genau das würd ich ja gern umgehen^^ kann es sein das create image bzw grabimage das programm einschlafen lässt bist das bild dann im image ist? | ||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du mit Flackern eventuell Ruckeln? ![]() |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja das image ist kurz weg, und bäm wieder da. so kann man es sich ehr vorstellen | ||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist so, dass GrabImage den Inhalt des Backbuffers nicht beeinflusst, daher sollte etwas Derartiges nicht passieren. Vielleicht wäre es hilfreich du würdest die entsprechende Stelle im Code zeigen.
Was ich mir auch vorstellen könnte: mit dem was du rendern willst übermalst du das, was eigentlich angezeigt werden soll. Um das zu vermeiden solltest du lieber sinngemäß unmittelbar nach Flip deine Sachen rendern. Sollte hier der Problem gelegen haben, dann hätte es auch geflackert, wenn du GrabImage weggelassen hättest. |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok kann mir denken was es ist, ich male eine tile map 29 x 29, das image ist max 290x290 gross hat 5 ebenen
ich kann mir denken das das "malen" der tilemap zeit beansprucht und das es dann dadurch kurz aufflakkert. ansonsten kp. Edit: aber es ist doch möglich ein tittelbild anzeigen zu lassen, und im hintergrund alles was man benötigt, "vorzurendern" oder? falls ja wie stelle ich es am besten an? selbst wenn das prog durch create image oder grapimage kurz "einfriert" oder so also für miro ms ^^ . sollte das tittelbild nicht verschüt gehen... die render aktionen sind nach dem flip . EDIT 2. in einer inc datei war ein mieser CLS ![]() |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
In den Momenten, wo Du was vorrendern willst:
Zuerst ein CLS Dann malst Du alles, was Du zum "Vorrendern" brauchst. Dann grabbst du es. Jetzt keinen FLIP machen. Dann machst du wieder CLS und malst jetzt das ganz normale Bild (z.b. dein Titelbild) Danach erst den FLIP |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe ein ganz anderes problem derzeit, hat auch etwas mit dem Vorrendern zu tun deswegen erstell ich kein neues topic.
- nur code ausschnit meiner gui - Code: [AUSKLAPPEN] Print "Createimage:"
start1:Int = MilliSecs() Gadget.Window.Image = CreateImage(Gadget.W, Gadget.H, 2) Ende1:Int = MilliSecs() - start1 Print "Brauchte " + EndE1 + " ms" Print "Grab Image:" start = MilliSecs() GrabImage (Gadget.Window.Image, Gadget.X, Gadget.Y, 0) Ende:Int = MilliSecs() - start Print "Brauchte " + EndE + " ms" Die ausgabe: Code: [AUSKLAPPEN] Createimage:
Brauchte 0 ms Grab Image: Brauchte 58 ms mein problem ist nun doch das mein programm bzw meine gui für die besagte 58ms einfriert da ein bild "gegrabt" wird. wie kann ich das umgehen? das es nicht gleich 58 ms braucht (wer weiss wie hoch die wartezeit auf älteren rechnern als meiner ist.) wäre echt froh um hilfe... |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
da hat doch gerade einer auf dem englischen Forum diesen Beitrag geschrieben:
TGLMax2DFBO is 28 Times faster than GrabImage! |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group