UE5 Nicht genug VRAM?

  • Hallo zusammen,


    Ich habe jetzt die UE5 Preview runtergeladen und wollte nochmal ein Level designen. Jetzt setze ich eine paar Models rein und nun taucht immer die Fehlermeldung auf das ich nicht genug Videospeicher habe. Liegt das an den neuen Contentbrowser? Wie ich verstanden habe wird da jetzt immer alles vorgeladen. Merke ich auch wenn ich den Contentbrowser öffne hab ich für 3- 4 Sekunden oder länger ne FPS drop. Also der PC lädt sich fast tot. Und das jedes Mal wenn ich den Browser öffne.

    Kann man das vorrausladen abstellen? Wenn es denn daran liegt. Oder kann es was anderes sein. Hatte bei der UE4 nie das Problem.

  • Wie viel VRAM hast du denn? Ich meine, ich habe ja auch noch eine alte 1080er im Gebrauch, und die, ich glaube 6 GB sind da drauf, machen eigentlich keine Schwierigkeiten.


    Allerdings, und das ist ja immer wieder zu beachten, das Ganze ist noch Early Access, sprich Fehler sind da durchaus keine Seltenheit.

  • Was für eine Grafikkarte hast du denn?
    Was für Assets? Das Laden des Contentbrowsers ist schon suspekt. Sind es viele highpoly assets mit 8k texturen oder sowas in der Art?
    Benutzt du irgendwelche neuen tollen Dinge wie Nanite oder Lumen?
    Bedenke, dass UE5 noch offiziell eine Preview Version ist, und es daher zu Fehlern kommen kann.

    Eigentlich solltest du keine Probleme mit UE5 haben, wenn das gleiche in UE4 funktioniert. Allerdings sind wohl in UE5 einige default Einstellungen etwas ressourcenfressender. Reflection Capture Resolution ist wohl standardmäßig auf 2048 (verglichen mit 64 in 4.25), was bei einigen für Probleme sorgt. Ich würde auchmal die anderen Rendering Settings überprüfen, ansonsten mit der scalability mal runter gehen, shader compilieren, neustarten und sehen ob es besser wird.

  • Also ich hab eine RTX2060Super und die hat meine ich 8GB VRAM.

    Ich wollte hier natürlich die Technik ausprobieren. Also ich benutze Models von Quixel und zwar für Nanite. Also die Highpoly modelle. Aber das sollte eigtl nicht das Problem sein.

    Lumen ist ja Standardmäßig an und habe es auch angelassen. Wollte mal sehen wie das Licht dann aussieht. Und ich bin echt beeindruckt. Besonders das jetzt Emissive material in Echtzeit die Umgebung beleuchtet ist echt der Hammer ^^

    Im Taskmanager habe ich gesehen das die Grafikkarte aber nur ca. 50% Auslastung hat.

    Reflection Capture Resolution und weitere, werde ich mir später nochmal genauer anschauen.

    • Offizieller Beitrag

    Ich hab irgend wie den Verdacht, dass es sich hierbei um einen Bug handelt.


    Komplizierte grafische Berechnungen werden auf der GPU berechnet und mit Sicherheit werden thumbnails nicht auf der GPU berechnet und schon gar nicht in 4k 8k oder 16k.

    Was im Contentbrowser angezeigt wird, ist ja im grunde nur ein Vorschaubild und das Parent Mesh von dem dass du in den Viewport ziehst.


    Was sein kann: Wenn du extrem viele Meshes mit Texturen in einem Ordnet hast, kann das Laden ewig dauern. Ich kann mir aber nicht vorstellen dass dies etwas mit dem VRAM zu tun hat.


    Wie kommt du überhaupt darauf das es mit dem VRAM zu tun hat ist der voll ausgelastet und war es Vermutung, das es am VRAM liegt?


    Kannst du das nicht einmal in der UE4 testen und dort die selben dinge in den Content Browser laden ?


    Hast du das Problem dort nicht, liegt es wohl definitiv an der UE5 und der Bug wird zukünftig verschwinden.

    Hast du das Problem dort auch würde ich als nächstes versuchen Grafikarten Treiberprobleme auszuschließen und den Treiber entweder Upgraden oder downgraden.

    Falls du die Möglichkeit hast, auch mal an einem ganz anderen PC testen. Vielleicht hast du irgend ne Konfiguration was die UE5 bei dir nicht mag.


    So würde Analytisch an die Sache rangehen und jeden Verdächtigen auschließen und am Schluss müsste der schuldige übrigbleiben.

  • Wie kommt du überhaupt darauf das es mit dem VRAM zu tun hat ist der voll ausgelastet und war es Vermutung, das es am VRAM liegt?

    Weil das oben links im Bildschirm, im Editorfenster steht;)


    Aber so langsam pendelt sich das irgendwie ein. Ist nicht ehr so häufig und es stockt auch nicht mehr beim öffnen des Contentbrowsers. Bin nochmal alles durchgegangen und muss wohl darauf hoffen das sich das mit der fertigen UE5 ändert.

    • Offizieller Beitrag

    War dass ein Erststart? Wenn du den Rechner neu aufgesetzt hast, oder die Engine neu installiert hast und das Projekt das erste mal geladen werden muss, dann werden bestimmte Berchnungen ausgeführt die sehr lange dauern können. Diese Informationen werden Temporär auf der Platte oder direkt im Projekt gespeichert.

    Wenn du sagst "pendelt sich ein" , wäre dass zumindest ein Indiz dafür.


    Wenn man riesen Projekte das erstemal ladet, kann das manchmal echt ewig dauern. 20 min Ladezeit oder mehr würde mich nicht wundern.

  • So. Ich bin nochmal alle Einstellungen durchgegangen. Es hilft leider nichts. Wenn ich ein Projekt starte gibt erstmal kein Problem. Aber umso mehr Ordner ich nach und nach öffne umso schlimmer wird es. Ich glaube das liegt am neuen Contentbrowser. Ich hab sogar Nanite ausgeschaltet. Die Veränderung war nur marginal besser. Ich warte Mal ab was noch für Updates kommen. Die Lumentechnik funktioniert bei mir auch noch nicht wirklich. Hab alles versucht hab aber immer ein rauschen im Schatten von foliage. Wird auch erstmal ausgeschaltet.

  • Hallo Leute,


    ich habe zwar keine Ahnung aber ja, ich finde auch das Unreal5 stärker den Rechner belastet als die Unreal4. Anscheinend berechnet die Unreal schonmal viel mehr vor. Ganz extrem hatte ich das bei dem City Sample Crowds Paket. Dan dauert das starten der Unreal ewig weil alles durchgerechnet wird. Sollte aber schneller gehen wen das einmal geladen wurde. Obwohl ich das ganze nur im Contentbrowser habe ohne das ich benutzen wollte. Leider dauert es aber dann auch länger wenn sie einmal hochgefahren ist und alles durchgeshadert hat. Nun habe ich das Paket erst einmal wieder runter. Jedoch hatte ich da keinen Hinweis auf VRANM Probleme. Und ich benutze noch die alte GTX 1070 mit 8GB


    Gruß

  • Hallo kevOneill,

    die verbleibenden 0,9GB werden z.Z. nicht gebraucht. Das kommt darauf an wie groß dein Projekt ist.

    bei mir bleiben z.Z 4,8GB frei. Die Grafikkarte wird erst auf 100% bei der Leistung gehen wenn du dich im Editor schnell Bewegst. O,9GB noch zur Verfügung zu haben ist etwas Mau. Wenn du andere Fenster öffnest werden die ja kurz berechnet und dann wird kurz Speicher benötigt.

    Allerdings scheinst du irgendwie einen Wurm im Projekt zu haben. Dann bei denjenigen die ich so kenne Reichen auch bei größeren Projekten die 8GB auf der GK völlig aus.


    Gruß

  • Dann sollte ich mir nochmal alles genau anschauen. Was mir aufgefallen ist das ich sehr viele 4k Texturen habe. Allerdings sind diese von Assets aus dem Marketplace. Kann ich diese in der Engine selber auf 2k runter skalieren? Auch wenn die Assets eigtl schon optimiert sein sollten wollte ich trotzdem dies Mal ausprobieren ob es dann Speicher einspart. Dachte nämlich daß die Texturen eigtl im normalen RAM geladen werden. Bitte um Aufklärung ^^

    • Offizieller Beitrag

    Was mir aufgefallen ist das ich sehr viele 4k Texturen habe.

    Damit hast du das Problem gefunden und dann wundert mich nichts mehr :laughing:

    Warum hast du das nicht gleich am Anfang gesagt :) ?


    Unreal entscheidet selbst wer den Berechnungsjob bekommt. Entweder dinge werden auf der CPU oder auf der GPU berechnet.

    Besser ist immer die GPU weil diese schneller ist und vorallem auf grafische dinge optimiert ist.

    Unreal berechnet dort, wo es weniger Auslastung gibt und wo letztlich schneller berechnet werden kann.

    Letzlich macht keinen Unterschied ob erst deine CPU überläuft dann deine GPU genommen wird oder umgekehrt.


    Was man oft tut und was auch Quixel und Co. macht, man Master`t Texturen auf 4k und drückt die dann runter so wie man sie braucht. n (zb als 1k Textur)


    Runterdrücken geht immer aber man kann aus 1k Textur keine 4k Textur machen. Zumindest werden keine Details beim hochskalieren generiert :lol:


    Schau dir auch mal die ganzen Livetime Profiling Geschichten an.

  • Warum hast du das nicht gleich am Anfang gesagt :) ?

    Ähm. Nicht genau darauf geachtet? :D


    Also wird der normale RAM für die CPU genutzt? Hab ich das richtig verstanden?

    Und es ist möglich die 4k Texturen runterrechnen zulassen auf 2k innerhalb der Engine?

    Das man aus 1k nicht 4k machen kann bzw das man schwammige Texturen dann hätte, ist mir schon bewusst. ;) das Prinzip von Texturen ist mir schon zum größten Teil bekannt. Muss ich heute Abend Mal schauen wie das in der Engine runterzurechnen ist. Dann Mal sehen was sich im VRAM ändert. Find ich nur komisch das es in der 4.27 kein Problem war 4k Texturen zu nutzen. Und ich hatte haufenweise Assets im Level. Die UE5 heult ja jetzt nach nur einem Assetpaket rum. :/

    • Offizieller Beitrag
    • Hilfreich

    Und es ist möglich die 4k Texturen runterrechnen zulassen auf 2k innerhalb der Engine?

    Das man aus 1k nicht 4k machen kann bzw das man schwammige Texturen dann hätte, ist mir schon bewusst. ;) das Prinzip von Texturen ist mir schon zum größten Teil bekannt.

    Ich bin auch immer Freund davon nicht nur eine Frage zu beantwortern Sie auch mit Informationen zu erklären.

    Wenn andere ähnliche Probleme haben und diese nicht auf deinem Wissenstand ist, sie trotzdem aus dem Informationsgehalt die Lösung verstehen können.

    Darum möchte ich bisschen weiter ausholen:


    Das UV Koordinatensystem hat ja IMMER eine Größe von 0 - 1 alles was weniger oder darüber hinausgeht wiederholt sich.


    Verwendest du eine 1k Textur (1024 * 1024 pixel) dann geht diese Textur von 0 bis 1

    Verwendst du eine 4k Textur (4096 * 4096 pixel) dann geht diese Textur in der ebenfalls von 0 bis 1


    Darum passt eine Textur immer zur UV sofern sie gleichmäßig skaliert wird.


    Skallierst du eine 4k Texur auf 1k runter, so gehen immer Informationen verloren. Was im Prinzip passiert ist, das eine bestimmte Anzahl an Pixeln zb 4 *4 Pixel zu einem neuen runtergerechnet wird. Dieser eine Pixel bekommt den Durchschnittswert dieser 8 Pixel.

    So als ob den die RGB Werte alle 8 Pixel zusammenrechnen würdest und durch 8 teilen würdest.


    Das ist so der Grund warum Texturen nach dem Skalieren bescheiden aussehen können.

    Zum Klassischen UV Mapping wo im grunde Pixel auf ein Mesh übertragen werden, gibt es auch das vertexpaint das technisch gesehen anderst funktioniert und eher für Terrains verwendet werden. Es genau dafür da, dass es diese Auflösungsprobleme nicht gibt. Aber dein Textur größen Problem hast du deswegen trotzdem.

    Ich kenne nur dein Problem ich weiß aber nicht was du vorhast.


    Ich bin ein Freund davon dinge an der Quelle zu bearbeiten: Du könntest die Texturen in einem Bildbearitungsprogramm öffnen. Wobei du wahrscheinlich Diffuse, Roughness, Metallic oder was auch sonst noch alles mit dabei ist bearbeiten müsstest.

    In Photoshop gibt es dafür die Staffelbearbeitung wo du theoretisch 100 Texturen gleichzeitig runterdrücken könntest.


    Badcase: Du erstellt dein 3D Mesh texturierst es zb in Blender und exportierst es als 2k Textur. Nun Importierst es im Substance Painter als 4k Textur und Texturierst dort. In Unreal ist die die 4k Textur zu groß weshalb du sie 1k runterdrückst.

    Änderst du jetzt irgend wo etwas innerhalb der Pipeline, muss deine Textur alle Steps nochmal durchlaufen. :)

    Gäbe es ein Begriff dafür, würde es wohl Textur-ruminate (Textur wiederkauen) heißen :)


    Ich glaube aber irgend wo konnte man die Size einer Textur direkt in Unreal runterstellen. Ich hab das aber aus den oben genanten gründen noch nie gemacht.

    Vielleicht weiß dass jemand anderst ?


    Übrigens könntest du auch LODs für Texturen verwenden. Was nah ist, werden höher aufgelöste Texturen. Texturen die weiter weg sind, sind niedriger aufgelöst.