Allgemeine Frage zum Performanceverlust durch viele Objekte (IS)

Hier ist der Ort für Fragen bei technischen Problemen mit X³: Terran Conflict oder X³: Albion Prelude oder X³: Farnham's Legacy.

Moderators: timon37, Moderatoren für Deutsches X-Forum

Post Reply
Mo3pp3l
Posts: 37
Joined: Sun, 25. Dec 05, 22:16
x4

Allgemeine Frage zum Performanceverlust durch viele Objekte (IS)

Post by Mo3pp3l » Mon, 29. Jun 09, 14:57

Hallo ihr eingefleischten X-Gamer da draußen.

Es gibts ja einige Möglichkeiten um die Performance im aktuellen Spielersektor zu erhöhen.

Nun habe ich mal wieder X³TC ausgepakt und versucht herauszufinden woher der Performanceverlust eigentlich kommt.


Vorarbeit:
  • 1. Deaktivieren des MD
    2. Erstellen einer Map mit 18 Sektoren (Agron Prime und die umliegenden 17 Sektoren)
    3. Alle Sektoren bis auf Tore, Planeten und Sonnen leeren.
    4. Durch die eigene Map existieren keine Schiffe oder Jobs.

Eigentlicher Test:
  • 1. Messen der Frames in Herrons Nebel.
    2. Scripten von je 386 gleichen Objekten auf die Oberfläche eines Würfels mit der Kantenlänge von 400km und einem Objektabstand von je 50km.
    3. Messen der Frames nach Scriptende bzw. Erstellung der Objekte.

Ergebnisse: In Herrons Nebel mit 4 Toren und Spielerschiff - > 200Frames
  • 1. +386 Satteliten - 100Frames - Verlust 50%
    2. +386 Discoverer - 38Frames - Verlust 80%
    3. +386 Cahoona Presse M - 36Frames - Verlust 80%
    4. +386 Titan - 9Frames - Verlust 95%
Es wurden immer nur 386 Objekte erstellt und gemessen. Danach erfolgte dann ein Reload und erneutes scripten.


Zu den anderen Testgegebenheiten:
  • 1. Spielerschiff steht bei den Koordinaten 0;0;0
    2. Die 4 Tore liegen genau in der Ekliptik und sind jeweils 50km von Sektorzentrum entfernt.
    3. Durch die Kantenlänge des Würfels von 400km befinden sich alle erstellten Objekte weit außerhalb des eigentlich sichtbaren Bereichs (ich sehe nichtmal die Tore in 50km Entfernung)
    4. Alle Objekte sind in Spielerbesitz und haben einen Bewegungsvektor von (0;0;0) oder auch "Sie bewegen sich nicht!!"

So und nun die Frage(n):
  • 1. Warum ist der Performanceverlust so hoch?
    2. Woher kommt er überhaupt oder woher könnte er kommen?

User avatar
bogatzky
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 7497
Joined: Tue, 3. Feb 04, 00:30
x4

Re: Allgemeine Frage zum Performanceverlust durch viele Objekte (IS)

Post by bogatzky » Mon, 29. Jun 09, 16:29

Mo3pp3l wrote: ...
1. Warum ist der Performanceverlust so hoch?
2. Woher kommt er überhaupt oder woher könnte er kommen?
Zu 1. Ist er denn "hoch"? Bitte mal vorab definieren, was hier "hoch" im Vergleich überhaupt bedeuten soll?
Zu 2. Offensichtlich hängt die Performance von Art und Anzahl der zu berechnenden Objekte ab.
Ein Satellit besitzt weniger Polygone als ein Titan und ist damit bei gleicher Gesamtzahl schneller zu berechnen.

Das war bisher noch nicht wirklich tiefschürfend und lässt sich mit der Grundaussage "je komplexer das zu berechnende Objekt desto langsamer die Berechnung" zusammenfassen.
Vielleicht kommen aber später noch die grösseren Einsichten dazu.

Allerdings beinhaltet dieses allgemeine Thema so immer noch kein technisches Problem zu TC.
Wo bleiben die direkten Vergleiche mit Reunion? Das wäre doch der interessante Aspekt hinsichtlich möglicher Veränderungen der Performance bei TC und würde diesen Forenplatz rechtfertigen.
Oder habe ich da etwas überlesen?
Menschen. Das Böse daran ist das Dumme darin!

Mo3pp3l
Posts: 37
Joined: Sun, 25. Dec 05, 22:16
x4

Post by Mo3pp3l » Mon, 29. Jun 09, 17:15

Na das ging ja mal schnell. :)

Zu 1.:

Ja er ist hoch!!

Nehmen wir den Testfall 3 mit der Cahoona Presse M. 80% weniger Frames/sec finde ich sehr hoch.


Wir wissen ja das OOS die Performance durch 386 oder mehr Fabriken nicht merklich negativ beeinflusst wird. Die Berechnung der Produktionsprozesse der Farbriken ist also nicht Schuld.

IS jedoch ist das total anders und um deine Frage zu beantworten, es ist in X³R nicht anders.

Trotzdem ist es ein Problem und ich würde gern wissen woher es kommt.


Die Frage warum, kommt eigentlich aus meinem logischen Verständnis.

Hier nochmal etwas genauere Angaben dazu:
  • 1. Fabriken, Tore oder auch Satelliten sind statische Objekte, können also ohne äußere Einwirkungen nie von sich aus mit anderen Objekten kollidieren.

    2. Nur sich bewegende Objekte können mit anderen, auch statischen Objekten kollidieren.

    3. Es gibt im Szenario eigentlich nur 3 geladene Objekte (nicht zu genau nehmen da ohne Planet, Sonne etc.) Das sind im speziellen Fall die Tore, die Cahoona Presse und das Spielerschiff.

    4. Habe nochmal nachgesehen und festgestellt das die Sichtweite in Herrons Nebel bei knapp unter 40km liegt. Alle Objekte die mehr als 40km vom Spielerschiff entfernt sind, müssten also nur geladen zur Verfügung stehen. Ihre Polygonanzahl sollte also für die Performance IS nicht wichtig sein.

    5. Geht man davon aus, das auch für Objekte außerhalb der Sichweite eine Kollisionsberechnung stattfinden soll, dann reichen dafür Modelle mit minimaler Polygonenzahl und ohne Texturen.
Für den genauen Fall mit der Cahoona Presse denke ich mir das in etwa so:
  • 1. Es wird nicht geschossen, also könnte nur das Spielerschiff mit anderen Objekten kollidieren. Es bewegt sich aber nicht und ist auch nicht annähernd in Reichweite anderer Objekte.

    2. Alle Objekte bis auf das Spielerschiff sind weit außerhalb des Sichtradius. Da sie nicht sichtbar dargestellt werden, müssen auch keine Polygonen berechnet werden. Es genügt in diesem Fall eine geladene Kopie pro Objekt im Sektor. Sollte sich das Spielerschiff in den Sichradius anderer Objekte bewegen, müssen natürlich die Objekte im Sichtfeld berechnet werden. Allerdings kommt dann auch wieder LOD ins Spiel.
Es gibt also keine möglichen Kollisionen im Sektor und auch keine darstellbaren Objekte im Sichtradius des Spielerschiffs die dargestellt werden müssten.

Eigentlich hat sich so nichts gegenüber OOS verändert (außer den Objekten im HUD) und dafür ist ein Performanceverlust von 80% (gerechnet in Frames) einfach viel zu hoch.


Das rechtfertigt eventl. noch keine speziellen Forenplatz für X³TC, aber solange es irgendwo im Forum steht, regt es eventl. zum nachdenken an bzw. man kann zusätzliche Aspekte zum Thema abklären. Die Liste der Möglichkeiten ist ja bestimmt noch sehr lang.

Lieben Gruß

User avatar
Darklord2 [USC]
Posts: 2142
Joined: Mon, 9. Aug 04, 14:49
x3tc

Post by Darklord2 [USC] » Tue, 30. Jun 09, 19:00

Ich denke das Spiel wird auch Dinge rendern die du nicht siehst.
Durch Kollisionsabfrage wird sowas nicht passieren.
Versuch mal die gleiche Anzahl an Objekten in dem 40 Km Sichtradius zu erstellen.

Mo3pp3l
Posts: 37
Joined: Sun, 25. Dec 05, 22:16
x4

Post by Mo3pp3l » Wed, 1. Jul 09, 17:25

Hab ich jetzt mal versucht.

Keine wirkliche Änderung.

Daraufhin habe ich einfach mal die Modelle gegen einen Würfel ersetzt.
Das Ergebnis bleibt gleich.

Was noch blieb waren die scene-Dateien.

Entfernt man dort bis auf den Body, die Weapon-Dummys und Effekte alles andere, dann gewinnt man im Fall ca. 30Frames.

Die Lösung des Rätsels liegt also in oder bei z.B. den Cockpit-Objecten.
Last edited by Mo3pp3l on Thu, 2. Jul 09, 07:36, edited 1 time in total.

fgk
Posts: 34
Joined: Sun, 12. Oct 08, 14:51
x3tc

Post by fgk » Wed, 1. Jul 09, 20:08

was sind denn Cammera-Objekte?

Mo3pp3l
Posts: 37
Joined: Sun, 25. Dec 05, 22:16
x4

Post by Mo3pp3l » Thu, 2. Jul 09, 07:47

Sorry für den Schreibfehler.

Ich verwechsle das immer wieder.

Gemeint und oben geändert waren die Cockpit-Objekte.

Bevor jetzt jemand fragt.

Alle Schiffe und Stationen haben irgendwo Cockpit-Objekte.

Bei Schiffen werden so z.B. die Position der Kanzeln bestimmt und diesen Kanzeln dann die Waffen-dummys zugewiesen.

Bei Stationen sind es z.B. für jeden Dockingplatz ein Cockpit-Objekt.

Die Verwaltung dieser Objekte ist anscheinend sehr aufwendig und leider kann man diese Objekte weder entfernen noch einfach nur als Body einbinden.

Bei Stationen könnte man so nicht mehr andocken und bei Schiffen könnte man keine Waffen abfeuern.

Post Reply

Return to “X³: Terran Conflict / Albion Prelude / Farnham's Legacy - Technische Unterstützung”