Home › Forums › Graphics / Blender › Are there any disadvantages of asset compression?
- This topic has 4 replies, 4 voices, and was last updated 1 year, 3 months ago by kdv.
-
AuthorPosts
-
2023-08-15 at 4:55 pm #66159c4ccParticipant
I know the advantages are reduction in uploaded file size, as it says here: asset compression
But what are the disadvantages?
2023-08-16 at 4:36 am #66173xeonCustomerThere are many advantages and disadvantages to asset compression. You as a developer have to know where you are deploying your application and what that particular device(s) need(s) is/are. You have to know which assets will compress, which assets are already compressed, which are compressed by V3D compression methods and which are not. You have to determine your memory requirements, GPU capabilities, etc.
If you are delivering your application via the web…compressing is generally a good rule.
If you are delivering your application locally then you can test the which method produces the best result for your purposes.Disadvantages – potential over compression, images/texture color space modification, … same things you run into when compressing an JPG.
But compression is both an active process you as the developer need to do and a process V3D an other applications do for you. As examples: A movie file…. you will need to compress this on your own to .mp4. A JPG you use as part of a texture. The JPG is already compressed and when you create the GLTF you may end up compressing it again…and get mixed results. Your 3D file is being converted to GLTF and a BIN. the .XZ compression provided through V3D makes for smaller files. Smaller file size to download for mobile devices…but may take a little longer to unpack once at the device but will be dependent on the device hardware your app is running on….for the most part the .XZ compression works pretty well.
The big issue is people often create applications that are just too large and then want compression to solve the problem. There are physical device memory limitations and bandwidth restrictions, etc. The best compression is the developer managing their assets and only loading the things they need and unloading them as required.
Xeon
Route 66 Digital
Interactive Solutions - https://www.r66d.com
Tutorials - https://www.xeons3dlab.com2023-08-16 at 7:28 am #66174kdvParticipantSpeaking of glTF the only compression method worth mentioning is DRACO geometry compression. Files are really small in size (much smaller than .xz) and they are loaded really faster.
It would be nice to have DRACO compression implemented into Verge3D exporter (instead of LZMA).
Non-compressed / LZMA compressed
DRACO compressed
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
2023-08-16 at 1:43 pm #66188Alexander KovelenovStaffHi,
Generally, Asset Compression is fine in every case, while Texture Compression should be enabled if rendering and GPU memory savings are more important than loading time.
It would be nice to have DRACO compression implemented into Verge3D exporter (instead of LZMA).
Sometimes DRACO performs worse compared to LZMA. Also, DRACO is lossy while LZMA keeps your geometry data intact.
2023-08-16 at 2:05 pm #66191kdvParticipant10 default Suzannes it’s less than 10k triangles (9680). There is no much sense to use any compression in this case. The effect will be noticable with 50k and more triangles and DRACO beats with no loss (161kb vs 700kb=>1,43mb).
LZMA beats if you have several non-instanced copies of the same mesh. But if you have a complex scene with a lot of different meshes or those copies are instanced…
DRACO compressed with LZMA gives even more impressive result. Especially with non-instanced clones.
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
-
AuthorPosts
- You must be logged in to reply to this topic.