Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Größe der DFM Datei mit/ohne ImageList (https://www.delphipraxis.net/194910-groesse-der-dfm-datei-mit-ohne-imagelist.html)

creehawk 18. Jan 2018 09:48

Größe der DFM Datei mit/ohne ImageList
 
Moin Moin.

Leeres Formular. Leere ImageList drauf. Speichern. Dateigrösse der DFM : 1 KB

In die ImageList 1.2 MB (12 Dateien) laden. Speichern. Dateigrösse der DFM : 4.4 MB


Das erschließt sich mir nicht. Was passiert da?:(

creehawk

Uwe Raabe 18. Jan 2018 09:56

AW: Größe der DFM Datei mit/ohne ImageList
 
Wenn die DFM als Textdatei gespeichert wird, dann wird der Inhalt der Imagelist als Hexstring gespeichert. Das braucht schon mal doppelt soviel Platz wie eine binäre Speicherung. Dazu kommt noch, daß die Bitmaps der ImageList nicht komprimiert sind, was bei Bitmap- oder PNG-Dateien schon mal der Fall ist.

Einfach mal die DFM anschauen bringt sicher Erkenntnisse.

creehawk 18. Jan 2018 10:37

AW: Größe der DFM Datei mit/ohne ImageList
 
Danke, alles klar soweit.

Im Kern geht es mir dabei darum, wie ich eine EXE so klein wie möglich herstelle.

Es handelt sich um ein Setupprogramm mit dem Spieldateien kopiert werden. Die sind in der Regel 800-1200 KB groß. Das Setupprogramm sollte jetzt natürlich nicht 8000 KB groß sein.

Was mir eben auffiel ist die Größe der DFM. Gibt es irgendwo eine Art Liste die einem aufzeigt was zum Beispiel die einzelnen Packages an Platz verbrauchen?

Unser erstes Installerprogramm mit D3 war eigentlich nicht viel anders als jetzt dieses unter D10. Aber mit 2000 KB auch wesentlich kleiner. Was bläst die Sache denn so auf?

creehawk

Uwe Raabe 18. Jan 2018 10:46

AW: Größe der DFM Datei mit/ohne ImageList
 
Die Größe der DFM hat aber keinen direkten Einfluss auf die Größe der EXE. In der EXE sind die Bitmaps ja wider binär gespeichert.

Wenn du bei den Bildern Platz sparen willst, kannst du PNG verwenden und z.B. die TPngImageList aus den PngComponents (z.B. über GetIt zu beziehen). Im Gegensatz zu einer TImageList wird dort das PNG direkt abgelegt, was wesentlich weniger Platz braucht.

Grundsätzlich ist natürlich von D3 (wirklich Delphi 3?) nach D10 (z.B. Delphi 10.2 Tokyo?) mit einer erheblichen Vergrößerung der EXE zu rechnen. Dafür hat sich einfach sehr viel an der RTL/VCL getan.

Redeemer 18. Jan 2018 10:47

AW: Größe der DFM Datei mit/ohne ImageList
 
Dass es mit D10 kompiliert wurde.

Da essentiell seit D2009 (Unicode, gerade für Installer wichtig) nichts für kleine Anwendungen Relevantes hinzugekommen ist, kompiliere ich Anwendungen, die möglichst klein sein sollen, damit.

Sherlock 18. Jan 2018 11:04

AW: Größe der DFM Datei mit/ohne ImageList
 
OT: Es bleibt natürlich jedem selbst überlassen, sich dieses Rad für sich selbst neu zu erfinden. Aber was spricht gegen InnoSetup? Das weiß wohin was kopiert werden muss, und zwar für jede Windows-Version. Und es kostet nichts.

Sherlock

himitsu 18. Jan 2018 11:05

AW: Größe der DFM Datei mit/ohne ImageList
 
In der EXE wird die binäre Version als Resource eingebaut.
Also zur Laufzeit stört das nicht, aber beim anzeigen/laden/speichern in der IDE könnte eine zu große DFM stören.


viele/große Bilder direkt als Resource und zur Laufzeit laden?

Fukiszo 18. Jan 2018 11:10

AW: Größe der DFM Datei mit/ohne ImageList
 
...

creehawk 18. Jan 2018 13:54

AW: Größe der DFM Datei mit/ohne ImageList
 
@Uwe Raabe

Jawoll. Delphi 3. Durch ein Buch, bei dem diese Delphiversion beilag sind wir von VB abgekommen und bei Delphi gelandet.

@sherlock
Wir haben sogar InstallShield und ZSetup als kommerzielle Versionen. Aber das selber zu bauen und am Ende funktionierts auch noch ist einfach genialer! :-D

@himitsu
Das haben wir gerade ausprobiert. Immerhin 2.1 MB gespart. Durchschnittliche Größe nunmehr 3.7 MB bei einer zu installierenden Datei von 1.2 MB. Geht so.

Creehawk

Bernhard Geyer 18. Jan 2018 15:39

AW: Größe der DFM Datei mit/ohne ImageList
 
Zitat:

Zitat von creehawk (Beitrag 1391280)
Im Kern geht es mir dabei darum, wie ich eine EXE so klein wie möglich herstelle.

Dann solltest du deine Bilder kleiner bekommen.
Also statt Bitmaps PNG und bei Jpeg schauen du mit kleinerer Qualität auskommst.
Dann vermeiden Bitmaps mehrmals in die Exe zu schaufeln sondern eine Zentrale ablage verwenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz