我研究了很多关于这个问题的内容,我疯狂地试图理解为什么我的例子导致Firefox崩溃,并且非常慢慢地运行Internet Explorer和移动设备。
我在球体几何体上渲染一个大的(4K)图像,试图创建一种全景观察器。在实际应用中,我们可以从一个地方到另一个地方,点击在球体内创建的不可见形状。
在真实的应用程序中,我们有一个大的(4K)视频渲染,所以我们在一个循环移动的特定区域中有一些东西。但是,对于这个演示,我评论了这些行(addVideoTexture和renderVideo),所以我理解这不是问题。
关注我们的raycaster,我怀疑它会导致严重的性能问题,但我不知道任何其他方式来检测我们的鼠标什么时候超过了一个"动作热点" (见上图)或指示热点" (点击时允许去其他地方的不可见区域。)
raycaster.setFromCamera(mouse, camera);
hits = raycaster.intersectObjects(indicatorHotspotPlane, false);
问题是这个演示导致Firefox崩溃,并且在很多设备和Internet Explorer上都非常慢。
非常感谢...
里卡多
以下是您可以测试它的示例:
https://jsfiddle.net/ggL3uemh/13/
ThreeJS版本 r89
导致问题的浏览器是 Firefox和Internet Explorer ,我看到某些iOS设备也会变慢。