渲染速度:更多物体还是更多场景?
Rendering Speed: more objects or more scenes?
我正在尝试制作一个具有三个场景的游戏,每个场景具有不同的功能,但它们都需要相同的 three.js 个对象。
我的问题是:就渲染速度而言,是使用三个摄像头更好,并且在我从一个场景切换到另一个场景时重新定位块,还是使用三个场景都包含相同类型的对象但它们实际上是不同的对象,它们不必移动?
如果您不明白这一点,请想象一下:我有一个充满 three.js 形状像字母的对象的场景,它们拼写了一个段落。我想要一个具有相同字母的新段落,但是渲染速度是将所有字母四处移动,还是翻转到一个已经加载了相同字母但新段落形状的场景更好?
我完全愿意接受完成此任务的其他方法,只要它们仅适用于 JavaScript。
非常感谢!
我相信您提到了错误的问题。两个场景各有 50 个对象,在 GPU 上渲染的时间(相对)相同。您正在考虑的 "rendering speed" 包括场景处理以重新定位您的字母。因此,您面临的真正问题是找到最少数量的操作,以便将您的字母从一个场景定位到下一个场景。
如果我们做一些假设:
- 你不关心内存
- 您不关心最初设置场景所花费的时间
- 您不打算在给定的场景之外重新排列字母
那么最快的就是拥有所有对象的单独副本。您不需要执行 any 重新定位,因此您可以直接跳到渲染步骤。
我正在尝试制作一个具有三个场景的游戏,每个场景具有不同的功能,但它们都需要相同的 three.js 个对象。
我的问题是:就渲染速度而言,是使用三个摄像头更好,并且在我从一个场景切换到另一个场景时重新定位块,还是使用三个场景都包含相同类型的对象但它们实际上是不同的对象,它们不必移动?
如果您不明白这一点,请想象一下:我有一个充满 three.js 形状像字母的对象的场景,它们拼写了一个段落。我想要一个具有相同字母的新段落,但是渲染速度是将所有字母四处移动,还是翻转到一个已经加载了相同字母但新段落形状的场景更好?
我完全愿意接受完成此任务的其他方法,只要它们仅适用于 JavaScript。
非常感谢!
我相信您提到了错误的问题。两个场景各有 50 个对象,在 GPU 上渲染的时间(相对)相同。您正在考虑的 "rendering speed" 包括场景处理以重新定位您的字母。因此,您面临的真正问题是找到最少数量的操作,以便将您的字母从一个场景定位到下一个场景。
如果我们做一些假设:
- 你不关心内存
- 您不关心最初设置场景所花费的时间
- 您不打算在给定的场景之外重新排列字母
那么最快的就是拥有所有对象的单独副本。您不需要执行 any 重新定位,因此您可以直接跳到渲染步骤。