Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

1

29.11.2012, 18:09

GPU Speicher

Kennt jemand ein Tool mit dem man prüfen kann, was alles im GPU Speicher liegt? Der Grund ist, dass ich eine Demo mache die mal ganz lustig 240 MB verbraucht. Mich wundert, wo das herkommt. Weiß jemand was so speicherfressend ist? Texturen sind zusammen gerade mal 10 MB groß. und alle Dateien zusammen auch nur 40 MB. Wo kommt das alles her? Shader?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

2

29.11.2012, 18:12

Texturen liegen unkomprimiert im GPU Speicher (meistens). Also speicher die Texturen mal als BMP und guck, wie groß sie dann sind ;)

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

3

29.11.2012, 18:15

Ich kann auch aus einer TGA mit 50mb 300kb machen... mit der richtigen Komprimierung.

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

4

29.11.2012, 18:20

27.1 MB. Immer noch zu wenig.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

5

29.11.2012, 18:23

Könnte es was damit zu tun haben, dass ich PostProcess Texturen benutze? Je höher meine Auflösung desto höher wird auch der Speicherverbrauch.
EDIT: Nein. Wenn ich die Texturauflösung(PostProcess) auf 128x128 runterschraube immer noch der selbe Verbrauch im Vollbildmodus mit 1366x768.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

7

29.11.2012, 18:54

Eventuell helfen dir die Tools von nVidia! https://developer.nvidia.com/nvidia-nsig…-studio-edition

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

30.11.2012, 00:05

Wieviele solche Postprocessing Texturen hast du und welche Formate haben die?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

30.11.2012, 06:47

2048x2048 GL_RGBA32F :D

Mich würde mal interessieren wie groß seine Texturen im BMP-Format sind. Entweder hat er dies hier nämlich noch nicht geschrieben oder er hat sich schlecht ausgedrückt. Wenn er nämlich 10MB an PNG- oder JPG-Files hat, dann wäre das kein Wunder, dass da 240+MB unkomprimiert rauskommen.

Am Ende sind es gar nicht die Texturen, die da so groß sind, sondern irgendein 3D-Array, was er intern als 3D-Tile-Map verwendet. :D
500x500x500 Tiles mit je zwei ints. :D
Oder zwei Musik-Tracks mit je 5 Minuten Länge ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

10

30.11.2012, 11:12

Die erste Frage wäre für mich: wie kommst Du auf die 240MB? Wo hast Du die abgelesen? Ich vermute, am Task Manager. Und da fängt das Elend an. Der lügt nämlich :-)

Der nächste Tipp wäre dann: vergiss nicht die Backbuffer. Double Buffering bedeutet schon 2xBildschirmauflösung x4 Bytes, also 8MB. Abgesehen davon sind die Texturen aber üblicherweise das Größte. Die Splitterwelten haben trotz freimütig eingesetzter Texturkompression 1,4 GB an reinen VideoRAM-Daten nach einem Durchflug. Das teilt sich wie folgt auf:

300MB für VertexBuffer, davon etwa 200 für das Terrain. Da könnte man noch einiges sparen.
40MB für IndexBuffer
1GB für Texturen
-- davon 900MB statische Texturen
-- 16MB für die Sonnen-ShadowMap
-- 30MB Rendertargets für PostProcessing
-- 24MB für den SkyCube
-- 20MB für Shadow CubeMaps

Und der TaskManager zeigt dabei aber nur etwa 1GB an Speicherverbrauch an. Das sind die Weltdaten, die tauchen in der Rechnung oben noch gar nicht auf :-) Der Task Manager rechnet nämlich keine R e s o u r c e n mit, die nur im VideoRAM liegen. Du müsstest also Deine Rechnung getrennt für Hauptspeicher und VideoRAM aufmachen. Und für den VideoRAM-Verbrauch wirst Du ein besseres Tool brauchen. Z.B. das schon erwähnte NVidia NSight.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Werbeanzeige