12.07.2008, 13:46 | #1 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Die Grenzen der While und For Schleife
Ich habe die While- und For-Schleifen getestet. Im Anhang findet ihr die Testmission.
While Schleife: Das Skript wird vom System bei 16.700.000 Durchläufen abgebrochen. ArmA läuft problemlos weiter. Es wird kein Sleep (!!!) für eine Pause benötigt und der Spielablauf ist dadurch nicht gestört. Wenn diese maximale Anzahl von Durchläufen erreicht werden würde, ist der Sleep Befehl einzubinden!! Bei Sleep 0.01 (eine kürzere Zeit wird vom System nicht erreicht) würde die While Schleife 45 Stunden lauffähig sein. For Schleife: ArmA bleibt bei 16.700.000 Durchläufen "stecken" und muß neu gestartet werden. Sleep wird benötigt und der Spielablauf ist immer bis zur Pause behindert. |
12.07.2008, 19:17 | #2 (permalink) |
Registriert seit: 22.12.2005
Beiträge: 323
|
mal nur so theoretisch, hast du auch getestet, wie oft sowas abläuft?
schleife.sqf Code:
_count=_this select 0; hint format["Durchlauf: %1",_count]; _nul=[_count+1] execVM "schleife.sqf";
__________________
SP Mission, coming soon... |
12.07.2008, 20:29 | #3 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Habe ich nicht. Aber da das Skript nach einem Durchlauf beendet wird sollte das nicht problematisch sein, falls zwischen jedem Aufruf die Kontrolle automatisch an das System übergeben wird.
Allerdings müßte man zum Zählen ein globale Variable nehmen und die Textausgabe nach einer größeren Anzahl von einem anderen Skript durchführen lassen, weil die Textausgabe den Durchlauf so verzögert, dass es Stunden dauern würde, um millionen Durchläufe zu testen. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Einfache Check-Schleife (sqf) | Mr.g-c | Editing | 4 | 12.07.2008 11:39 |
Grenzen auf Sahrani | ReziSTant | Offizielle Missionen & Kampagnen | 5 | 05.12.2006 00:07 |