We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.

Are there any disadvantages of asset compression?

Home Forums Graphics / Blender Are there any disadvantages of asset compression?

  • This topic has 4 replies, 4 voices, and was last updated 9 months ago by kdv.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #66159
    c4cc
    Participant

    I know the advantages are reduction in uploaded file size, as it says here: asset compression

    But what are the disadvantages?

    #66173
    xeon
    Customer

    There 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.com

    #66174
    kdv
    Participant

    Speaking 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. 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 meaning at all.

    #66188

    Hi,

    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.

    Soft8Soft Tech Chief
    X | FB | LinkedIn

    #66191
    kdv
    Participant

    10 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. 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 meaning at all.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.