So, und hier ist das Missverständnis. Ich habe es so verstanden, dass im Speicher Daten sind, die in Benutzung sind(logisch, über die brauchen wir auch nicht sprechen) - vielleicht 2GiB. Und darüberhinaus Daten, die vielleicht demnächst gebraucht werden - meinetwegen 6 GiB. Und was ich aus dem Text rauslese ist: Von den 6 GiB werden 4GiB in keinem einzigen Szenario jemals geladen, weil es wohl in dem Moment wo sie reingeladen werden, völlig unmöglich ist, dass sie in einem künftigen Szenario gebraucht werden - die Spieleentwickler haben also viel mehr reingeschoben als nötig wäre(z.B. Daten hinter einer Felswand, die erst im nächsten Level zugänglich ist etc.).
Dann hat doch aber irgendwer massiv geschlafen?
Welcher Entwickler kommt denn auf die Idee, Zeug zu laden, wenn es NIE gebraucht wird?
Davon ist defakto wohl nicht auszugehen... Der Spaß funktioniert mittlerweile (vereinfacht gesagt) so, das oftmals eine gewisse Basis geladen wird und während der Laufzeit Kontent gestreamt wird. Das was länger nicht angefasst wurde fliegt irgendwann raus und das was alle Nase lang gebraucht wird, bleibt logischerweise drin.
Das Problem ist, man bricht in den Ausführungen das Thema idR. bis auf das Frame oder die Szene runter, das ist aber nicht praxisrelevant. Spiele bestehen aus unzähligen Szenen und Frames, man muss also doch klar diese Wechsel beäugen. Denn da entscheidet sich ob es ruckelt oder flüssig durch läuft. Statischer Kontent ohne Veränderung wird immer gleiche Mengen Speicher benötigen, variabel wird es durch Bewegungen.
Das geht soweit, das durch zu schnelle Bewegungen das Streamingsystem vllt überfordert wird und nicht mehr nachkommt -> so zu sehen in FarCry4 im Heli bei max Details.
Wenn Du nun schreibst, dass die Grafikkarte/Treiber nicht wissen kann, welche von den Daten tatsächlich gebraucht werden, und welche nicht, dann ist doch klar, dass diese Daten potenziell immer schädlich sind, weil wenn in einer anderen Spielszene welche dazukommen, die GPU andere rausschmeißen müsste und nicht weiß, mit welchen sie sich unschädlich hält.
Die Daten sind doch nicht schädlich!?
Wenn der VRAM massiv überbucht wird, ruckelt es halt... Wichtig ist also doch eher, genügend Speicher vorzuhalten anstatt Platz brach liegen zu lassen... Der Punkt andem das VRAM Management eingreifen muss, ist formal schön über Limit...
Wenn aber die GPU eben doch irgendwas abschätzen kann, und das scheint sie zu können, denn sonst müsste man ja keinen extra Controller entwerfen und bewerben, könnte sie die Daten, die unwahrscheinlicher gebraucht werden, in einen anderen Speicher(RAM) stecken, oder wenn der RAM fast voll ist, sogar erst mal auf der SSD lassen, je nachdem, wie schnell die ist etc., die Wahrscheinlichkeit jeden Frame neu berechnen und dynamisch nachladen und den "HBM- Cache" wieder aufräumen.
Nochmal, die Vega GPU ist ein Zwitter, ob der HBMC respektive HBMCC in kleineren GPUs Einsatz findet, bleibt abzuwarten. Ebenso sollte man es eben nicht überbewerten. Es sind GPUs mit lokalem SSD Storage angekündigt (wenn mich nicht alles täuscht) wo soll das denn dran?
Der Controller ist klar ersichtluch für deutlich mehr als Games entwickelt, man könnte sogar drüber streiten ob Games überhaupt Anteil daran hatten...
Wie oben schon erwähnt ist es Gamingsicht eher wurscht, wo die Daten liegen, die nicht im VRAM sind... ob nun SSD, HDD, RAM oder sonstwo -> nicht im VRAM = zu lahm.
Was interessant sein wird, ob AMD versuchen wird unterschiedliche Cache Pools zu implementieren. So wäre ein Texturcache mit weniger Speed denkbar als der Speicherbereich, den die GPU selbst benötigt. Danach sieht es aber im Moment nicht aus -> es sieht weiterhin nach einem Stück Speicher aus (Kartendediziert) + der Möglichkeit externe Medien zu adressieren, die alle samt am PCIe Flachenhals klemmen.
Theoretisch macht man das bspw. bei Intel mit der Iris Pro IGP und bei AMD mit der XBox One. Schneller Cache als oberste Cacheebene, die von allem durchlaufen wird. Denkbar wäre also schon seit langen, ein eher kleinen mehrere 100GB/sec fixen Cache vor eher langsame, große Speicher zu setzen -> hat man aber irgendwie nicht gemacht. Wäre eine viel einfachere Möglichkeit, GPUs für Games effenktiv mit hochen Speichermengen auszustatten
PS: versteife dich nicht auf DX12 oder Vulcan... Solange es die Entwickler heute mit DX11 nicht sauber hinbekommen, wie soll das dann aufgehen, wenn deren Verantwortung noch weiter wächst?
Ich sehe jedenfalls sehr wenig Ressourcenoptimierte Games... Eine dedizierte Optimierung für jene Games wird durch den Schwenk der API kaum auf einmal einzug erhalten... Eher das Gegenteil ist der Fall, denn es finden sich Entwickleraussagen, das der Verbrauch eher steiget