1
我使用three.js庫的PLYLoader以.ply格式加載點雲,文件大小約爲8-10MB,似乎它不使用gzip,因此它加載了所有10MB的數據。如何強制使用gzip與three.js的PLYLoader?
我不知道是否有可能使用gzip進行文件傳輸,因爲手動壓縮.ply pointcloud我將大小減小到2-3MB。
我使用three.js庫的PLYLoader以.ply格式加載點雲,文件大小約爲8-10MB,似乎它不使用gzip,因此它加載了所有10MB的數據。如何強制使用gzip與three.js的PLYLoader?
我不知道是否有可能使用gzip進行文件傳輸,因爲手動壓縮.ply pointcloud我將大小減小到2-3MB。
我已經使用PAKO的是,JavaScript的一個非常快的zlib庫:
https://github.com/nodeca/pako
工作原理是這樣的gzip壓縮:
var deflate=new pako.Deflate({gzip:true});
deflate.push(data,true);
var ndatagzBlob = new Blob([deflate.result]);
像這樣的ungzipping(它會找到該數據是從頭部gzip):
var inflate=new pako.Inflate();
inflate.push(new Uint8Array(this.response),true);
var data=inflate.result.buffer;
你怎麼知道它做的esn't使用gzip?聽起來像是關於託管.ply文件的服務器配置問題,而不是three.js問題。它是什麼樣的服務器? – Volune 2014-09-06 10:21:07
@Volune我正在使用默認配置的Tomcat 8。我檢查它是否使用gzip查看Chrome開發人員工具的「網絡」選項卡,比較文件大小和下載大小。 – lukasged 2014-09-06 12:55:41
使用網絡選項卡,您可以檢查請求頭「Accept-Encoding」是否包含'gzip',並向我們顯示請求和響應頭? (不需要發佈主機和cookie頭)(只是爲了確保它是客戶端還是服務器端問題) – Volune 2014-09-06 13:35:04