创建向量时的THREE.js性能

时间:2018-01-25 16:17:03

标签: javascript three.js

目前我正在与WebVR合作,因此性能非常重要。

在THREE.js中,通常建议您不要在更新循环中创建新的Vector,而是重用它。因为我不喜欢匿名封装的功能,它们会返回你的实际功能,所以我想到了一个易于使用的替代品,它仍然具有高性能。

我想出了

  window.vectors = {}
  window.vector = (name) => {
    if (vectors.hasOwnProperty(name)) {
      return vectors[name]
    } else {
      let vec = new THREE.Vector3;
      vectors[name] = vec;
      return vec
    }
  }

这样你就不必创建矢量,只需要调用

vector('vectorname').fromArray(...)

你认为处理它们是一种聪明的方法吗?我已经对jsben.ch做了一个快速的基准测试,1000次查找的速度比重用一次只快10%,几乎是创建新查找速度的两倍。

所以对于所有THREE.js开发者:你是如何处理的?我是怎么做的,或者你能想到警告(除了理论上能够在对象最大值之外添加键)吗?

0 个答案:

没有答案