Schiggebam / FightOfAIs3

1 stars 1 forks source link

KeyFrameAnimations too slow #25

Open Schiggebam opened 4 years ago

Schiggebam commented 4 years ago

Problem: Es ist relativ teuer, von einem Sprite die Texture zu wechseln. Leider ist das häufig nötig für die KeyFrameAnimations (Animationen als folge von texturen) Die einzige Animation derzeit ist die wehende Flagge. Sobald mehr als ~ 50 Gebäude auf der Karte sind dropped die Framerate (weil der upgrade thread sich verzögert und die beiden sind wohl auf irgendeine art gekoppelt in der arcade engine, vermutlich weil es eine synchronisierung gibt, damit Frames nicht "zerreißen" Möglichkeiten:

  1. einen extra thread die update machen lassen. Der müsste zumindest and den update thread synchronisiert sein. Das würde das problem allerdings nur aufschieben auf vllt 100 mögliche Flaggen. (Eigentlich auch zu wenig)
  2. Engine wechseln. Der Aufwand wäre wahrscheinlich mäßig hoch, da die engine eig. noch gut vom Spiel getrennt ist durch den Texture store und die call-back Methoden in game. mal schauen...
Schiggebam commented 4 years ago
  1. Ode auf die Keyframes verzichten. Es ist eigenlich auch egal und nur optisch.
  2. pro Keyframe ein sprite und immer das aktuelle Sprite opaque, die anderen transparent machen. (schneller als die texture zu wechseln), das wären dann pro Flagge 10 Sprites. Bei 100 Flaggen 1000 Sprites. Ein ursprünglicher Stresstest hat gezeigt, dass auf meinem Laptop ca. 5000 Sprites problemlos zu rendern sind. (Hängt aber sicher von einigen Freiheitsgraden ab)