29.12.2012, 14:11 | #1 (permalink) |
Registriert seit: 16.10.2012
Beiträge: 63
|
Performanceprobleme (Lösung: Objekte nur bei Bedarf erscheinen lassen)
Hallo, nachdem ich Stunden damit verbracht habe, die Welt von Chernarus falloutmäßig zu gestalten, fällt mir immer mehr auf, dass die Engine das einfach nicht packt. Hab mich zunächst auf Cherno und Elektro fixiert und halt einige Objekte und Wracks eingefügt... Jedenfalls ist meine FPS-Rate im Keller(5).
Deswegen habe ich Scripte benutzt, die die Objekteigenschaften und deren Positionen abspeichern und diese löschen und bei Bedarf wieder platzieren. Allerdings reicht das nicht aus. Es muss doch möglich sein, dass die Objekte von vornherein nicht platziert werden und erst, wenn der Spieler in der Nähe ist, platziert werden. Aus anderen Editoren oder Spielen kenne ich es nur so, dass die Objekte erst dann gespawnt werden, wenn der Spieler in der Nähe ist. hat jmd. vll ne Lösung? Hab hier mal ein Bild geuploadet, das nur einen Teil meiner Mod veranschaulicht. Directupload.net - gd6vhw5z.jpg (Die Auslöserkästen dienen der Undead mod als auch dem Löschen/SPawn script) Wenn man zb. die Dayz Mod entpackt und die Map öffnet, ist diese fast leer, alle Objekte, die auf der Map später vorhanden sind, sind zunächst nur in Scriptform aufgelistet (vll hilft das). Hab zwar keinen guten PC mehr, aber ich denke, dass dieses Problem bei fast allen Rechnern auftrit. Was kann ich also machen? |
29.12.2012, 17:54 | #2 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
Öhm.. das bisschen Pipifax bringt Deine Frames auf 5 runter?! Sicher, dass das an den Objekten liegt?! Gut, nun bin ich in der glücklichen Situation einen HighEnd Rechner zu besitzen, aber ich kann mir nicht vorstellen, dass die paar Objekte das verursachen. Laufen da noch irgendwelche Scripte? Oder sind Addons im Spiel? Wäre nicht das erstemal, dass ein fehlerhaftes Script oder Addon die Performance in den Keller zieht...
|
29.12.2012, 21:54 | #3 (permalink) |
Registriert seit: 16.10.2012
Beiträge: 63
|
Wird sicher auch an den Script liegen, aber vll auch nur an meinen pc. Hab hier nochmal 2 Screens hochgeladen. Wenn ich diese Mission starte habe ich nur noch 5 FPS.
Da sind jetzt übertrieben viele Traktoren, aber wie würde sich das auf deinem System auswirken? Directupload.net - efqwp82m.jpg Directupload.net - kfp9lq4j.jpg Ist das normal?! |
30.12.2012, 15:03 | #5 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Das sind ja mindestens 8000 Objekte. Logisch, dass hier das Programm weit über seine Grenzen belastet wird.
Es ist anzunehmen, dass das Speichern von Daten zu Objekten das System weit weniger belastet als vorhandene Objekte im Kartenbereich. Hier ein Beispiel wie die Daten von momentan nicht erforderlichen Objekten gespeichert, die Objekte gelöscht und bei bedarf wiedererstellt werden können: Einheiten spawnen/ löschen script - HX3 Foren |
30.12.2012, 18:42 | #6 (permalink) |
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 58
Beiträge: 3.013
|
Schon mal überlegt nur die Positionen, Ausrichtung und Art der Objekte zu halten und ein gewisses Kontigent an Objekten im vorfeld weit außerhalb des Sichtbereichs zu spawnen und die dann nur bei Spielernähe entsprechend zu umzuplatzieren ?
Das würde die Objektmasse massiv reduzieren weil man ja sozusagen immer die selben n Fahrzeugwracks sieht egal wo man sich auf der Karte aufhält. Ok, im MP wird das etwas heftiger, aber auch da könnte man pro Spieler n Objekte vorhalten, es dürfte auf jeden Fall enorm Performancefreundlicher sein.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547 |
31.12.2012, 09:53 | #7 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
In MP ist der Nachteil, dass zu verlagernde Objekte nur für eine Örtlichkeit zur Verfügung stehen, schon recht problematisch, wenn sich Spieler an unterschiedlichen Orten aufhalten können.
Auch ist der Aufwand, die dafür notwendigen Daten aufzunehmen, erheblich schwieriger als die gewünschten Objekte im Editor aufzustellen, beim Spielstart mit Speicherung der Daten automatisch zu löschen, bei Bedarf die gerade vor Ort benötigten Objekte mit den Daten wieder zu erzeugen und im Anschluss wieder zu löschen. Genau das ist mit dieses Skript möglich: Einheiten spawnen/ löschen script Wobei auch veränderte Positionen und Beschädigungen der Objekte berücksichtigt werden. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|