Pygame | Pyopengl: Performance

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Zuzu_Typ

Hallo liebe Community,

ich arbeite derzeit an einem Spiel, das an "Death Rally" (classic) von Remedy Entertainment angelehnt sein soll und dafür aber einen Multiplayer enthält.

Bisher läuft alles den Umständen entsprechend gut, ich störe mich nur an der Performance.
Ich erhalte, wenn ich ein Objekt mit
  • 100 Vertizen,
    109 Linies,
    19 Quads,
    2 Polygons,
    4 Triangles
    und 8 texturierten Polygons
anzeigen lasse, flüssige 60 FPS.

Habe ich aber zwei dieser Objekte, verringert sich meine Bildfrequenz auf 45 FPS.
Ein normales Spiel läuft noch mit über 2 mio. Vertizen flüssig, also möchte ich gerne wissen:
Ist das normal für Python (das würde ich am ehesten verstehen),
oder mache ich offensichtlicher Weise etwas falsch beim Zeichnen der Objekte?

Auf Anfrage kann ich auch Teile des Programms hinzufügen.

Vielen Dank für eure Hilfe.
BlackJack

@Zuzu_Typ: Ich würde mal sagen Du verwendest Python für Sachen die schnell laufen müssen. Für so etwas gibt's Game Engines mit Python-Anbindungen. Blender, Ogre, Panda3D, …
Zuzu_Typ

Danke für die Tipps, aber ich möchte eigentlich das Spiel nur mit Sprachen und Modulen machen, die ich schon kenne und auch tw. benutzen kann.
Es soll auch kein besonders Grafisch-starkes Spiel werden, ich wollte nur sichergehen, dass ich nicht irgendetwas falsch mache.

Dann werde ich versuchen so viel Performance wie möglich rauszuholen.

Danke nochmals für deine sofortigen und hilfreichen Antworten :D
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Es kommt natürlich auch stark darauf an, wie Du OpenGL verwendest. Wenn Du lediglich den immediate-mode (glBegin und Konsorten) verwendest, kommst Du schnell an die Grenzen des machbaren. Im Grunde kommst Du nicht um "modern OpenGL" herum (Vertex-Buffer, Uniform-Buffer, Shader, etc.).
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Zuzu_Typ

Vielen Dank, aber ich bin jetzt auf C++ umgestiegen, da bin ich nun das erste mal mit modern opengl in Verbindung gekommen.

Da kann ich auch davon ausgehen, dass ich keine Probleme mehr haben werde, passende Erweiterungen zu finden oder Probleme mit Pyinstaller zu haben.

Und ich lerne mal was neues.
Antworten