Quote:Also I set the -lighmapsize to 2000 this time. It seems that the compiler puts the lightmaps into the .bsp if the lightmapsize is no power of 2. This way the size of the package is down to 16mb.
Hmm, there is something wrong with it. When stored in bsp, the lightmap is not compressed and each lightmap file (internal equivalent to external
lm_* file) is 128×128 pixels. At this point the only way for your map to be lighter is that the lightmap definition is
way lower.
Currently your Beta 5 BSP has 492 uncompressed lightmaps with a 128×128 resolution for a total file size of 25MB. Those same lightmaps stored externally and compressed to PNG would weight 7.1MB instead. So, they are very low quality…
Anyway, as we see, reducing the definition can be a trick (less pixels for the same surface), so you can also reduce the resolution (amount of pixels of the
lm_* files). Maybe you don't need high definition lightmap smaller maps usually use and can reduce it (i.e. less pixels for the same area).
Also, I did some tests with your previous map:
Code:
# Your TGA in your PK3:
42M 42476K sr_cath92_ascent_b4.pk3
# Your TGA in PK3 zipped with 7-zip zip compression:
40M 40356K sr_cath92_ascent_b4+zip-7z.pk3
# Common PNG in PK3 zipped with 7-zip zip compression:
30M 29996K sr_cath92_ascent_b4+png+zip-7z.pk3
# Optimized PNG (oxipng optimizer and zopfli PNG compression) in PK3 zipped with zopfli zip compression (note: it spends 13 minute optimizing the PNG and 9 minutes optimizing the zip):
28M 27712K sr_cath92_ascent_b4+png-oxipng-zofli+zip-zopfli.pk3
So, I recommend you to convert to PNG first then use 7-zip to compress the PK3 (use zip compression, not 7z one) in all case. Don't mind the crazy optimizers, reducing to 30MB is already far better.
If I'm right, option
-samplescale <float> scales all the lightmap and
-samplesize <int> sets an arbitrary lightmap definition. This would be, with
-lightmapsize, the way to go. Then PNG, then ZIP with 7-Zip.
Note that I strongly recommend you to reduce the definition of your lightmaps (but probably not as much as your current one which probably uses 20 years old Quake3 settings) since in beta4, the total size of your uncompressed lighmaps were 233MB, that means the CPU had to load 233MB of files to feed 233MB of data to the GPU, and the GPU had to use 233MB of video RAM, whatever the efficiency of the PNG and ZIP compressions.
So, Iplay with definition to find one that is larger than the default Q3 setting to get better quality (but smaller than what Xonotic does by default to save memory), then increase the lightmap definition and store them externally to compress them in PNG the best way.