我有一个WebGL
应用程序需要我加载大量x,y
顶点数据,但为了最大限度地减少带宽使用,我还想使用gzip
.
下面是我将用来加载数据的代码。我想从服务器检索数据并将其直接传递到Float32Array
.
var xhr = new XMLHttpRequest();
xhr.open('GET', 'array.gz', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(data) {
console.log("loaded");
var dataArray = new Float32Array(this.response);
xhr.onprogress = function(e) {
};
xhr.onerror = function(error) {
console.log('error!');
};
xhr.send();
现在我的问题不是直接链接到代码,而是链接到支持的文件格式。数据需要采用什么格式(即csv
, ) json
,xml
然后才能被 gzip 压缩,以便此方法可以正确使用它?
我四处寻找,如果我JSON.stringify
将Float32Array
内容放在一个文件中,然后将其加载进去,它就可以正常工作。但是,将所有未压缩的数据加载到 JavaScript 数组中,然后再将其所有内容复制回要压缩的新文件中是不太可行的。所以我真的在寻找一种替代方法(假设这种文件格式是唯一受支持的)。