Guten Tag allerseits und gleich mal ein erfolgreiches neues Jahr 2007 an alle.
Bin ein rechter Newbie in der Spieleprogrammierung und dachte mir, ich koennte hier mal anfragen ob ihr vielleicht wisst was ich da falsch mache, bzw. was ich verbessern koennte.
Ich moechte ein Rollenspiel im Stil von Diablo, Baldurs Gate ... (von der Bedienung und der Darstellung her) programmieren und stosse
gerade an die Grenzen der Performance. DoubleBuffering bzw. Pageflipping wird per BufferStrategy im Vollbildmodus genutzt und das
Spiel stellt sich bei mir auf etwa 15 FPS ein. Habe einen 2800 Mhz AMD-Proc. mit ner GeForce FX 5200 und einem Gigabyte Ram.
Die Tiles der Map werden aus einem File geladen. Hab zum Testen halt mal irgendwas genommen.
Die 15 FPS sind allerdings der beste Fall und es ruckelt ab und an ganz gewaltig.
Java/Javac-Version 1.6.0
Betriebssystem: Linux
Das Problem: Ich muss wenn sich der Spieler bewegt natuerlich alles neu zeichnen, weil der Spieler sich in der Mitte des Screens befindet.
Natuerlich kann man eine Abfrage starten, ob sich der Spieler ueberhaupt bewegt hat, aber das braechte ja nichts, wenn er sich bewegt.
Was also tun um an etwa 30 FPS zu gelangen? Immerhin muessen da ja spaeter noch einige andere Frames drauf.
Habs auch schon mit groesseren Tiles versucht welche in world.png zu finden sind aber da sieht es genau so schlimm aus.
Hoffe ihr koennt mir ein wenig weiter helfen.
Ich benutze, wie man leicht sieht, bisher noch einiges an Code von Dr. Andrew Davison aus dem Buch "Killer Game Programming in Java"
( http://fivedots.coe.psu.ac.th/~ad/jg/ )
Vermutlich habe ich was nicht richtig verstanden oder mache sonst irgendwelche Fehler.
Hab auch hier im Forum schon gegraben, aber das half mir leider nicht bei meiner Fehlersuche fuer meine Performance. Vielleicht unterlieft mir
allerdings auch bei der Suche ein Fehler. Dafuer moechte ich mich freilich entschuldigen.
Vielen Dank schon einmal!
Hier der Url:
Sources
Bin ein rechter Newbie in der Spieleprogrammierung und dachte mir, ich koennte hier mal anfragen ob ihr vielleicht wisst was ich da falsch mache, bzw. was ich verbessern koennte.
Ich moechte ein Rollenspiel im Stil von Diablo, Baldurs Gate ... (von der Bedienung und der Darstellung her) programmieren und stosse
gerade an die Grenzen der Performance. DoubleBuffering bzw. Pageflipping wird per BufferStrategy im Vollbildmodus genutzt und das
Spiel stellt sich bei mir auf etwa 15 FPS ein. Habe einen 2800 Mhz AMD-Proc. mit ner GeForce FX 5200 und einem Gigabyte Ram.
Die Tiles der Map werden aus einem File geladen. Hab zum Testen halt mal irgendwas genommen.
Die 15 FPS sind allerdings der beste Fall und es ruckelt ab und an ganz gewaltig.
Java/Javac-Version 1.6.0
Betriebssystem: Linux
Das Problem: Ich muss wenn sich der Spieler bewegt natuerlich alles neu zeichnen, weil der Spieler sich in der Mitte des Screens befindet.
Natuerlich kann man eine Abfrage starten, ob sich der Spieler ueberhaupt bewegt hat, aber das braechte ja nichts, wenn er sich bewegt.
Was also tun um an etwa 30 FPS zu gelangen? Immerhin muessen da ja spaeter noch einige andere Frames drauf.
Habs auch schon mit groesseren Tiles versucht welche in world.png zu finden sind aber da sieht es genau so schlimm aus.
Hoffe ihr koennt mir ein wenig weiter helfen.
Ich benutze, wie man leicht sieht, bisher noch einiges an Code von Dr. Andrew Davison aus dem Buch "Killer Game Programming in Java"
( http://fivedots.coe.psu.ac.th/~ad/jg/ )
Vermutlich habe ich was nicht richtig verstanden oder mache sonst irgendwelche Fehler.
Hab auch hier im Forum schon gegraben, aber das half mir leider nicht bei meiner Fehlersuche fuer meine Performance. Vielleicht unterlieft mir
allerdings auch bei der Suche ein Fehler. Dafuer moechte ich mich freilich entschuldigen.
Vielen Dank schon einmal!
Hier der Url:
Sources