Javascript 当我在Chrome浏览器中打开一个THREE.js应用程序时,我的浏览器会拖拉坏

Javascript 当我在Chrome浏览器中打开一个THREE.js应用程序时,我的浏览器会拖拉坏,javascript,three.js,Javascript,Three.js,我正在用THREE.js构建一个小的2D游戏,我刚刚注意到,当我打开一个标签并加载THREE.js应用程序时,我的其他标签开始以蜗牛般的速度拖动。但当我切换选项卡时,意味着THREE.js选项卡被隐藏,一切都会恢复正常。这有什么办法吗?我相信这很可能与递归运行的requestAnimationFrame(render)函数有关。关于如何优化THREE.js requestAnimationFrame的任何提示?大多数THREE.js设置每秒重新渲染场景60次,这对于许多机器来说都不是一件容易的任

我正在用THREE.js构建一个小的2D游戏,我刚刚注意到,当我打开一个标签并加载THREE.js应用程序时,我的其他标签开始以蜗牛般的速度拖动。但当我切换选项卡时,意味着THREE.js选项卡被隐藏,一切都会恢复正常。这有什么办法吗?我相信这很可能与递归运行的requestAnimationFrame(render)函数有关。关于如何优化THREE.js requestAnimationFrame的任何提示?

大多数THREE.js设置每秒重新渲染场景60次,这对于许多机器来说都不是一件容易的任务。运行WebGL网站总是比标准HTML页面更需要大量资源。优化每个帧完全取决于您使用的内容,因此如何优化它没有绝对的答案。它几乎总是在性能和视觉质量之间取得平衡。下面是一些可能导致性能问题的常见原因,尽管此列表还远远不够详尽:

  • 高网格数(尝试合并几何体,并在网格重复时)
  • 灯光太多(尝试烘焙以使用尽可能少的动态灯光)
  • 以高DPI渲染(如果可能,请尝试)
  • 抗锯齿(没有AA比使用AA更便宜)
  • 复杂阴影(尽可能尝试烘焙阴影,而不是使用动态阴影)
  • 复杂着色器(某些照片真实感着色器的计算成本可能很高)
  • 昂贵的后处理
  • 全屏渲染(1920x1080的渲染比1024x768昂贵得多)
  • 离散GPU(具有单独的图形卡比CPU中的共享图形处理提供了更好的性能。许多笔记本电脑没有单独的图形卡,导致性能降低)

是否打开了多个浏览器窗口?我也遇到过类似的问题,但只有当我在一个窗口中运行了一个THREE.js游戏,在另一个窗口中运行Linkedin时才会出现。好问题。@HannaMcquaig是的,这正是我要说的。一扇窗户开着,就看不见了。Tanksshow us you render Function我是这么想的,看起来我会做一些微优化