linuxdeploy / linuxdeploy-plugin-appimage

Plugin for linuxdeploy. Creates AppImages from AppDirs.
https://github.com/linuxdeploy/linuxdeploy
34 stars 15 forks source link

Option to not compress #23

Closed andy5995 closed 2 years ago

andy5995 commented 2 years ago

Can an option be added to linuxdeploy so the AppImage won't be compressed when it's created?

TheAssassin commented 2 years ago

This is a question for https://github.com/linuxdeploy/linuxdeploy-plugin-appimage.

andy5995 commented 2 years ago

Ah, I see. Ok, just transfer this issue to that repo then. Thank you for the FYI.

TheAssassin commented 2 years ago

Oh, right, should have done that.

TheAssassin commented 2 years ago

I think what makes more sense is to expose appimagetool's compression setting directly, this way you can configure this completely yourself.

andy5995 commented 2 years ago

I'm not sure how needed this is actually. Does anyone else think it would be a good option to have?

I'm making app images for 0ad and that project distributes their data in a compressed zip file already, over 1G, and that zip file normally just stays zipped when the game is installed. When making an appimage, the included libraries take up about 180 MB.

I'm just not sure if any performance hits are significant from the appimage decompression at run time, plus 0ad decompressing data at run-time.

But I don't expect anyone here to have intimate knowledge of 0ad implementations, just kind of wondering if anyone else thinks having an option to not-compress an appimage might generally be a useful feature.

andy5995 commented 2 years ago

I think what makes more sense is to expose appimagetool's compression setting directly, this way you can configure this completely yourself.

That makes sense to me. (I didn't see your comment until after I finished posting mine)

TheAssassin commented 2 years ago

It's totally fine to have that option, it's not a lot of work anyway.

Regarding decompression, one of my projects, Blue Nebula, uses the standard compression algorithm (zlib), and the performance is reasonably good.

Overall, what might be suited best for games is Zstandard, since its decompression speed is a fair bit better than zlib, even though compressing takes a lot longer.

vladislavbelov commented 2 years ago

I'm making app images for 0ad and that project distributes their data in a compressed zip file already, over 1G, and that zip file normally just stays zipped when the game is installed.

Currently we don't decompress data for 0 A.D. Its zip files are plane data (kind of tar without compression) to be able to do a fast read.

TheAssassin commented 2 years ago

Implemented $APPIMAGE_COMP. Note that: