我注意到@WestLangley 链接的速度比本示例使用的旧版本TrackballControls
慢得多。
摆弄新代码:https ://jsfiddle.net/vt8n6dcs/1/
摆弄旧代码:https ://jsfiddle.net/vt8n6dcs/
我用 Firefox 41.0.2 对其进行了测试。没有基准,性能下降非常明显,因为当您使用鼠标开始旋转时,有时图像更新会滞后。旧版本也会发生这种情况,但频率要低得多。毫不奇怪,Chrome 48.0.2564.82 中的性能似乎完全相同。
此外,鼠标灵敏度要低得多。你必须移动它很多才能对图像产生明显的影响。这发生在 Firefox 和 Chrome 上。
我发现旧版本的唯一问题是命令的中心总是设置在页面的中心。您可以使用较新版本的handleResize()
函数代码来修复它:
this.handleResize = function () {
if ( this.domElement === document ) {
this.screen.offsetLeft = 0;
this.screen.offsetTop = 0;
this.screen.width = window.innerWidth;
this.screen.height = window.innerHeight;
} else {
var box = this.domElement.getBoundingClientRect();
// adjustments come from similar code in the jquery offset() function
var d = this.domElement.ownerDocument.documentElement;
this.screen.offsetLeft = box.left + window.pageXOffset - d.clientLeft;
this.screen.offsetTop = box.top + window.pageYOffset - d.clientTop;
this.screen.width = box.width;
this.screen.height = box.height;
}
this.radius = ( this.screen.width + this.screen.height ) / 4;
};