SQF Arma 3 Wie leistungsfähigkeit sind lästige Loops?

Sie sind. Wenn Sie wissen möchten, warum Leistung ärgerlich sein kann, müssen Sie zuerst verstehen, wie das SQF Arma 3-Skript funktioniert, was ein langer Prozess ist.

Das Skript beginnt an einem bestimmten Punkt, und wenn es sich bei der Datei um eine Batchdatei handelt (z. B. eine C:temp-Datei.sfr oder C:temp-Batch.sfr), lädt und führt das Skript jede Datei in einer Schleife aus, wobei das Ende der Schleife als Stop bezeichnet wird. In der ersten Schleife führt der SQF-Code die Hauptschleife des Spiels aus. Das Spiel verwendet eine Schleife pro Sekunde, um die Spielszene zu rendern. Während des Spielrahmens befindet sich der Spieler in einer sehr hohen Position, und wenn die fps nach unten geht, wird der Spieler zunehmend anfällig für die hohe FPS. Diese niedrige FPS geschieht, weil die CPU den Großteil ihrer Zeit damit verbringt, die Spielszene zu rendern. Die CPU muss auch Nachrichten verarbeiten und an alle anderen Prozesse im Spiel senden. Der SQF-Code verwendet in dieser Schleife die "Threads", die im Spiel erstellt werden. Wenn ein Benutzer eine SQF-Datei anfordert, die größer als die verfügbare CPU-Zeit ist, wird ein Thread erstellt, um die Anforderung zu verarbeiten. Sobald die SQF-Datei erstellt wurde, wartet der Thread darauf, dass der Benutzer eine bestimmte Aktion auswählt. Wenn der Benutzer eine bestimmte Aktion auswählt, erstellt der Thread das Objekt, das erstellt werden muss.

Dieser Prozess des Codes wird endlos schleifen und wenn die CPU ausgelastet ist, wird es abstürzen. Der Code kann nicht beendet werden, da der "Haupt"-Prozess ausgeführt wird. Um den Code besser zu verstehen, müssen wir einen Blick auf das Objekt werfen, das zum Erstellen der Objekte verwendet wird. Dies ist, was das Programm verwendet, wenn wir einen Anruf zu ihm und das gleiche kann für jedes Programm, das wir erstellen verwendet werden. Das Programm verwendet das gleiche "objset" wie wir zuvor gesehen haben. Es verwendet das "objset", um die globalen Variablen festzulegen, die wir später für Folgende Dinge verwenden können: Sie können sehen, dass sich das Objekt an einem anderen Ort befindet als zuvor. Der Unterschied ist nicht groß, aber wenn wir den Code schreiben, müssen wir wissen, wann wir zum Objekt wechseln müssen. Daher verwenden wir den folgenden Code: Es gibt eine Menge Code in diesem einen Code. Der größte Teil des Codes ist derselbe wie beim ersten Mal, als wir das gleiche Programm sahen: Und wir können die Objekte einfach vergleichen. Der einzige Unterschied besteht darin, dass die erste Funktion 0 zurückgibt, da das Objekt nicht vorhanden war. Wir können diesen Fehler loswerden, wenn wir zum Objekt wechseln. In diesem Fall wollen wir den Unterschied sehen. Wenn wir nur Objekt 1 vergleichen müssen, können wir den gleichen Trick verwenden. Sehen Sie einen Schleifer kaufen Vergleich an. In unserem Objekt verwenden wir den Namen des Objekts und die Zahl 0. Wir können also das Objekt 1 und 2 vergleichen und das erste Objekt ist 0. Die zweite ist es nicht. Wir wissen also, dass dieses Objekt

Wie können wir feststellen, dass es 0 ist? Es gibt noch einen weiteren Trick: Wir werden ein anderes Objekt haben. Dieses Mal werden wir das erste Objekt mit einem anderen Objekt vergleichen und wir erhalten die gleiche Antwort. Dies geschieht aufgrund der Existenz des Unterschieds: Dieses Objekt ist nicht 0. Aber woher können wir wissen, dass der Unterschied 0 ist? Lassen Sie uns ein anderes Beispiel verwenden: Wir können ein anderes Objekt erhalten, indem wir die Umkehrung eines Unterschieds nehmen.