【发布时间】:2017-03-30 18:54:56
【问题描述】:
如果我有一个简单的动画函数
function animate() {
geometry.elementsNeedUpdate = true; // allocates memory without geometry.faces[ 0 ].color = ...
requestAnimationFrame( animate );
renderer.render( scene, camera ); }
即使没有更改任何元素,我也会分配内存。 然后我添加了面部颜色的操作。
function animate() {
geometry.elementsNeedUpdate = true;
// geometry.colorsNeedUpdate = true; // not necessary
// material.needsUpdate = true; // not necessary
time = clock.getElapsedTime();
if ( time * 16 % 10 < 5 ) {
geometry.faces[ 0 ].color = colorBlue;
} else {
geometry.faces[ 0 ].color = colorRed;
}
requestAnimationFrame( animate );
renderer.render( scene, camera ); }
并且它保留在内存分配中。
geometry.elementsNeedUpdate = true; 是更改面部颜色所必需的。
如何避免内存分配?
【问题讨论】:
标签: javascript memory three.js