Ich versuche immer noch, die Performance-Fresser möglichst zu minimieren.
-möglichst viele Funktionen in Quests mit möglichst hohem Intervall platzieren(z.B. haben meine Karawanen einen 60-Sekunden-Intervall)
-möglichst viele Funktionen in Blöcken wie OnDeath, OnCombatEnd, usw. platzieren, die nur einmalig ausgeführt werden
-performancefressende Operationen und Abfragen innerhalb möglichst einfachen Abfragen platzieren
Viele meiner Scripte für Actors sehen etwa so aus:
Code:
If SpawnState == 0
; Einmalige Start-Funktionen
Set SpawnState To 1
EndIf
If SpawnState == 1
If .... ; Komplexe Abfrage
; Ueberwachungsfunktionen
Set SpawnState To 2
EndIf
EndIf
If SpawnState == 2
If .... ; Komplexe Abfrage
If .... ; Sehr komplexe Abfrage
; Ueberwachungsfunktionen
Set SpawnState To 3
EndIf
EndIf
EndIf
Bringt das noch was, wenn ich den ganzen Block in einen Timer nehme, der das alles alle 5 Sekunden abarbeitet?
Actor-Scripte werden sonst ein Mal pro Frame abgearbeitet und wenn ich 70 Actors in der Szene habe, sind das mindestens 70 * 3 Abfragen pro Frame