0

如果我像这里一样在循环中生成 Tubes

http://jsfiddle.net/crizzis/RYQty/1/

    for (var y = 0; y < 800; y++){...}

循环开始挂起并且不会完成,尽管主内存似乎没问题(任务管理器)并且 GPU 内存似乎也很好。

它挂在生成管几何形状的循环中。它甚至没有被渲染。

有谁知道这怎么会发生?

奇怪的是 700 个循环在 5 秒内执行,800 个循环根本没有或者真的非常慢。

4

1 回答 1

0

好吧,我只是看了你的小提琴,我不确定你的整个循环。您在循环中创建了太多东西。参见例如材料。只需在循环外创建一次。然后将 vector[0] 和 [1] 定义移出循环并在循环内执行 vector[0].y = 。因此,您不会为每次运行创建 2 个 Three.Vector3()-objects。此外,将所有变量声明移到循环之外。就像 var line; 在里面,你做 line = SPline... 接下来,你为什么不在循环内创建整个 Spline 然后在循环之后创建一个 TubeGeometry 而不是创建数百个网格?好吧,无论如何我都不知道你的用例。

于 2013-08-22T19:05:25.567 回答