Ressourcensparend scripten? - Weshalb & Wie?!

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Leute,


    ich würde gerne wissen, weshalb genau es ratsam ist Ressourcensparend
    zu Scripten und wie man überhaupt Ressourcensparend scriptet.


    Dazu wären Beispiele Nett.



    Wenn der Thread mehr als nur 2 nützliche antworten enthält, könnte man ihn ja vielleicht für alle oben anheften...




    Mit freundlichen Grüßen
    AlphaGen




    //E: Rechtschreibfehler gefunden..

    DIVIDE ET IMPERA

  • ich würde gerne wissen, weshalb genau es ratsam ist Ressourcen sparend zu Scripten


    Ganz einfach:
    Der Server laggt weniger


    und wie man überhaupt Ressourcensparend scriptet.


    Anstatt zum Beispiel "Accounts Speichern"
    Das kann man alle 5 Minuten z.B machen.
    Ressourcensparender wäre es aber, wenn man es macht, wenn der Spieler, der gespeichert werden soll den Server verlässt


    MFG

  • Wichtig ist es um Leistung (Resourcen) beim ausführen des Gamemodes zu sparen und somit Laggs vorzubeugen.
    Resourcenschonend scripten ist einfach:


    - Mach keine unnötigen Abfragen
    - Lass schleifen nur soweit durchlaufen wie nötig
    - Überlege dir die reihenfolge der Abfragen


    Für letzteres ein Beispiel.
    Du willst einem Spieler Geld geben.
    Bevor Du aber abfragst, ob du das Geld hast was der Spieler hat,
    Frag zuerst ab ob er Online ist. Damit sparst du resourcen.


    Im prinzip sind es viele kleine Dinge auf die du achten musst und das da oben nur Orientierungspunkte.

  • Es geht dabei darum, die Belastung für den Server und für den Client so gering wie möglich zu halten.
    Simple Beispiele sind unnötige Abfragen, die man durch bessere ersetzen kann, oder die gar komplett wegfallen.


    Da ich gerade auf Quellcode verzichten möchte, kurz ein paar Gedanken:
    -Man muss nicht alles aus der Datenbank oder aus Files auslesen, dafür gibt es Variablen, die genau für dieses Zwischenspeichern gedacht sind.
    -Ist es unbedingt notwendig eine Schleife durch alle Spieler laufen zu lassen?


    Allgemein Schlucken Schleifen und Sortier-Algorythmen sehr viel Rechenleistung.
    Daher bietet es sich an, diese "Großverbraucher" zu optimieren, bzw. zu überlegen, ob man nicht eine bessere Methode für eine Aktion finden kann.
    Mal als Beispiel einen Heapsort:
    (entnommen aus "wikipedia")
    Dagegen den Bubblesort:
    (entnommen aus "wikipedia")
    Ich hoffe es wird klar, was hier klar vorne liegt ;)



    Das ist halt Code-Optimizing :)



    Grüße FACE.



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • Warum will jeder hier irgendwas angepinnt habe.
    Es gibt schon ein Thema welches sich damit befasst.

    Ich habe mit keinem Wort geschreiben, dass ich das Thema angepinnt haben will.
    Ich habe lediglich geschrieben, dass wenn der Thread mehr als Zwei nützlche Beiträge hat, man ihn vielleicht oben anhefen könnte!


    [ SCRIPTING ] Code Optimierung


    Evtl. hilft dir das auf die Sprünge.

    Danke, ich werde mir den Thread verinnerlichen.. :D

    DIVIDE ET IMPERA