Wenn Boost.Signals zu langsam ist...
Verfasst: Mo Mai 11, 2009 11:45 pm
Für meine Spieleengine versuche ich natürlich auch meinen Code so schnell wie möglich zu schreiben, zumindest soweit es sinnvoll möglich ist und im Bereich des Lesbaren bleibt. Dabei bin ich auch auf einen Eintrag in einer Mailingliste gestoßen auf der die langsame Ausführungsgeschwindigkeit von Boost.Signals bemängelt wurde.
Das habe ich jetzt in einem Artikel auf meiner Homepage auch ausprobiert und bin mit meinem Testprogramm an ähnliche Ergebnisse gelangt. Was ich und andere auch daraus erkennen sollten, das Boost nicht immer die beste Lösung darstellt auch wenn sie sehr gute Bibliotheken sind.
Zwischenzeitlich habe ich überlegt mit einem Event/Signals and Slotssystem zu arbeiten, aber ich glaube ich werde jetzt aus Performancegrunden versuchen das so weit wie möglich einzuschränken. Weil wenn ich das zum Beispiel mit Boost.Signals machen würde und in jedem Frame 1.000 Slots jeweils 1.000 Mal aufrufen würde dann würde ich auf eine Framerate von nur knapp 30FPS kommen, und das ohne noch irgendwelche anderen Sachen zu berechnen. Mit meiner vorgestellten Alternative komme ich immerhin noch auf ca. 130 FPS, aber was auch noch zu wenig ist weshalb ich wohl andere Wege einschlagen werde
Das habe ich jetzt in einem Artikel auf meiner Homepage auch ausprobiert und bin mit meinem Testprogramm an ähnliche Ergebnisse gelangt. Was ich und andere auch daraus erkennen sollten, das Boost nicht immer die beste Lösung darstellt auch wenn sie sehr gute Bibliotheken sind.
Zwischenzeitlich habe ich überlegt mit einem Event/Signals and Slotssystem zu arbeiten, aber ich glaube ich werde jetzt aus Performancegrunden versuchen das so weit wie möglich einzuschränken. Weil wenn ich das zum Beispiel mit Boost.Signals machen würde und in jedem Frame 1.000 Slots jeweils 1.000 Mal aufrufen würde dann würde ich auf eine Framerate von nur knapp 30FPS kommen, und das ohne noch irgendwelche anderen Sachen zu berechnen. Mit meiner vorgestellten Alternative komme ich immerhin noch auf ca. 130 FPS, aber was auch noch zu wenig ist weshalb ich wohl andere Wege einschlagen werde
