Voxelgame - Methoden zur Fps Erhöhung?
lima-city → Forum → Programmiersprachen → Java
algorithmus
bau
benutzen
block
einstellung
fliegen
folge
frage
information
kleinere datenmenge
krieg
methode
performance
polygon
raumschiff
schub
sichtweite
spiel
spielwelt
terrain
-
Hallo zusammen,
wie der Titel schon sagt, suche ich Methoden um die Fps in meinem Voxelgame zu erhöhen.
Bis jetzt habe ich nur um die 10-20 fps, was ich selbst auch nicht ganz verstehen kann, den in Minecraft
erziele ich bei max. Einstellungen über 120fps. Bis jetzt habe ich in meinem Spiel eine Sichtweite von
64x64x64 Blöcken, die Map ist insgesamt 512x64x512 Blöcke groß. Alle Blöcke haben "Cullface"
aktiviert, und eine Seite eines Blockes wird nur dann gerendert, falls neben ihr ein Luftblock ist.
Weitere Informationen:
- Programmiersprache Java
- JOGL für 3D
Gibt es noch mehr Methoden um die Fpsanzahl zu erhöhen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dass du in Minecraft mehr FPS erreichts ist nicht verwunderlich, denn schließlich ist die Auflösung der Spielwelt sehr gering. Außerdem hängt es vom Renderverfahren ab: Benutzt du Raytracing oder renderst du Polygone? Raytracing ist selbst schon sehr langsam, vor allem mit Lichtberechnung. Bei Minecraft dagegen wird die Spielwelt in Polygone aufgeteilt, die von der Grafikkarte (welche nicht für Voxelberechnung ausgelegt ist) schnell gerendert werden können.
Ein gängiges Verfahren, um Voxel in Polygone umzurechnen, nennt sich Marching Cubes (ich hoffe, ich buchstabiere das richtig). Dabei bildest du aus dem Voxelgebilde ein Polygone. Die Folge ist eine kleinere Datenmenge und ein schnelleres Rendering, allerdings leidet auch die Qualität ein wenig darunter.
Grüße
Mator -
Für Blockwelten braucht man nicht einmal marching Cubes. Dafür kann man viel naivere Algorithmen verwenden und trotzdem sehr gute Performance erreichen. ( Sehr gut im Sinne von mehr als ausreichend )
Dabei kommt einem zu Gute, dass man gerade bei Blockterrain sehr niedrige Auflösungen für die Dichtefelder (oder auch schlichtweg Materialfelder) benutzen kann.
Ohne Informationen zu den genutzten Algorithmen und vorallem genaue Werte von wegen Auflösung des Terrains, LOD etc. kann man dir nicht wirklich helfen.
Das ist ähnlich der Frage "Ich baue gerade ein Raumschiff. Die Dinger von der Nasa fliegen auch, aber ich krieg nich genug schub. Ideen?" -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage