怎么感觉引擎中很多地方代码很诡异.....

a.引擎中的meshbuffer.js代码是否有问题?

_reallocVData (copyOldData) {
let oldVData;
if (this._vData) {
oldVData = new Uint8Array(this._vData.buffer);
}

    this._vData = new Float32Array(this._initVDataCount);
    this._uintVData = new Uint32Array(this._vData.buffer);

    let newData = new Uint8Array(this._uintVData.buffer);  // 这个 newData 根本没任何意义, 也不使用.

    if (oldVData && copyOldData) {
        for (let i = 0, l = oldVData.length; i < l; i++) {
            newData[i] = oldVData[i];
        }
    }
},

// 这个 newData 根本没任何意义, 没有地方使用, 为什么要声明?

b. motion-streak.js

function Point (point, dir) {
this.point = point || cc.v2();
this.dir = dir || cc.v2();
this.distance = 0;
this.time = 0;
}

prev.distance = cur.point.sub(prev.point, _vec2).mag();

这个distance 属性无意义, 不参与任何运算,何必mag()

newData 只是一个 DataView,关键是对这个 view 里面的数据的改动。这个 view 本身的引用(也就是这个变量)并不需要在后续用到。