Ergebnis 1 bis 20 von 256

Thema: The Daily Game Dev Struggle #5: "One Pixel after another"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    "Vibration of Nature" - It's a long story
    stars_mod
    Hiho~

    war gestern Unterwegs uns die nächsten Tage mal wieder bei Familie. Wird also mal etwas weniger passieren. Bin aktuell dabei die Renderengine von CrossCode zu überarbeiten. Der aktuelle Renderansatz der Map Tiles läuft zwar gut, verbraucht aber ziemlich viel Speicher vor allem bei sehr großen Maps - im prinzip wird die gesamte Map in Bildern vorgerendert. Für den neuen Ansatz habe ich mir was überlegt, wo quasi nur die Tiles die aktuell auf dem Bildschirm sichtbar sind vorgerendert werden - neue Inhalte werden dann Schritt für Schritt beim Bewegen dazu gerendert - was dann meistens nur recht wenige Tiles am Rand vom Bildschirm sind.

    Der Erste Ansatz hat dann so funktioniert, dass die alten vorgerenderten Grafiken innerhalb vom Buffer "verschoben" wurden und dann neue dazugerendert werden. Das hat dazu geführt dass man den alten Buffer zuerst in einen neuen reinrendern musste - das habe ich dann so gelöst dass sich Inhalte durch alle existierenden Buffer quasi durchgeshiftet wurden um speicher zu sparen. Das sah dann etwa so aus:



    Der Ansatz hat funktioniert und auch weniger speicher verbraucht.... aber war in der Praxis viel zu langsam! Es war viel zu teuer die inhalte vom vorherigen Frame zum neuen zu übertragen (im wesentlichen musste man ja den gesamten Buffer quasi jeden frame neu rendern).

    Da das verschieben der Grafiken das Problem war, habe ich dann am nächsten Tag was anderes probiert: Existierenden Grafiken werden nicht verschoben, stattdessen werden neue Grafiken einfach nebendran gerendert - da der Buffer ja eine begrenzte Größe hat wird dann quasi gelooped: wenn die neue Grafiken jenseits des rechten Bildschirm randes hin müssten kommen sie stattdessen links hin - genauso oben und unten. Der Ansatz führt dann dazu dass weitaus weniger neugerendert werden muss innerhalb der einzelnen Buffer - auch wenn das rendern Buffers im Spiel selber etwas teurer ist - aber Schluss endlich war dies dann die Lösung die schnell lief! Und so sieht's aus:



    So wie es aussieht werden wir also diesen Rendering Algorithmus übernehmen. Werde das noch etwas genauer durchtesten und auch mal zusehen, dass es im Map editor funktioniert. Und dann hab ich mich mal wieder genug technisch ausgetobt und sollte wieder an Inhalte arbeiten :P

    C ya

    Lachsen

    Geändert von Lachsen (25.06.2016 um 00:07 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •