Guten Abend,
ich suche Rat bezüglich der Frage , wie ich das Aktualisieren der Objekte(Cubes) meines Minecraft-Klons beschleunigen kann.
Zunächst einmal mein Rendering():
Ich habe ein 16x16x256 großen Chunk.
In der Update()-Methode, wird entschieden, welcher Würfel gezeichnet werden muss:
Wenn "Draw=true" ist, wird dieser gezeichnet.. dadurch habe ich ganze 300 FPS..
Das Rendering() geschieht über Hardware-Instancing(leicht modifizierte Version, um divergente Texturen darzustellen)..
Das Problem geht mit dem Update() einher.
Ich prüfe in der Update()-Methode, ob ein Cube im View-Frustum liegt.. wenn ja, dann führe Test aus.
Die Render-Distanz ermittel ich aus der Distanz eines Rays zu einem Würfel.
Dadurch schöpf ich meines Erachtens das größte Leistungspotenzial in einem Chunk.
Problematisch wird dies bei 5 Chunks..
denn ich muss 16x16x256 * 5 abzüglich den Cubes, die nicht im View-Frustum sind, aktualisieren.
Ich habe es mit Parallel-For versucht.. war akzeptabel.. bei 20 Chunks wird es jedoch kritisch.
Wie implementiert Minecraft bloß diese Chunks?
Ich las das Minecraft eine Instanz eines Objektes habe, welcher dann transformiert, rotiert und gerendert werde... wie würdet ihr vorgehen?
Liebe Grüße.
ich suche Rat bezüglich der Frage , wie ich das Aktualisieren der Objekte(Cubes) meines Minecraft-Klons beschleunigen kann.
Zunächst einmal mein Rendering():
Ich habe ein 16x16x256 großen Chunk.
In der Update()-Methode, wird entschieden, welcher Würfel gezeichnet werden muss:
Wenn "Draw=true" ist, wird dieser gezeichnet.. dadurch habe ich ganze 300 FPS..
Das Rendering() geschieht über Hardware-Instancing(leicht modifizierte Version, um divergente Texturen darzustellen)..
Das Problem geht mit dem Update() einher.
Ich prüfe in der Update()-Methode, ob ein Cube im View-Frustum liegt.. wenn ja, dann führe Test aus.
Die Render-Distanz ermittel ich aus der Distanz eines Rays zu einem Würfel.
Dadurch schöpf ich meines Erachtens das größte Leistungspotenzial in einem Chunk.
Problematisch wird dies bei 5 Chunks..
denn ich muss 16x16x256 * 5 abzüglich den Cubes, die nicht im View-Frustum sind, aktualisieren.
Ich habe es mit Parallel-For versucht.. war akzeptabel.. bei 20 Chunks wird es jedoch kritisch.
Wie implementiert Minecraft bloß diese Chunks?
Ich las das Minecraft eine Instanz eines Objektes habe, welcher dann transformiert, rotiert und gerendert werde... wie würdet ihr vorgehen?
Liebe Grüße.
Und Gott alleine weiß alles am allerbesten und besser.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „φConst“ ()