Hi,
I Serve 3dtiles (b3dm files) via nGinx, should I compress the tiles on the server side → is b3dm already compressed and I won’t be able to compress the files further?
If I compress the files, does Cesium know how to handle it?
A bit of guidance may be obtained by looking at things like Cesium Sandcastle which includes a relatively large (6.2 MB) B3DM file, and which, according to the Network Tab, is served gzipped.
But beyond that, it’s hard to answer in general. The relevant questions are “How much can be saved in terms of transmission size?”, “How much time does that save for the download?”, and “How much time does this cost on the server and the client?”
Even starting with the transmission size: There might be a B3DM file, which usually just wraps a GLB file, and that contains the geometry and textures. If the GLB consists of a completely flat, untextured square with 100x100 vertices, then they will all have the same normal (0,0,1). This could be compressed significantly with ZIP. (I just checked that - it reduced the size from 351KB to 87KB!). Conversely, when the GLB contains a unit square with 4 vertices, but a 500KB JPG texture, then compressing it with ZIP will basically have zero effect: JPG already is compressed, and the additional zipping won’t do anything here.
(All further questions depend on the network speed, the server/client hardware, and even the libraries that may be used there …)