Ruckler bei Texturwechsel

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Nabend zusammen,

    ich bastle seit längerer Zeit an einer Innenanzeige und habe aktuell das Problem, dass es beim Wechseln der Textur häufig unangenehme Mikroruckler gibt. Daher wollte ich mal erfragen, ob jemand schonmal ähnliche Probleme hatte und/oder eine Lösung dafür hat.

    Die zu wechselnden Texturen sind dds-Dateien mit einer Größe von 750x470 Pixeln (Dateigröße 346KB bzw. 173KB), falls das noch eine Rolle spielen könnte. Ich habe auch bereits probiert, die Texturen als png-Dateien zu speichern - leider ohne Erfolg.

    Im Voraus schonmal vielen Dank
    Wagen300

    WERNGroup - Wir verbinden unsere Region


  • Meinst du Ruckler am Spiel selbst (Mini-Freeze) oder kurz eine weiße Fläche an der Stelle der Textur? Beim Texturwechsel hatte ich letztes auch öfters, daher habe ich dann seperaten Objekte genommen, mit den verschiedenen Texturen und das dann über [visible] geregelt.

  • Der entsprechende Teil des Scripts sieht wie folgt aus:


    Ist grundsätzlich nur das Script von Morpheus' TFT-Bildschirm aus'm Citaro Facelift, welches ja ruckelfrei funktioniert...

    WERNGroup - Wir verbinden unsere Region


  • Diese Ruckler lassen sich leider schwer vermeiden bei Texturtausch über das Script. Es hilft nur die Dateigröße möglichst klein zu halten.

    Es hängt auch vom Prozessor ab. Als ich noch den FX8350 hatte, war das schon echt teilweise eine Katastrophe. Mit meinem aktuellen i9 9900k ist das schon deutlich weniger geworden. Leider kann man da nicht sonderlich viel machen.

    Das gleiche gilt auch für Textfelder. Je größer die Alphabitmap der OMSI-Font ist, desto schlimmer wird das Ruckeln bei Änderung des Textes.

  • Diese Ruckler lassen sich leider schwer vermeiden bei Texturtausch über das Script. Es hilft nur die Dateigröße möglichst klein zu halten.

    Ja das kann ich so auch bestätigen.

    Jedes mal, wenn der Drucker und die Innenanzeige auf die nächste Haltestelle springt und die nächste Ansage abgespielt wird, gibt es einen kleinen aber spürbaren Ruckler.

    Auch auf Grundorf ;)


    mfg

    Daniel

    • Hilfreichster Beitrag

    es hilft auch, Textfelder oder Bitmaps nicht gleichzeitig zu aktivieren und/oder die Textur geladen zu halten.
    Eine Möglichkeit wäre beispielsweise, ein verstecktes Mesh mit den benötigten Texturen zu mappen und damit "vorzuhalten". tauscht das Script dann die Texturen aus, ruckelt es nicht da diese nicht erst geladen werden müssen.
    Tritt das Problem bei Textfeldern auf, kann man diese auch "zug um zug" aktualisieren anstatt alle auf einmal. Das ist häufig ein Problem bei der Haltestellenweiterschaltung, wo auf IBIS, Bordcomputer, Innenanzeige und mehr gleichzeitig etwas passiert. Dort macht es sinn die Aktualisierungen je um ein paar Frames verschieben, um so den Rechenaufwand für diesen einen Wechselframe zu minimieren.

    Hält man die Dateien vor, wird natürlich der Speicherbedarf erhöht und für versetztes aktualisieren muss das Script entsprechend angepasst werden.
    Wagen300

    eine Textur, die Beispielsweise 513x513px groß ist, wird automatisch auf die nächst größere 2 hoch x Texturgröße hochgerechnet - deine Textur ist also fürs Spiel eigentlich 1024x1024px groß, obwohl sie nur ein Pixel größer ist als das nächst kleinere Format.