PyOpenGL Performance

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Isajah
User
Beiträge: 6
Registriert: Donnerstag 25. Oktober 2018, 22:41

Hallo,

Ich habe einen Landschaftsgenerator geschrieben und mittels PyOpenGL eine Landschaft aus Triangle Strips generiert. das hat mich bis hier hin viel Nerven gekostet, aber ganz gut geklappt.

woran ich ganz schön zu knabbern habe, ist die Performance. Wenn die "Kamera" sich über die Landschaft bewegt, dauert es ganz schön lange, bis sie neu gezeichnet wurde.

ich habe die Zeichenfunktion dahingehend optimiert, dass nur die Quads gezeichnet werden, die tatsächlich im Sichtbereich liegen, damit habe ich schonmal wenigstens gleichbleibend mäßige Performance auch bei einer 1024x1024 Welt. derzeit dargestellt werden 32x32 Tiles des Gitternetzes.

den Code habe ich bei GITHUB hochgeladen, aber bitte nicht wundern, da sind auch einige "Leichen", begraben, da das für mich ein reines Spass- und Lernprojekt ist:
https://github.com/PulbRabbit/CNW_remake
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist ein bisschen sehr viel Code, um das mal eben zu reviewen. Was auffaellt: du benutzt keine display-lists oder VBOs. Dadurch erzeugst du andauernd alles neu, auch wenn das eigentlich statisch sein sollte. Da wuerde ich ansetzen.
Isajah
User
Beiträge: 6
Registriert: Donnerstag 25. Oktober 2018, 22:41

__deets__ hat geschrieben: Dienstag 6. November 2018, 16:08 Das ist ein bisschen sehr viel Code, um das mal eben zu reviewen.
Danke, dass du dir trotzdem die Mühe gemacht hast, drüber zu schauen
__deets__ hat geschrieben: Dienstag 6. November 2018, 16:08 Was auffaellt: du benutzt keine display-lists oder VBOs. Dadurch erzeugst du andauernd alles neu, auch wenn das eigentlich statisch sein sollte. Da wuerde ich ansetzen.
das sind schonmal interessante Schlagwörter, danke! kannst du mir dazu einen Link empfehlen oder eine Kurze Einleitung geben?
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Kannst du das nicht mal googeln und wenn du fragen hast die hier stellen?
Antworten