Baumobjekte mit überflüssigem Mesh-Subset

Alle anderen Add-Ons wie Signale, Landschaftsobjekte usw.
Nachricht
Autor
oberstrom (Markus)
Beiträge: 1317
Registriert: 21.05.2019 14:38:14

Baumobjekte mit überflüssigem Mesh-Subset

#1 Beitrag von oberstrom (Markus) »

Damit die Sache nicht im Modulthema von Theuern untergeht, halte ich es für sinnvoll, an dieser Stelle alle betroffenen Objekte aufzulisten.
  • Terrain\General\Forest\Trees\Foresttree_1.lod0.ls3
  • Terrain\General\Forest\Trees\Foresttree_2.lod0.ls3
  • Terrain\General\Forest\Trees\Foresttree_3.lod0.ls3
  • Terrain\General\Forest\Trees\Foresttree_4.lod0.ls3
  • Terrain\General\Trees\Beech\Beech01-15m.lod1.ls3
  • Terrain\General\Trees\Beech\Beech01-20m.lod1.ls3
  • Terrain\General\Trees\Birch\Birch01-08m.lod0.ls3
  • Terrain\General\Trees\Birch\Birch01-13m.lod0.ls3
  • Terrain\General\Trees\Birch\Birch01-20m.lod0.ls3
  • Terrain\General\Trees\Chestnut\Chestnut01-15m.lod1.ls3
  • Terrain\General\Trees\Maple\Maple01-15m.lod1.ls3
  • Terrain\General\Trees\Maple\Maple01-20m.lod1.ls3
  • Terrain\General\Trees\Pear\Pear01-08m.lod0.ls3
  • Terrain\General\Trees\Pine\Pine01-08m.lod0.ls3
  • Terrain\General\Trees\sycamore\sycamore01-08m.lod0.ls3
  • Terrain\General\Trees\sycamore\sycamore01-12m.lod0.ls3

Benutzeravatar
Michael_Poschmann
Beiträge: 19877
Registriert: 05.11.2001 15:11:18
Aktuelle Projekte: Modul Menden (Sauerland)
Wohnort: Str.Km "1,6" der Oberen Ruhrtalbahn (DB-Str. 2550)

Re: Baumobjekte mit überflüssigem Mesh-Subset

#2 Beitrag von Michael_Poschmann »

Guten Abend,

ist abschätzbar, wie hoch der Performancegewinn sein wird? Reden wir da über Prozente, oder ist das ein durchaus nennenswerter Effekt?
Danke übrigens für die Analyse!

Gruß
Michael

Benutzeravatar
Leonard K.
Beiträge: 1049
Registriert: 12.06.2020 19:03:07
Aktuelle Projekte: NMH

Re: Baumobjekte mit überflüssigem Mesh-Subset

#3 Beitrag von Leonard K. »

Michael_Poschmann hat geschrieben: 10.01.2022 17:04:32 Reden wir da über Prozente, oder ist das ein durchaus nennenswerter Effekt?
Terrain\General\Forest\Trees\Foresttree_1.lod0.ls3: Bei einem Massenimport (900 Bäume) eine Steigerung der Framerate um 45%.

Benutzeravatar
Michael_Poschmann
Beiträge: 19877
Registriert: 05.11.2001 15:11:18
Aktuelle Projekte: Modul Menden (Sauerland)
Wohnort: Str.Km "1,6" der Oberen Ruhrtalbahn (DB-Str. 2550)

Re: Baumobjekte mit überflüssigem Mesh-Subset

#4 Beitrag von Michael_Poschmann »

Verständnisfrage mit der Bitte um Nachsicht, falls ich da zu sehr um die Ecke denken sollte: Muss LOD 0 im Sim aktiviert sein, damit der Effekt spürbar wird, oder passiert das bereits "unter der Haube", auch wenn nur LOD 1 bis 3 ausgewählt sind?

Grüße
Michael

Benutzeravatar
Leonard K.
Beiträge: 1049
Registriert: 12.06.2020 19:03:07
Aktuelle Projekte: NMH

Re: Baumobjekte mit überflüssigem Mesh-Subset

#5 Beitrag von Leonard K. »

Michael_Poschmann hat geschrieben: 10.01.2022 19:01:55 oder passiert das bereits "unter der Haube", auch wenn nur LOD 1 bis 3 ausgewählt sind?
Einen kleinen Unterschied habe ich auch dann messen können, ca. 5% - aber viel macht es nicht aus.

Aber bei einiges Bäumen ist ja auch die LOD1 direkt betroffen.

Benutzeravatar
dk48
Beiträge: 710
Registriert: 06.09.2019 09:07:16
Wohnort: Rheinberg
Kontaktdaten:

Re: Baumobjekte mit überflüssigem Mesh-Subset

#6 Beitrag von dk48 »

Hallo,

ich habe verschiedene Tests mit diesen Bäumen gemacht:
- Als Erstes habe ich die Subsets zusammen geführt -> macht keinen Unterschied bei den fps.
- Als Zweites habe ich die die Transparenz entfernt -> Die fps bleiben konstant und brechen nicht mehr ein :idee
- Als Drittes habe ich lod0 aus den Dateien entfernt -> Die fps brechen nur noch halb so stark ein: logisch, es gibt auch nur noch halb so viele tranparente Flächen.

Fazit die Ursach für den Verlust an Performance liegt in den Transparenzen - je mehr davon hintereinanderliegen um so höher ist der Rechenaufwand, die Anzahl der Dreiecke ist unerheblich.

Ich habe dazu ein Video bereit gestellt, da sieht man gut den Einfluss der Transparenzen. Das Video enthält entsprechende Kommentare.
https://dk-nbahn.de/ba/videos/test-fps.mp4

Eine Möglichkeit, das zu ändern sehe ich nicht - da sind die Experten gefragt.

Dieter

Alwin Meschede
Beiträge: 8926
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: Baumobjekte mit überflüssigem Mesh-Subset

#7 Beitrag von Alwin Meschede »

Wir haben vor Jahren bereits einmal die optische Qualität der Bäume wegen der Performance reduziert. Die waren ursprünglich alle wunderschön halbtransparent. Angesichts der Gesamtlage, dass der Simulator heutzutage auf dem überwiegenden Teil der Netzkilometer gelangweilt an der Frameratengrenze herumtrödelt, fände ich eine weitere optische Verschlechterung der Bäume einen Schritt in die falsche Richtung. Falls man Sparmaßnahmen für notwendig hält sollte man für die wenigen kritischen Stellen im Netz einen besonderen Satz Bäume aufsetzen, wo dann vielleicht völlig auf Transparenz verzichtet wird und die Dinger dann halt erheblich mehr Dreiecke haben.
Zuletzt geändert von Alwin Meschede am 11.01.2022 17:00:59, insgesamt 1-mal geändert.
Mein Youtube-Kanal: youtube.com/echoray1

AndiS
Beiträge: 379
Registriert: 20.09.2011 13:26:52
Wohnort: Wien

Re: Baumobjekte mit überflüssigem Mesh-Subset

#8 Beitrag von AndiS »

Ich würde einmal zusammenstellen, wo es wie sehr an der Performance happert. Dann macht man eine Auswertung, in wievielen Fällen Bäume zu sehen sind.

Umgekehrt möchte ich die These in den Raum werfen (und dann schnell rennen), daß die Vegetation in Zusi Potential zur Kundenabschreckung hat. Ich weiß schon, daß das eine Eisenbahnsimulation ist und keine Botaniksimulation, aber Eisenbahn bewegt sich die meiste Zeit durch die Botanik - oder es ist praktisch keine zu sehen und daher auch kein Botanikproblem zu konstruieren.

Die Zusi-Community hat bessere Karten als andere Communitys, wenn es um den systematischen Einsatz von Objekten geht. Es ist ja ein alter Hut, die Landschaft in near, mid und far einzuteilen und es gibt in der Doku sicher allerlei Richtlinien in dieser Hinsicht. Wenn ein Baum wirklich 10 m neben dem Gleis steht, dann sieht man sonst nicht viel (außer es ist eine symbolische Zusi-Allee, die den bahnbegleitenden Urwald vertritt). So ein Urwald darf die ganze Performance fressen, weil er alles ist, was man sieht. Wenn der Baum 100 m entfernt ist, dann wird die LOD-Wirtschaft und das strenge Auge der ZPA dafür sorgen, daß dieser Baum nicht viel frißt.

Was Kuju vor fast 15 Jahren gemacht hat, das ist die Gruppierung von Bäumen zu einem Objekt. Das ist verdammt nervig zu plazieren, weil man für verschiedene Hangneigungen verschieden gestaffelte Baumgruppen braucht, aber dafür brauchen 100 Bäume die Resourcen von einem, weil sie ein Objekt mit immer noch wenigen Polygonen sind und weil wir hier natürlich von den gleisfernen Varianten sprechen. Nur die haben eine Chance, hinter komplexen Bahnanlagen zum Vorschein zu kommen.

Also ich würde allfällig noch vorhandene früher schönere Bäume ganz schnell wieder zurückbringen, halt als LOD0. Den kann jeder ausschalten, der sicher ist, daß sein Notebook zu alt ist. Ansonsten ist doch den meisten heutigen Rechnern die meiste Zeit fad (außer halt in Maschen oder so). Und dort, wo ihm fad ist, stehen in Deutschland verdammt viele Bäume herum, in natura.

Benutzeravatar
dk48
Beiträge: 710
Registriert: 06.09.2019 09:07:16
Wohnort: Rheinberg
Kontaktdaten:

Re: Baumobjekte mit überflüssigem Mesh-Subset

#9 Beitrag von dk48 »

Ich habe noch einen Versuch mit Halbtransparenz alpharef 150 gemacht, das macht keinen Unterschied in der Performance.

Die einfache Halbtransparenz erzeugt aber weiße Ränder mit der vorhandenen Textur, und neigt bei schräger Perspektive zur Spielgelung wie häufig bei Geländern zu sehen.
Manchmal gibt es sonderbare Effekte mit Halbtransparenz:
Bild
Die Büsche hinter dem halbtransparenten Zaun werden je nach Blickwinkel durchsichtig ... (mit Alpharef 150 nicht - mit Volltransparenz wird der Zaun klobig und undurchsichtig)
Bei Vorbeifahrt ploppen die auf und aus.

Andi, Bäume könnten auch so aussehen - dürfte in Massen aufgestellt die Perfomance reduzieren.
Bild
dds 512x512 Alpharef 150.

Alwin Meschede
Beiträge: 8926
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: Baumobjekte mit überflüssigem Mesh-Subset

#10 Beitrag von Alwin Meschede »

AndiS hat geschrieben: 11.01.2022 16:17:45 Also ich würde allfällig noch vorhandene früher schönere Bäume ganz schnell wieder zurückbringen, halt als LOD0.
Ich habe jetzt in der Historie geblättert: Wie sich rausstellt haben wir genau das gemacht. Seit Paket 20 gibt es die halbtransparenten Gewächse nur noch in LOD 0. Die vormals halbtransparente LOD 1 ist seitdem volltransparent. Mit dieser Lösung kann ich gut leben. Kein weiterer Handlungsbedarf.

EDIT: Es war allerdings auch an die Texturen rangegangen worden. Links ein heutiger Busch, und rechts wie er bis Paket 20 war. Er hat seitdem zwar eine Mipmapstufe mehr, aber das sieht mir trotzdem aus wie eine Qualitätsverschlechterung.
Bild
Zuletzt geändert von Alwin Meschede am 11.01.2022 17:24:29, insgesamt 1-mal geändert.
Mein Youtube-Kanal: youtube.com/echoray1

Benutzeravatar
Christian Gründler
Beiträge: 2209
Registriert: 04.10.2003 13:27:48
Wohnort: Brühl (Baden)

Re: Baumobjekte mit überflüssigem Mesh-Subset

#11 Beitrag von Christian Gründler »

dk48 hat geschrieben: 11.01.2022 16:37:43Manchmal gibt es sonderbare Effekte mit Halbtransparenz:
Bild
Das ist das "lange-Zäune-Problem": DirectX sortiert die Objekte von hinten nach vorn und benutzt dafür den Objekt-Nullpunkt. So gesehen scheint hier der Zaun vom Betrachter weiter entfernt zu sein als der Baum, also wird er zuerst gezeichnet. Abhilfe: Zaun in mehrere Objekte mit unterschiedlichen Mitttelpunkten aufteilen.
Die Büsche hinter dem halbtransparenten Zaun werden je nach Blickwinkel durchsichtig ... mit Alpharef 150 nicht
Sicher? Oder kann man beim genauen Hinsehen nicht doch neben den Stäben des Zauns schmale blaue Ränder erkennen?

Benutzeravatar
dk48
Beiträge: 710
Registriert: 06.09.2019 09:07:16
Wohnort: Rheinberg
Kontaktdaten:

Re: Baumobjekte mit überflüssigem Mesh-Subset

#12 Beitrag von dk48 »

Was Kuju vor fast 15 Jahren gemacht hat, das ist die Gruppierung von Bäumen zu einem Objekt.
funktioniert nicht (gerade getestet), die Anzahl der hintereinander liegenen transparenten Flächen ändert sich dadurch nicht. Die Anzahl Dreiecke und Objekte spielen hier keine signifikante Rolle.

Ich denke damit muss man leben ...
@Alwin, danke für den Rückblick, denn die Historie kenne ich nicht.

Edit:
@Christian, ja fast nicht sichtbare blaue Ränder..

Benutzeravatar
Thomas U.
Beiträge: 3282
Registriert: 15.03.2004 16:39:15
Wohnort: Gelsenkirchen

Re: Baumobjekte mit überflüssigem Mesh-Subset

#13 Beitrag von Thomas U. »

Die Unterteilung eines Zauns hilft leider auch nicht immer. In meinem Fall sind es schon die 2m-Stücke, aber der Schildmast dahinter wird aus der problematischen Richtung natürlich trotzdem unsichtbar. Muss ich dann wohl vorbildwidrig vor den Zaun stellen. Besser falscher Standort als falsch gezeichnet.

Noch unhandlicher wird es, wenn man Bahnsteige als Objekt gebaut hat, und Wartehäuschen, gläserne Treppenüberdachungen, etc. zum durchgucken verleiten. Einbinden wäre eine Möglichkeit, scheitert nur aktuell daran, dass Zusi dabei irgendwie Mist macht und den Bahnsteig auf nimmer Wiedersehen verschwinden lässt der Anwender zu dumm dazu ist :rolleyes:
Zuletzt geändert von Thomas U. am 11.01.2022 18:06:00, insgesamt 1-mal geändert.

Benutzeravatar
Leonard K.
Beiträge: 1049
Registriert: 12.06.2020 19:03:07
Aktuelle Projekte: NMH

Re: Baumobjekte mit überflüssigem Mesh-Subset

#14 Beitrag von Leonard K. »

dk48 hat geschrieben: 11.01.2022 16:37:43Andi, Bäume könnten auch so aussehen - dürfte in Massen aufgestellt die Perfomance reduzieren.
Bild
dds 512x512 Alpharef 150.
Es wäre sehr schön, wenn Deine Bäume auch zeitnah den Weg in den offiziellen Bestand finden könnten - das wäre eine große Bereicherung für die Zusi Vegetation.

Thomas U. hat geschrieben: 11.01.2022 17:48:51 Einbinden wäre eine Möglichkeit, scheitert nur aktuell daran, dass Zusi dabei irgendwie Mist macht und den Bahnsteig auf nimmer Wiedersehen verschwinden lässt
Versuchst Du zufällig, eine lod.ls3 Datei einzubinden? In dem Fall muss der Bahnsteig erst gegen die LOD1 Datei getauscht werden.

Benutzeravatar
Thomas U.
Beiträge: 3282
Registriert: 15.03.2004 16:39:15
Wohnort: Gelsenkirchen

Re: Baumobjekte mit überflüssigem Mesh-Subset

#15 Beitrag von Thomas U. »

Leonard K. hat geschrieben: 11.01.2022 17:54:01Versuchst Du zufällig, eine lod.ls3 Datei einzubinden? In dem Fall muss der Bahnsteig erst gegen die LOD1 Datei getauscht werden.
Tatsächlich versuche ich das, ja. Also Anwenderfehler :rolleyes: Wobei ein entsprechender Hinweis "Du Depp versuchst grad, was dummes zu tun" bei diesem Versuch auch praktisch wäre... Danke für den Wink!

AndiS
Beiträge: 379
Registriert: 20.09.2011 13:26:52
Wohnort: Wien

Re: Baumobjekte mit überflüssigem Mesh-Subset

#16 Beitrag von AndiS »

dk48 hat geschrieben: 11.01.2022 17:32:31
Was Kuju vor fast 15 Jahren gemacht hat, das ist die Gruppierung von Bäumen zu einem Objekt.
funktioniert nicht (gerade getestet), die Anzahl der hintereinander liegenen transparenten Flächen ändert sich dadurch nicht. Die Anzahl Dreiecke und Objekte spielen hier keine signifikante Rolle.
Ziel war mehr die Reduktion der vorhandenen Objekte, was auch der Performance hilft (im dem Kontext, daß man sich vor zuvielen Bäumen fürchtet). Inwieweit es hilft, zu erkennen, was vorne liegt und was hinten, kann ich jetzt nicht sagen. An sich werden die transparenten Pixel, die übereinander gestapelt sind, nicht weniger. Aber je mehr Kontrolle man über das Innere der Pflanzengruppe hat, desto mehr Chance bekommt man, innen einen nicht transparenten Klotz zu anzubringen, der die Durchsicht bricht ohne negativ aufzufallen. (Ja: zweiter Mesh Subset, aber dafür weniger Transparenz hintereinander.) Aber ich kann da keine eigenen Kunstwerke vorweisen.

Der schöne Baum ist eine super Illustration meines Punkts. Wenn der in voller Größe am Bildschirm prangt, dann wird dort recht wenig anderes gerendert. Wenn er nur mehr halb so groß ist, dann wird er wohl nicht mehr in LOD0 gezeigt. Gerade die Anzahl der Flächen, aus denen man so eine "x-förmigen" oder halt "*-förmigen Baum zusammensetzt, sind ja ein Kompromiß, der mit dem Betrachtungsabstand zusammen hängt. Wenn der Baum nicht so nahe ist, braucht er gleich ein paar Flächen weniger.

Benutzeravatar
Leonard K.
Beiträge: 1049
Registriert: 12.06.2020 19:03:07
Aktuelle Projekte: NMH

Re: Baumobjekte mit überflüssigem Mesh-Subset

#17 Beitrag von Leonard K. »

oberstrom hat geschrieben: 10.01.2022 16:57:30
  • Terrain\General\Forest\Trees\Foresttree_1.lod0.ls3
  • Terrain\General\Forest\Trees\Foresttree_2.lod0.ls3
  • Terrain\General\Forest\Trees\Foresttree_3.lod0.ls3
  • Terrain\General\Forest\Trees\Foresttree_4.lod0.ls3
Diese Bäume haben übrigens die Umschaltentfernung von LOD0 auf LOD1 bei 400m, von LOD1 auf LOD2 bei 800m und von LOD2 auf LOD3 bei 1500m. Das wäre vielleicht auch noch eine Stellschraube, ich glaube nicht, dass man bei einer Entfernung von 400m noch zwingend LOD0 braucht.

Benutzeravatar
Michael_Poschmann
Beiträge: 19877
Registriert: 05.11.2001 15:11:18
Aktuelle Projekte: Modul Menden (Sauerland)
Wohnort: Str.Km "1,6" der Oberen Ruhrtalbahn (DB-Str. 2550)

Re: Baumobjekte mit überflüssigem Mesh-Subset

#18 Beitrag von Michael_Poschmann »

Spannende Nebenbefunde. Ich hatte mich bereits vor geraumer Zeit gewundert, warum zwischen Neheim und Arnsberg in Fahrtrichtung Osten die fps-Rate ein wenig zurückgeht, wo es dort doch lediglich satten Urwald hat. Werde das nach den angesprochenen Modifikationen noch mal testen.

Gibt es für die LOD-Umschaltungen günstigere Werte? Zusi bietet ja aus der Dino-Programm-Epoche noch das Werkzeug LOD-Test, mit dem man eine grobe Abschätzung plus Sicherheitsfaktor vornehmen kann. In frühen Tagen bin ich den Gebäuden aus Jürgens Bastelschmiede nachgegangen, um hier möglichst performancegünstige Einstellungen zu finden, ohne die generelle Nutzbarkeit für andere Projekte einzuschränken. Seinerzeit kämpfte man noch um jedes Byte im Speicher. Ich weiß schon, Oppa erzählt vom Kriech...

Grüße
Michael

Benutzeravatar
dk48
Beiträge: 710
Registriert: 06.09.2019 09:07:16
Wohnort: Rheinberg
Kontaktdaten:

Re: Baumobjekte mit überflüssigem Mesh-Subset

#19 Beitrag von dk48 »

Diese Aussage stimmt sicherlich, ist aber nicht die alleinige Erklärung:
Das ist das "lange-Zäune-Problem": DirectX sortiert die Objekte von hinten nach vorn und benutzt dafür den Objekt-Nullpunkt. So gesehen scheint hier der Zaun vom Betrachter weiter entfernt zu sein als der Baum, also wird er zuerst gezeichnet. Abhilfe: Zaun in mehrere Objekte mit unterschiedlichen Mitttelpunkten aufteilen.
Wenn der Baum als letztes gezeichnet wird, warum ist er dann nicht zu sehen?

Benutzeravatar
Leonard K.
Beiträge: 1049
Registriert: 12.06.2020 19:03:07
Aktuelle Projekte: NMH

Re: Baumobjekte mit überflüssigem Mesh-Subset

#20 Beitrag von Leonard K. »

Der Baum wird nur da gezeichnet, wo keine anderen Objekte davor stehen. Da der Zaun ja schon vorher gezeichnet wurde, wird der Baum dahinter nicht gezeichnet.

Antworten