Die VRAM-Belegung selbst hat auch nichts mit der eigentlichen Nutzung zu tun,
da hier auch immer extrem viel auf gut Glück als Cache reingeschaufelt wird.
Man sieht die eigentlichen Limits nur wenn der VRAM entgültig zu knapp wird und die Frametimes
über längere Zeit darunter leiden
Das halte ich für einen pseudotechnischen Erklärungsversuch, der dazu noch völlig an den Haaren herbeigezogen ist...
Es gibt ein paar verschiedene "Verfahrensweisen", der man sich bedient als Entwickler und die sind eher abhängig davon, was die Software (das Spiel) nun am Ende überhaupt sein will/soll. In keiner dieser Verfahrensweisen wird aber "auf gut Glück extrem viel" unnützes Zeug in den VRAM geschaufelt.
-> Games nach Schlauchlevel-Prinzip -> wo es idR nur einen einzigen und damit vorhersehbaren Weg gibt, nutzen häufig Preload-Verfahren um Kontent in den VRAM zu kippen, der ganz sicher demnächst notwendig sein wird
-> Games nach OpenWorld-Prinzip -> wo es idR nicht möglich ist, den realen Bedarf vorherzusehen, weil der Weg des Spielers völlig unbekannt ist, nutzen häufig entweder Streamingverfahren während der Laufzeit und in Abhängigkeit der Playerposition oder laden gewisse Teile in Abhängigkeit der Playerposition Blockweise
-> Games ähnlich Anno mit Draufsicht -> wo es idR 100% sicher ist, dass der Kontent alle Nase lang notwendig ist, werden häufiger mit allen notwendigen Daten VRAM seitig betankt.
In KEINEM dieser Prinzipien finden sich also "auf gut Glück" geladene Daten. Sogut wie allem (was Platz kostet) unterliegt ein Bedarf... Die entscheidende Frage ist eher, wann wird länger nicht mehr benutzter Datenbestand aus dem VRAM rausgeputzt?? Sprich wann ist ein Bedarf nicht mehr gegeben?
2 gute Artikel. Jetzt fehlt nur noch ein 3. wo getestet wird wie es sich mit der Auslagerung bei zu wenig VRAM verhält !
Spielt die Art der Festplatte (HDD oder SSD) bzw. die Übertragungsgeschwindigkeit beim Texturstreaming eine Rolle ?
Was wenn die Auslagerungsdatei bzw. der virtuelle Arbeitsspeicher deaktiviert ist ? Bleibt es dann im VRAM und RAM ?
Rein aus dem Prinzip her -> VRAM Auslagerung findet in den RAM statt. Das heist, wird der VRAM knapp, wird Platz im RAM reserviert. Es sollte also in diesem fiktiven 3. Artikel erstmal die Abhängigkeit zur RAM Menge/Speed geprüft werden... Wenn HDD/SSD einen Einfluss auf das Thema haben, dann hat es sowohl ein massives VRAM als auch ein massives RAM Limit -> und damit ist das Game normal unspielbar.
Interfacebandbreite von Grafikkarte zum Restsystem (als aktueller Flaschenhals bei diesem Thema) hat klar einen Einfluss... Um so höherer der Speed, desto weniger stark fallen die Nachladeruckler auf. Problem ist nur, der Interfacespeed steigt über die Jahre so wenig an, dass er mit dem Bandbreitenbedarf der GPUs lange nicht schritt halten kann. Ob man da also eine relative Leistungssteigerung durch verdopplung oder vervierfachung des Interfacespeeds (von PCIe 4x auf 8x auf 16x bspw.) misst und die Ergebnisse sich ändern, ist eigentlich völlig nebensächlich. Im Gesamten bleibt der Spaß ein massiver Nachteil.
Gemessen an heutigen HighEnd Modellen ist die Interfacebreite im bestmöglichen Fall (heute) nichtmal 10% der verfügbaren Bandbreite zwischen GPU und VRAM...
woher weißt du das der das "benötigt"? Quelle, Link oder einfache Behauptung?
nur weil sich ne Karte mit mehr VRAM den auch vollstopft, heißt das nicht, dass das "benötigt" wird.
Eigentlich stellt sich hier als erstes die Frage, wer definiert den Bedarf?? Ist Bedarf das, was im aktuellen Frame notwendig ist? Ist Bedarf das, was im nächsten Frame warscheinlich notwendig sein wird? Ist Bedarf das, was in xxx Frames wohl notwendig sein wird? -> Was ist also Bedarf?
Wie oben erwähnt, dieses "benötigt" und "belegt" ist eigentlich eine Erfindung der Community... Wohl aus dem Unwissen gebohren, dass der Bedarf weder definiert ist, noch das man den realen Bedarf (pro Frame) schlicht nicht nachmessen kann, gepaart mit dem Umstand, dass der Nutzer am Ende ggf. bei leichter VRAM Überbuchung keinerlei Nachteile empfinden wird. Das Problem ist dabei aber eigentlich eher, dass diese nicht empfundenen Nachteile nicht heist, dass der Bedarf nicht da ist. Und vor allem auch, dass diese nicht empfundenen Nachteile vielleicht nicht spürbar, idR aber ganz klar messbar sind. (nämlich anhand von Frametime Messungen oder anderen Verfahren, die abseits von avg. FPS Messungen mehr Details zeigen)
Eigentlich ist die Sache ganz einfach...
Entweder haben sich die Entwickler bei preloaded Kontent was gedacht und deswegen Daten reingeschubst oder Daten wurden aufgrund eines real (mal) existierenden Bedarfs in den VRAM geschrieben. Nimmt man es genau, gibts keine anderen Möglichkeiten, wie da Daten rein kommen sollen.
Die Schwierigkeit beim Thema VRAM Bedarf ist allerdings eher die, der Treiber als "Dritter" im Bunde sorgt dafür, dass Platz geschaffen wird... Er kann aber prinzipbedingt nicht wissen, ob die Daten nun real benötigt werden oder nicht. Also macht er das mehr oder weniger auf gut Glück. Bei leichter Überbuchung funktioniert das idR noch (da fälschlicherweise entfernte Daten ohne nennenswerten Einfluss erneut gezogen werden können -> meist dann sehr geringe Mengen). Um so höher die Überbuchung, desto weniger gut gelingt VRAM Management von Treiberseite...