2D, hohe Auflösung und die FPS

Sphinx2k

Mitglied
Nachdem ich jetzt einiges mit OpenGL (LWJGL) Experimentiert hab bin ich damit noch nicht so recht glücklich geworden. Es ist mir einfach zu schwergewichtig für einfache 2D Sachen.
Also bin ich noch einmal zurück ans Reißbrett und hab mehr gelesen und experimentiert.

Ein einfaches Testprogramm aufgesetzt um die FPS zu messen. Simple Aufgabe für das Programm eine Framerate von wenigstens 60 bei einer Auflösung von 1920x1200 erreichen (Bei meinem durchschnittlichen PC).
Das Programm sollte nur einen Backbuffer schwarz einfärben.
Java:
	dbg.setColor(Color.BLACK);
    dbg.fillRect (0, 0, PWIDTH, PHEIGHT);
Ich hab jetzt über Image, BufferedImage und VolatileImage alles ausprobiert was mir als Bildfläche einfällt. Das Ergebnis ist immer mehr als bescheiden selbst bei so etwas simplen.

Könnte die Bildfläche auch in ein int[] pixels Array einlesen und damit Arbeiten..würde das etwas bewirken?
Entweder ist einfache fillRect() zu lahm dafür, ich gehe das falsch an oder es geht einfach nicht.
Ist man so alternativ los zu Berechnungen über die Grafikkarte.
 

Sphinx2k

Mitglied
So nach weiterem suchen und Testen hab ich einen viel versprechenden Ansatz entdeckt.
Game Programming Snippets: How to use BufferStrategy in Java

Ein erster Test ergab das meine FPS damit von ~40 auf ~350 gestiegen sind was doch recht beachtlich ist. Da ich hier in Bereiche komme in denen ich mich nicht auskenne werde ich weiter testen müssen.
Komischerweise hab ich noch nirgends, in Grafik Tutorials für Spiele, solch einen Ansatz gesehen.

Hab gerade mal durch den Code von Majam (60 Stunden Spiel von den Minecraft Machern am letzten Wochenende wo es für die Spender unter anderem den Quellcode gab The Humble Bundle Mojam (pay what you want and help charity)) durchgeschaut und dort wird auch über die BufferStrategy gearbeitet was mich doch hoffen lässt langsam auf der richtigen Fährte zu sein.

Hat diese Variante Nachteile die sich mir nicht erschließen?
 
Zuletzt bearbeitet:

Neue Themen


Oben