使用gzip压缩3dtiles
1. 全局命令行安装 3d-tiles-tools
可参考官方说明:https://github.com/CesiumGS/3d-tiles-tools

2. 执行命令压缩文件
使用命令行压缩3dtiles文件夹,压缩后的文件 -f 表示强制替换文件 -t 表示只压缩 b3dm等数据文件,json文件不压缩。

3. 文件压缩对比
文件压缩比约为5%, 226k的文件压缩至212K左右。

4. nginx配置
配置nginx,如果nginx还提供其他资源访问路径,则只需要在对应的子目录下启用gzip的头命令, 注意:只对启用gzip压缩的文件添加header标识,否则文件不能正常读取和加载。
我在使用命令行压缩文件时,使用 -t 参数只压缩了b3dm 文件,所以也只过滤了 b3dm, 没有对json文件添加header标识。

5. 网络传输对比
前端使用cesium正常加载方式,不需要更改代码。
未使用gzip压缩文件传输 1357kb 56ms

使用 gzip 压缩 1366kb 24ms

结论:
gzip压缩在文件大小可以减少5%的大小;在网络传输上可以减少约50%的时间。
由此可见,对文件进行压缩在大数据量的3dtiles文件时,还是有必要进行的,如果再加上数据处理时建立顶层合并、纹理压缩、顶点压缩等数据处理手段,能对前端优化提供极大的支持。

浙公网安备 33010602011771号