Jump to content
Unity Insider Forum

Texturen, Videospeicher, 3D-Karten


nibiru6411

Recommended Posts

Das Thema wurde eröffnet, als Antwort auf

http://forum.unity-community.de/index.php?/topic/1384-frontiers-sci-fi-rpg/page__pid__8987#entry8987

um 15:32Uhr. Ich denke nur, die nachfolgende Antwort und Ausführung hat nichts in der entsprechenden Rubrik zu suchen.

 

Hallo!

 

Mmmmh! Also entweder ich bin auf dem Holzweg oder Du.

Du hast eine sehr gute Arbeit hier gezeigt, aber ich denke Du hast einen sehr guten Rechner, der gerade das aufgezeigte gut verstecken kann, die Probleme werden erst kommen wenn Du eine spielbare Version zur Verfügung stellst und die Mehrzahl der Spieler feststellen muss, dass es auf Ihren Rechner nicht läuft.

 

Warum?

 

Ich würde nie Map`s erstellen mit einer Grösse von 4096x4096 und würde es auch keinen Empfehlen. Alle im Handel erhältlichen 3D-Karten limitieren die Texturgrössen auf 4096,2048 oder 1024 in jeder Richtung, um alle 3D-Karten unterstützen zu können sollte keine Map über 1024x1024 haben (Ausnahme Sky-Cubes).

1024x1024 unterstützen alle 3D-Karten, ist die Map grösser und wird diese nicht unterstützt, wird automatisch in die nächst kleinere Map verkleinert was zum Verlangsamen und zum plötzlichen Ruckeln des Spiels führen kann. Alle 3D-Karten können keine willkürlichen Texturgrössen rendern. Deshalb verlangt eine 3D-Karte eine Texturen Grösse immer in einer Zweierpotenz (32, 64, 128, 256, 512, 1024)oder zum Beispiel 64x128 oder 128x512 (die minimale Texturgrösse beträgt 8Pixel). Alle Abweichungen von der Zweierpotenz wird von der Engine automatisch auf den nächsthöheren Wert der Zweierpotenz aufgeblasen was wiederrum auf Kosten des Videospeichers der Performance und der Bildqualität geht.

 

Aber das Problem geht noch weiter, sobald mit Schatten gearbeitet wird, wird weiterer Videospeicherplatz verbraucht. Auf Grund der Map`s verbraucht jeder Texturenpixel etwa 6 Bytes für die Schatten. Jeweils 64 Oberflächenpixel verbrauchen 1-4 zusätzliche Bytes, das hängt aber von der Lichtauflösung ab. Gerade in grossen Oberflächengebieten können so, nur die Schatten, leicht einige 100MB verbrauchen.

 

Deshalb denke ich, lieber paar mehr Polys, Tris und Verts, denn diese können nur gezeichnet werden aus dem was der Videospeicher auch aufnehmen kann bzw. was die 3D-Karte auch ohne Probleme verarbeiten kann bzw. auf was sie auch ausgelegt ist.

 

Ich habe es mir deshalb angewöhnt, keine Map über 1024x1024 zu erstellen, Einzeltexturen werden nicht grösser als 64x64 verwendet.

 

Ich stelle hier mal drei Bilder ein, von einem meiner vielen NPC-Modellen es geht dabei um die Augen.

Bild1: Augen-Erstellung in Cinema4d http://www.pic-upload.de/view-9622869/augeerstellt.png.html

Bild2: Augen mit Map 1024x1024 http://www.pic-upload.de/view-9622866/auge1024x1024.png.html

Bild3: Augen mit Map 4096x4096 http://www.pic-upload.de/view-9622858/auge4096x4096.png.html

 

 

Da dies nicht Spielerelevant sein wird, denke ich um eine Nutzung für alle 3D-Karten ohne Probleme zur Verfügung stellen zu können, reicht die 1024x1024.

 

Bin aber trotzdem gespannt wie Ihr das seht, wie Ihr die Verarbeitung vornehmt, was Ihr für Erfahrungen gesammelt habt.

 

Beste Grüsse

Nibiru6411

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die ausführliche Antwort. Da sieht mans wieder mal: Ich weiss noch vieles nicht. :)

 

Das wusste ich nicht, dass dies ein Problem sein könne. Ich habe meinen Preview-Build auf zig Maschinen getestet, viele davon sehr alt und langsam und hatte auch mal einen Test-Webplayer online, der von gut 50 Usern getestet wurde und da lief alles ganz ohne Probleme. Hmmmm... Ich kann die Textur aber gut auf die Hälfte reduzieren, das sollte gehen.

 

Kleinere Texturen würden wieder bedeuten, dass ich mehrere Materiale machen müsste, was ja wiederum die DrawCalls erhöhen würde, oder liege ich da falsch?

 

 

Schwer zu sagen. Ich hab tatsächlich keine langsamen Rechner. Einen 16 core Mac Pro und einen 4-Core, beide beides i7 plus eine GTX 560 Ti. Aber eben, teste auch regelmässig auf einem alten Mac Mini und anderen älteren Maschinen und Laptops - es läuft dort (wenn auch nicht brilliant).

 

 

Hmmm, danke für den Gedankenanstoss. Das ist so oder so gut zu wissen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...