Performance-Probleme mit Tiles



  • Ich versuche gerade, mit SFML eine kleine Tile-Engine zu schreiben.
    Dazu habe ich ein 2D-Array für die Tiles (sf::Image und sf::Sprite) mit PNGs geladen.
    In der Main-Loop der Programmes muss ich ja jedesmal die einzelnen Tiles im Raster wieder anzeigen, also habe ich eine Schleife, die das Array abackert und das Tile an seiner Position anzeigt (Draw(Array[x][y].gfxTile)).
    Nur leider ist das auf meinem Schulrechner (1 GHz) dermassen lahm. Ich hatte eine Figur eingebaut, die man mit Pfeiltasten steuern kann. Wird so richtig langsam.
    Ich hab das Gefühl ich ackere da am völlig falschen Ende herum.

    Gibts denn kein Tutorial zum Aufbau einer Tilemap für SFML?


  • Mod

    kann sein dass der schulrechner im software mode laeuft von opengl ;).
    auf jedenfalls solltest du nur die sichtbaren tiles zeichnen, nicht alle im array 😉

    ansonsten benutz einen profiler, der sagt dir dann effektiv woran es liegt 😉



  • Direkte leaks werden wir nur finden wenn du deinen code irgendwo (z.b. auf www.rafb.net) hochlädst damit wir ihn durchschauen können. wenn da keine performance verschossen wird liegts wohl einfach an den rechnern.



  • Naja, es sind erst 20x20 Tiles mit je 20px Seitenlänge. Also nicht viel, es sollte dennoch schneller gehen.
    Ausserdem habe ich unter BlitzBasic damals schon sowas gemacht, was wesentlich schneller war.

    Meinen Code hab ich hier: http://rafb.net/p/Uh4Gwa51.html

    Für Kenner mag der Code etwas amateurhaft aussehen, aber ich arbeite mich erst seit kurzem in C++ ein und habs einfach noch nicht so drauf.


Anmelden zum Antworten