Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:53

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Mär 31, 2004 13:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hab mir eben mal die Zeit genommen den Speicherverbrauch von Terrorcide im Taskmanager zu begutachten, und dabei ist mir dann aufgefallen dass es vom Start weg (Hautpmenü) stolze 66 MByte belegte, und in der vierten Mission (nachdem ich durch alle anderen Missionen per Debug-Key gesprungen bin) sogar knapp 81 MByte Speicher.
Hab mir daraufhin mal die Texture.pas angesehen (in der ich schonmal ein Speicherloch gefunden habe) und festgestellt, dass beim Laden von komprimierten TGA-Dateien (da die Komprimierung dort ja verlustfrei ist, wäre es ziemlich verschwenderisch diese nicht zu nutzen) der Pointer auf die Komprimierten Bilddaten (Variablenname ist CompImage) nicht freigegeben wird, wodurch natürlich recht schnell (besonders wenn während der Laufzeit Texturen nachgeladen werden) ein unschönes Speicherleck entsteht. Hab das mal mit if Assigned(CompImage) then FreeMem(CompImage) gestopft, und siehe da : Statt der 66 MByte beim Start nur 51 MByte Speicherbelegung, die sich auch nachdem für jede Mission das neue Hintergrundbild geladen wurde wieder auf 51 MByte einpendelt.

Wollte das nurmal gesagt haben, für den Fall das jemand diese Unit zum Laden komprimierter TGAs nutzt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 31, 2004 13:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Hi,
hatte auch für das Memory kurzzeitig komprimierte tgas verwendet. Aber davon bin ich ab, aus folgendem Grund:
Zwar sind die so auf der Platte kleiner, jedoch ist die selbe Textur unkomprimiert als Zip kleiner, als die komprimierte.
Da Festplattenplatz heute nicht mehr das Problem ist, nehm ich unkomprimierte, dass die zip (Später Setup) kleiner ist.

// Edit: Eben nochmal ausprobiert.
Textur room2.tga, unkomprimiert genau 1mb groß.
Nun komprimiert als room2k.tga abgespeichert, 834kb.
room2.zip: 242kb, room2k.zip: 277kb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 31, 2004 17:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Ich habe auch die Erfahrung gemacht, dass es, wenn man wirklich verlustfreie Texturen haben möchte, es gar nicht so ungeschickt ist, diese völlig unkomprimiert abzulegen, da man sie ja ohnehin zur Laufzeit über einen Zip Stream laden kann - dann ist es auch nicht notwendig, diese auf der Platte zu entpacken, und man spart im Endeffekt oft noch etwas Festplattenspeicher.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]