Hallo Community!
Ich bin im Moment dabei, ein Programm zum Verwalten von Spielen (in der Richtung von "Game Manager" und "Happy Gaming", die in diesem Forum schon vorgestellt worden sind) zu programmieren.
Das ganze System habe ich recht dynamisch aufgebaut, sodass Fehler in den Grundlagen (z.B. Zeichnen, Input-Fehler) nicht zum Absturz führen und behoben werden. Das Programm wird mittels GDI dargestellt und animiert, eigene Grafiken habe ich in den Ressources.
Nur habe ich ein kleines Problem: Das ganze ist verdammt unperformant - Auf meinem Rechner (CPU: 2x 2,7 Ghz; GraKa: nVidia GeForce 9600 GT 512 MB; RAM: 3 GB; OS: Windows 7 Professional 64 Bit) habe ich eine teils 60%ige Auslastung (normale Auslastung im normalen Betrieb liegt bei ca. 10-15%).
Das ganze schaut zwar für eine blutige Alpha schon ganz sche aus, aber ich habe keine Ahnung, wie ich das verbessern kann.
Ich arbeite mit DoubleBuffer = True und flackern tut auch nichts. Habt ihr eine Ahnung, wie ich mit GDI möglichst CPU-schonend programmieren kann? Wie würdet ihr das anstellen? Würdet ihr alles im OnPaint-Event zeichnen lassen? Würdet ihr das beim OnPaint-Event erstellte Graphics-Object einer fremden Klasse zur eigenen Berechnung übergeben oder dort neu instanzieren?
Falls ihr euch das Programm schoneinmal anschauen wollt, kann ich es euch auf Wunsch gern in den Anhang packen. Und wenn ihr mir mit meinem Code helfen könnt, so packe ich euch auch gern die Kern-Elemente meines Codes dort hin :).
Hoffe, ihr habt einige Ideen!
MfG,
X-Zat / Momo
// EDIT:
Ich programmiere kein Spiel, deswegen hab ich's trotz Nutzung von GDI erstmal hier gepostet. Und ja, die Basics von GDI kenne ich, nur habe ich nirgends einen performanten Weg gefunden, wie ich mit GDI zeichnen lassen kann...
Ich bin im Moment dabei, ein Programm zum Verwalten von Spielen (in der Richtung von "Game Manager" und "Happy Gaming", die in diesem Forum schon vorgestellt worden sind) zu programmieren.
Das ganze System habe ich recht dynamisch aufgebaut, sodass Fehler in den Grundlagen (z.B. Zeichnen, Input-Fehler) nicht zum Absturz führen und behoben werden. Das Programm wird mittels GDI dargestellt und animiert, eigene Grafiken habe ich in den Ressources.
Nur habe ich ein kleines Problem: Das ganze ist verdammt unperformant - Auf meinem Rechner (CPU: 2x 2,7 Ghz; GraKa: nVidia GeForce 9600 GT 512 MB; RAM: 3 GB; OS: Windows 7 Professional 64 Bit) habe ich eine teils 60%ige Auslastung (normale Auslastung im normalen Betrieb liegt bei ca. 10-15%).
Das ganze schaut zwar für eine blutige Alpha schon ganz sche aus, aber ich habe keine Ahnung, wie ich das verbessern kann.
Ich arbeite mit DoubleBuffer = True und flackern tut auch nichts. Habt ihr eine Ahnung, wie ich mit GDI möglichst CPU-schonend programmieren kann? Wie würdet ihr das anstellen? Würdet ihr alles im OnPaint-Event zeichnen lassen? Würdet ihr das beim OnPaint-Event erstellte Graphics-Object einer fremden Klasse zur eigenen Berechnung übergeben oder dort neu instanzieren?
Falls ihr euch das Programm schoneinmal anschauen wollt, kann ich es euch auf Wunsch gern in den Anhang packen. Und wenn ihr mir mit meinem Code helfen könnt, so packe ich euch auch gern die Kern-Elemente meines Codes dort hin :).
Hoffe, ihr habt einige Ideen!
MfG,
X-Zat / Momo
// EDIT:
Ich programmiere kein Spiel, deswegen hab ich's trotz Nutzung von GDI erstmal hier gepostet. Und ja, die Basics von GDI kenne ich, nur habe ich nirgends einen performanten Weg gefunden, wie ich mit GDI zeichnen lassen kann...