selbst erstelltes Script Performance freundlicher machen

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
  • Hallo,
    ich habe mal ein paar Fragen.
    Wie einige vieleicht wissen, habe ich den Atron AFR4 in der BVG Version gebaut. Das ich alle (in OMSI möglichen) Funktionen gescriptet habe, ist das Script jetzt sehr groß.
    Leider reagiert der atron jetzt langsam. Z.B wenn ich die pin eingebe wird die zahl erst 1sek später angezeigt. Oder wenn die seite gewechselt wird, verschwindet der text erst 1sek später. usw...


    Meine Fragen jetzt:
    Wie kann ich das Script performance sparender machen?
    - spielt die Anzahl der Texttexturen eine Rolle, oder ist es egal wie viele Texttexturen ich erstelle?
    - bringt es was für die performace wenn ich etwas in if klammern schreibe also z.B.


    bla =1
    if
    blala
    endif


    Wird blala nicht gelesen und ist somit performace sparender, wenn bla = 1 ist? oder wird es trotzdem gelesen nur nicht gemacht?


    - ist egal wie viele Strings ich erstelle?


    Vielen Dank im Voraus.
    Mfg
    Mx200

  • Um konkret die Performance-Engpässe in deinem Script erkennen zu können, müsste ich es sehen. Grundsätzlich kann ich allerdings sagen, dass es eine gute Idee ist, die Zahl der Texturen möglichst gering zu halten, denn das ständige Laden neuer Texturen drückt auf die Performance. Grundsätzlich ist alles, was etwas an der Darstellung des Druckers in Omsi ändert (Texturen, Texttexturen etc.), tendenziell problematischer als das, was nur hinter den Kulissen abläuft.


    Nichtsdestotrotz lohnt es sich auch immer, zu versuchen, das Script an sich performancemäßig zu optimieren. Dazu gehört unter Anderem auch, bestimmte Code-Blöcke nur auszuführen, wenn es nötig ist (das mit den if-Anweisungen).

    ;)
  • Keine Ahnung, aber die VMatrix.osc im Script-Ordner des NL/NGs nutzt die Befehle (z.B. ab Zeile 332). Die könntest du ggf. mit dem oben verlinkten Artikel abgleichen und darauf schließen, was dort gemacht wird.

  • Font-Größen sind in OMSI ja in Pixeln. Wenn eine Font eine Höhe von 500 Pixeln hat, brauchst du also eine mindestens ebenso hohe Textur, die dann nochmal um ein Vielfaches breit sein muss, um den ganzen Text darzustellen.
    Oder um es kurz zu beantworten: Ja, weil große Fonts auch große Texturen benötigen. Und für deren Aktualisierung braucht OMSI dann sicherlich auch mehr Zeit, so dass das nicht nur auf den Speicher geht.