Wieviel Speicherplatz für Textur

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
starcow
Establishment
Beiträge: 523
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Wieviel Speicherplatz für Textur

Beitrag von starcow »

Guten Tag Miteinander

Mich interessiert eure fachmännische Meinung!
Wieviel Speicherplatz darf man heutzutage für Texturen kalkulieren, wenn man von einem wirklich potenten System ausgeht.
Als Beispiel: Ein kleines Level, in welchem alle Texturen für Assets direkt in den VRam geladen werden.

Heute haben ja bereits mittelklasse Grafikkarten 4Gybte VRAM. Aber ich gehe mal davon aus, dass ein gewissen Teils dieses RAMs schon fest vergeben ist.

Wie verhält sich das ganze genau?

Vielen Dank :)

Gruss starcow
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Wieviel Speicherplatz für Textur

Beitrag von Schrompf »

Du brauchst zusätzlichen Platz für die Rendertargets, also Auflösung mal ByteProPixel. Und ByteProPixel sind oldschool 8 Byte für einen Double Buffered Screen, auf den man direkt draufrendert, bis hoch zu >100 Byte pro Pixel für tiefen GBuffer und Post Processing Effects. Plus ein paar Shadow Maps, schätze ich.

Aber ich sage mal, von den 4GB VideoRAM kannst Du locker 3,5GB verplanen, behaupte ich. Oder Du gehst auf die sichere Seite und orientierst Dich an NextGen-Titeln wie das aktuelle Assassins Creed, die 3GB VideoRAM voraussetzen. Davon Rendertargets und ShadowMaps abgerechnet kannst Du 2,5 bis 2,7GB fest verplanen, denke ich. Wenn's zuviel wird, verlass Dich auf das Betriebssystem - deren VideoRAM-Virtualisierung ist gar nicht übel, hab ich gelesen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
starcow
Establishment
Beiträge: 523
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Re: Wieviel Speicherplatz für Textur

Beitrag von starcow »

Bei ~2.5GB wären das ja bereits ~50 4096x4096 24Bit Texturen.
Das ist doch schon ne rechte Menge. Cool! :D
Vielen Dank Schrompf!

Edit:
Wie sehr ist eigentlich der Rendering-Speed von der Auflösung der Texturen abhängig.
Angenommen ich habe die ~2.5GB VRAM auf sicher: Erziele ich dann mit 50 2k Texturen eine Performance Steigerung gegenüber 50 4k Texturen?

Gruss starcow
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Wieviel Speicherplatz für Textur

Beitrag von Krishty »

Eine GeForce GTX 760 hat eine Texturbandbreite von 192 GiB/s. Wenn dein Spiel bei 60 fps laufen soll, hast du also 3,2 GiB Bandbreite pro Frame zur Verfügung. Das ist ein theoretisches Limit, falls Texturbandbreite dein Flaschenhals ist und du darauf optimierst nutzt du die vielleicht zu 70% aus. Also nicht mehr als 2 GiB pro Frame verarbeiten; auf Mittelklassekarten weniger.

An diesem Punkt solltest du dir Gedanken machen, wie viel von diesen 2 GiB tatsächlich im fertigen Frame sichtbar ist. Also wenn du die ganzen 2 GiB mit guter verlustfreier Kompression theoretisch auf 0,7 GiB Entropie komprimierst, und gleichzeitig ein Screenshot deiner Anwendung komprimiert 700 MiB ist(!!!), dann verschwendest du nichts.

Sonst ist ist es der Karte egal.Deine Screenshots sind mit Sicherheit unter 5 MiB, und die Karte braucht theoretisch nicht mehr als die paar MiB an niedrigen Mip-Levels und Texturausschnitten. Das kann sie, falls modern, mit Paging und Caches sehr gut lösen und die Geschwindigkeit ist so oder so gleich schnell.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten