1

我有一个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, ) jsonxml然后才能被 gzip 压缩,以便此方法可以正确使用它?

我四处寻找,如果我JSON.stringifyFloat32Array内容放在一个文件中,然后将其加载进去,它就可以正常工作。但是,将所有未压缩的数据加载到 JavaScript 数组中,然后再将其所有内容复制回要压缩的新文件中是不太可行的。所以我真的在寻找一种替代方法(假设这种文件格式是唯一受支持的)。

4

0 回答 0