VRamHog - Software zum Finden des VRam Limits

DragonTear

Legende
Thread Starter
Mitglied seit
06.02.2014
Beiträge
16.013
Ort
Im sonnigen Süden
Hallo Community,

immer wieder taucht hier im Forum die Frage auf, wieviel Grafikkarten Speicher brauchen Games wirklich?
Insbesondere die Ankündigung der 3080 mit "nur" 10Gb hat dies verschärft obwohl NV behauptet Games würden auch 6Gb reichen.

Oft hört man das Argument "GPU-Z / MSI Afterburner zeigt dass mein VRam bereits voll ist. Also brauche ich in Zukunft mehr VRam!".
Das wird dann oft damit entkräftet dass der Speicher der GPU (wie teilweise auch der normale RAM) als Cache dient. D.h. die Software schaufelt da alles rein und es wird praktisch nur überschrieben, aber nicht wirklich gelöscht.

Stimmt diese These, dann kann man mit der VRam-Auslastung alleine, nicht die Frage beantworten wieviel davon ein Game wirklich braucht um nicht limitiert zu werden.


Ich habe mir dazu Gedanken gemacht und mittels Unity, den VRamHog entwickelt:
NoHog.png

4GbHog.png


Diese Software tut genau was der Name schon sagt: Sie erlaubt eine gewählte Menge VRam schlicht zu blockieren.
Dazu werden Texturen aloziert und auf winzigen Rechtecken gerendert (der schwarze Balken unten). Dadurch kann der GPU Treiber nicht die Daten wegoptimieren oder auslagern und zugleich entsteht praktisch keine GPU-Last, da nur eine Handvoll Pixel mit diesen Texturen gerendert werden müssen.

Indem man das Programm während des Spielens laufen lässt, sollte man somit simulieren können, was wäre wenn die eigene GPU weniger Speicher hätte?
Entsprechend ließe sich der tatsächliche Bedarf an VRam bestimmen.

Download: Actung, Archiv zuerst entpacken, nicht aus dem Archiv heraus starten!

Bedienung:
VRam Menge mit den Buttons auswählen, dann auf "APPLY" klicken.
"DISABLE" setzt den Speicher zuverlässig frei, aber der zuletzt eingestellte VRam Wert bleibt sichtbar und kann mittels "APPLY" wieder aloziert werden.
Nicht wundern dass das Unity Intro erneut erscheint bei Disable und Apply. Das Programm startet sich selbst neu, denn nur durch Löschen der Texturen, bliebe Teile des VRam sonst besetzt (wohl eine Unity Eigenheit).
EDIT: Die neue Version hat jetzt noch einen "Filled" Toggle welcher bewirkt dass echte, zufallsgenerierte (damit unkomprimierbare) Texturen geladen werden. Das ist natürlich etwas langsamer.

Source (Unity3D Projekt): https://www.dropbox.com/s/toi77pzbnsct8me/VRamHog_v2 Source.zip?dl=0
Standalone build als 64bit Version generieren, sonst gibt es Abstürze bei über 4Gb.


Leider habe ich nicht wirklich die Vorraussetzungen um selbst großartig Tests damit durchzuführen. Meine GPU ist von Vorgestern (RX 480 8GB) und ich spiele nur noch selten.
Das anspruchsvollste Spiel wäre wohl Subnautica und in Vram-lastiger Auflösung sind die FPS unabhängig von der VRam-Auslastung zu niedrig um viel schlusszufolgern. Geschweige denn Mini-Ruckler wahrzunehmen die vom Nachladen von Texturen herrühren könnten.

Vieleicht findet sich aber der ein oder andere Benching Fan hier der was damit anstellen kann :)
War jedenfalls ein interessantes Abend-Projekt.

Würde mich über Feedback freuen!


P.s. interessant wäre zu sehen ob die selbe Menge beanspruchter VRam, in manch aktuellen GPUs zu deutlich weniger realer Auslastung führen. Es wurde ja eine Kompressionstechnik eingeführt, soweit ich mitbekommen habe.
EDIT: Soweit ich in Erfahrung bringen konnte müssen Texturen schon beim Laden komprimiert sein. Das macht der GPU-Treiber nicht selbst. Sicherheitshalber hat die neue Version aber den "filled" toggle welcher Zufallsdaten einfüllt.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Klingt interessant. Verdient es ausprobiert zu werden.
 
Wo ist denn Don, wenn man ihn braucht :unsure:

Ich wünsche mir Tests mit dem Tool zur 3080 bezüglich Speicherverbrauch. Vielleicht mit Division 2 um zu sehen, wann ist der Speicher so voll, das man es messen oder spüren kann. Mit frametime Messungen. Wieviel V-RAM braucht so ein Titel wirklich. In QWHD und in UHD mit höchsten settings. Was macht man in den settings dann am besten. Da hättet Ihr ein schönes Alleinstellungsmerkmal. (y)
 
Dann adressier @Don doch direkt, damit er es sieht :)
 
Ich muss mal schauen, was ich zeitlich noch schaffe. Derzeit bin ich echt am Limit ;)
 
es geht nicht darum wieviel speicher die spiele jetzt nutzen, sondern darum wie die spieleentwickler mit möglichen 24gb vram karten neue spiele bringen die halt mehr als 10gb nutzen könnten, bzw "ultra" patches zu existierenden games herausbringen.
aber danke für das interessante tool. :)
 
es geht nicht darum wieviel speicher die spiele jetzt nutzen, sondern darum wie die spieleentwickler mit möglichen 24gb vram karten neue spiele bringen die halt mehr als 10gb nutzen könnten, bzw "ultra" patches zu existierenden games herausbringen.
aber danke für das interessante tool. :)

Wenn du denkst das Devs für die 0.05% der User die ne 3090 kaufen irgendwelche Patches bringen, bist du ziemlich naiv. Desweiteren reichen auch 10GB locker aus für extrem gute 4K Texturen. BC7 ist eine sehr solide compression.
 
Wenn du denkst das Devs für die 0.05% der User die ne 3090 kaufen irgendwelche Patches bringen, bist du ziemlich naiv. Desweiteren reichen auch 10GB locker aus für extrem gute 4K Texturen. BC7 ist eine sehr solide compression.

natürlich bin ich naiv. ich bin auch so unweitsichtig nicht zu erkennen, das amd im mitelklasse bereich einiges an 12gb karten und im gehoben bereich 16gb karten verkaufen könnte, welche die große masse ausmachen. die 10gb nutzer müssen ja dann halt nicht auf maximalen details spielen. in meinen augen ist es naiv zu glauben, das nvidia nur aus reinem protztum eine 24gb herausbringt. :)
 
Ja, weil AMD ja soviel Marktanteil hat was GPUs angeht. Die Zahlt von HD-Texturepatches kann man sich an einer Hand abzählen. Die Spiele werden alle auf Konsolen ausgelegt und die haben nur 16GB shared RAM.
 
Wenn du denkst das Devs für die 0.05% der User die ne 3090 kaufen irgendwelche Patches bringen, bist du ziemlich naiv. Desweiteren reichen auch 10GB locker aus für extrem gute 4K Texturen. BC7 ist eine sehr solide compression.
Ahh, gut zu wissen wie das Verfahren heisst.
Hat hier schon jemand mit einer aktuellen GPU das Tool nur schwind getestet (ohne Game etc.)?

Hab grad die Befürchtung dass die "leeren" (wohl mit Nullen inizialisierten) Texturen meines tools u.U. zu nahezu Null komprimiert werden könnten. Ich implementier mal besser die Möglichkeit stattdessen eine random Noise Textur zu laden.

EDIT: Entwarnung, Texturen müssen bereits komprimiert vorliegen. Der GPU Treiber komprimiert nicht selbst.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: THK
Ich kann es hier an der Stelle nur noch mal wiederholen; ich hatte eine RTX Titan ne Zeit lang zum Testen zuhause und kein einziges Game lief mit 24GB besser, es gab auch mit der RTX Titan ohne Ende Nachladeruckler, kein Unterschied zu meiner 2080Ti. Evtl. hilft es ja bei Games die mit Mod-Texturen aufgepimpt werden, aber alle derzeit verfügbaren Games profitieren so gut wie gar nicht von so viel Vram. Mag ja sein das es hier und da evtl. nen Nachladeruckler weniger gibt, das ist im Grunde aber keinen Aufpreis wert, ist meine Erfahrung.
 
Danke allen für die äußerst positive Resonanz! :)

Die Links führen jetzt zu Version 2 welches ein "Filled" Toggle besitzt.
Dieses zu aktivieren bewirkt dass Zufallsdaten in die Textur geladen werden. Ist etwas langsamer, aber sollte etwaige Kompressionsefekte verhindern falls GPUs tatsächlich selbst ohne Zutun des Programms, komprimieren (scheint soweit ich lesen konnte, nicht der Fall zu sein).


EDIT: Interessanterweise kann man schon allein mit der Software beobachten wie Nachladeruckler sich auswirken.
Zwei mal das Programm starten, mit jeweils 80% des VRAMs, sorgt dafür dass die FPS abwechselnd deutlich unter 30 fallen (sie sind auf 30 begrenzt um keine GPU-Last zu erzeugen).


Ich kann es hier an der Stelle nur noch mal wiederholen; ich hatte eine RTX Titan ne Zeit lang zum Testen zuhause und kein einziges Game lief mit 24GB besser, es gab auch mit der RTX Titan ohne Ende Nachladeruckler, kein Unterschied zu meiner 2080Ti. Evtl. hilft es ja bei Games die mit Mod-Texturen aufgepimpt werden, aber alle derzeit verfügbaren Games profitieren so gut wie gar nicht von so viel Vram. Mag ja sein das es hier und da evtl. nen Nachladeruckler weniger gibt, das ist im Grunde aber keinen Aufpreis wert, ist meine Erfahrung.
Wobei das auch heissen kann dass die Spielentwickler solch große GPU Caches nicht beachtet haben. Die Software muss zur sinnvollen Nutzung schon mitspielen und das könnte sich verbessern da die Caches immer größer werden.
Den Aufpreis einer Titan rechtfertigt sowas natürlich wohl kaum, und meiner persönlichen Meinung auch nicht den der 3090.
Allerdings gibt es grade bei AMD vs NV möglicherweise bald wieder eine Situation wo die Preise deutlich enger beinander liegen. Und auch bei 2080Ti vs 3070/80.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: THK
Vielen Dank hierfür!
Ich hatte auch schon überlegt so was zu basteln, habe aber aktuell ne 80h Woche, urgs.
Werde am WE mal damit spielen und schauen was passiert.

NVidia sagte ja, dass 4-6GB in 4K mit Raytracing benutzt werden würden. Probleme sollte man bei einer 2080ti dann also erst merken, wenn mehr als 5 GB geblockt werden und man auf maximal 6GB für das Spiel reduziert.

Endlich ein Weg das mit Fakten zu untermauern und nicht nur wild zu raten und mit der alten "Mehr ist aber mehr!" Keule zu kommen.
Danke nochmal!

@Don Dieses Tool wäre für mich bei den Ampere (und Navi) Benchmarks relevanter als alles minus die reine Roh und RT Leistungen.
Also meine Stimme hat das Tool, noch vor all den anderen Gimmicks, die zwar nett als Info sind, aber keine Relevanz für Kaufentscheidungen und Produktbewertungen haben.

@DragonTear Könntest Du das alles in englischer Form auch bereitstellen und es GamersNexus zukommen lassen? Bzw. evtl. hat das Team von @Don einen direkten Draht dorthin,... Ich kann mir nur wenig vorstellen, was für die kommenden Reviews und Folgevideos relevanter sein könnte, als genau dieser Test.
 
@DragonTear Könntest Du das alles in englischer Form auch bereitstellen und es GamersNexus zukommen lassen? Bzw. evtl. hat das Team von @Don einen direkten Draht dorthin,... Ich kann mir nur wenig vorstellen, was für die kommenden Reviews und Folgevideos relevanter sein könnte, als genau dieser Test.
Bin schon dabei das auf Englisch in mein Github zu laden: https://github.com/Dragolex/VRamHog/blob/master/README.md
Der Sourcecode folgt gleich.

Freut mich dass du Interesse hast.

Denke ich könnte GamersNexus eine Mail schreiben. Wieso nicht :)
 
Ich gönne Don und dem Lux Team die Chance, mit so einen Test als Erster clicks auf der Page zu generieren. :bigok:
 
Moin,

ich habe das Tool gestern mal ausprobiert, war aber noch die erste Version.
Als Spiel habe ich Zero Dawn benutzt. Als Auflösung benutze ich 1440p mit fast allen Einstellungen hoch/max.

Als ich im Tool 1 GB aktiviert/reserviert habe, hat das Spiel sofort angefangen zu ruckeln. Die FPS ist dabei gleich geblieben. Tool deaktiviert und sofort waren die Ruckler weg.
Liegt es jetzt am Tool oder nutzt das Spiel bei mir wirklich die ganzen 8 GB und wenn ich 1 GB abzwacke so das er die Texturen nachladen muss. Dann würde ja das Spiel bei 1440p bei mir wirklich die ganzen 8 GB Speicher.
Die zweite Version werde ich wohl erst am Wochenende Testen können.
 
Danke schon mal fürs Ausprobieren!
Hmm, hast du eine GPU-Last durch das Tool fetstellen können? (also schon ohne Game)
 
Danke für den ersten Test!
Horizon ist, laut einiger Artikel, wohl ein absolutes Negativbeispiel und benötigt wirklich so viel. ist auch das einzige Spiel, dass bei PCI-E 4.0 einen messbaren Unterschied zeigt.
Könntest Du das bei einem eher... "normalen" Spiel auch noch testen?
 
Nein eine GPU Last hatte ich nicht.

Andere Spiele könnte ich erst am Wochenende testen, bin erstmal zwei Tage für die Firma unterwegs.
 
Könnte ich Samstag mal mache. Zumindest division 2. Da habe ich etwa Zeit
 
  • Danke
Reaktionen: THK
Nettes Tool, damit kann man gut simulieren, was Windows 10 selbst + diverse Desktopprogramme so belegen, während man ein Spiel benchmarkt. Als Beispiel:
- Win10 ~ 200mb
- Firefox/Chrome mit mehreren Tabs, YT, Netflix und einigen Stunden Laufzeit aufm Buckel 500-800mb
-> Sprich es sollte eigentlich bei jedem Benchmark generell ~1GB mal für Desktopprogramme geblockt werden. Wer sich dann noch darüber aufregt dass eine 2080ti 11Gb hat und eine 3080 nur 10GB, kann ja zukünftig nur noch Spielen direkt nach einem Neustart :) Ich weiß das ist etwas konstruiert, spiegelt aber ein reales Nutzerverhalten wieder.

Zum Vergleich was euch so aufm Desktop an GPU VRAM verloren geht -> im HWinfo mal "GPU Memory allocated" mitlaufen lassen ohne ein Spiel anzuhaben - have fun :)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh