Richtiger Umgang mit Nexus und max_entities.

Posted By: 3D_Train_Driver

Richtiger Umgang mit Nexus und max_entities. - 08/13/09 18:20

Hallo!

Wer hat denn mal ein paar Informationen darüber, wie man genau Nexusgröße und max_entities dosiert, ohne größere Probleme zu bekommen.
So habe ich z.B. 40 Terrains geladen, jedes hat eine eigene Textur mit 1024x1024 Pixel und 4 Texturen (extern) 512x512 als Detailmaps und hat 10201 Vertices.
Scheinbar verbrauchen die 40 Terrains den reservierten Texturspeicher. Ich dachte aber, dass, wenn der Speicher nicht ausreicht, dann auf die Festplatte ausgelagert wird.
Was verbraucht denn den meisten Speicher des Nexus?
Textur?
Vertices?
Detailmaps?

Danke Euch für fachkundige Infos!
Posted By: Ayumi

Re: Richtiger Umgang mit Nexus und max_entities. - 08/14/09 11:14

Logischweise Texturen und Detailmaps.

Du kannst es dir sogar selber ausrechenen:

40 Terrains a 1024 x 1024 Pixel =
5 Bytes pro Pixel macht dann 200MB

4 x 40 = 160 Detailtexturen.
160 x (512 x 512) = 200MB

Ergo brauchst du 400MB an Textur speicher(insgesamt)
Omg^^

Wenn ich du waere, wuerde ich DDS texturen nehmen.
Damit sparst du den 3-5 fachen Speicher.

Ausserdem brauch man keine 512 x 512 grossen Detailmaps.

Nexus:
Die Maximalzahl der Entities im Level; sie muss vor dem
Laden des Levels gesetzt werden. Der Default-Wert ist das
zehnfache des NEXUS.
Also->hat nichts damit zu tun.

Versuche lieber an den Texturen was zu drehen.
Posted By: 3D_Train_Driver

Re: Richtiger Umgang mit Nexus und max_entities. - 08/14/09 16:15

Hi!
Danke für die wertvollen Infos.
Wieviel Byte per Pixel hat denn dds?
Da ich mit Corel Photo Paint arbeite, das leider nicht im dds Format speichert, könntest Du mir eventuell noch ein Programm nennen, das tga in dds umwandeln kann. Ich habe es mit ImageConverter Plus probiert, doch der macht auf jedes Bild ein Wasserzeichen, weil nur Demo. Vollversion $49.
Danke

Grüße
Posted By: Ayumi

Re: Richtiger Umgang mit Nexus und max_entities. - 08/15/09 03:19

Ein kleiner Vergleich gefaellig?

Gut!

Tga = ~ 759 MB
DDS = ~ 170 MB

Was ein Unterschied:D

ABER sind DDS Texturen im Dxt 5 Format gespeichert so
sind Tga und DDS groesse annaehernd gleichgros.
Darum speichere immer im Dxt 1 format wenn du keine
Transparenz brauchst.

Ja, entweder du benutzt Gimp, dazu musst du einfach nur
danach googeln(Plugin DDS) oder ich uppe es dir.
Ansonsten gibt es noch Converter.

Ich hab sogar mal bissl gegoogelt, weil ich das problem vor ein
par Monaten auch hatte;)
(Ich benutze Gimp, das vereinfacht das ganze erheblich)

Zitat:
DDS bedeutet: DirectDraw Surface - ist also ein Format, das von DirectX / Direct3D und dadurch von vielen aktuellen 3D-Grafikkarten unterstützt wird. Die Technologie basiert auf S3TC (S3 Texture Compression) und bietet drei verbreitete Varianten:

- DXT1: Keine Transparenz, oder evtl. zusätzlich eine Ebene mit 1 bit Alpha (ganz durchsichtig oder voll deckend, wie bei GIF)
- DXT3: Pixelweise festgelegte Transparenz in bis zu 4 bit (16 Stufen), geeignet für eher mäßig scharfe halbtransparente Kanten
- DXT5: Interpolierende Transparenz, geeignet für weichere Transparenzverläufe

Wer nicht unbedingt auf externe Tools zum Konvertieren von 32bit-PNGs zurückgreifen will (z.B. "The Compressonator" von ATI, oder das nVidia DX Tool "nvdxt" - ein Kommandozeilen-Programm, dessen Fähigkeiten durch den DDS Converter 2.1 gerade mal ansatzweise unterstützt werden!), der sollte das GIMP DDS-Plugin von Shawn Kirst (http://nifelheim.dyndns.org/~cocidius/dds/) versuchen (gerade diesen Montag, 18.9.2006, ist Version 1.2 fertig geworden).

Wer keine gute Unterstützung durch seine Grafiktreiber hat, der muss eventuell die "Software Compression"-Variante verwenden, dazu braucht man zusätzlich eine "dxtn.dll", die aber wegen Lizenzangelegenheiten nicht beiliegt. Quelltexte zum Selber-Compilieren findet man auf Roland Scheideggers MESA-S3TC-Seite (http://homepage.hispeed.ch/rscheidegger/dri_experimental/s3tc_index.html). Mit etwas Ausdauer bei der Suche kann man aber auch fertige DLLs entdecken (z.B. beim Amigamerlin-Projekt)... Ich würde allerdings erst mal empfehlen, die Version ohne Software-Komprimierung zu versuchen und schauen, ob die Grafiktreiber das gut genug tun.
Posted By: 3D_Train_Driver

Re: Richtiger Umgang mit Nexus und max_entities. - 08/15/09 08:16

Na hallöchen,
Das ist doch mal anspruchsvolle Hilfe.
Ich werde googeln.
DXT1 wird mir wahrscheinlich wohl reichen.
Vielen Dank
Posted By: 3D_Train_Driver

Re: Richtiger Umgang mit Nexus und max_entities. - 08/15/09 11:13

Also die Dateigröße ist tatsächlich bemerkenswert geschrumpft. Das ist auf jeden Fall gut.
Leider geht jetzt meine Texturmalfunktion mit pixel_to_vec und pixel_to_bmap nicht mehr.
Geht wohl mit dds-Texturen nicht, oder liegts daran, dass ich nur A6 nehme?
Posted By: Ayumi

Re: Richtiger Umgang mit Nexus und max_entities. - 08/15/09 16:39

Nein, das geht allgemein nicht.
Das liegt an den DDS Texturen.

Render es doch einfach vor als zur Laufzeit?!
© 2024 lite-C Forums