1

目前我正在开发一款原型赛车游戏,旨在获得尽可能接近 3D 图形,而无需使用 Flash Player 11 和/或 DirectX。为此,我选择使用 RotationX、RotationY 和 RotationZ 来给我想要的效果。为了使建筑物变为 3D,我创建了同一对象的四个实例并适当地旋转/索引它们。

这很有效,直到舞台上有很多这些旋转对象 - 然后问题从性能开始。即,没有。

一个例子在这里: http: //www.hosted101.net/car/Racing3D.html

如果您跟随周围的轨道,您会发现舞台上的表演越多,表演就越差。

我已采取的尝试和纠正此问题的阶段包括:

1)禁用 Z 排序 - 这并没有提高性能(令我惊讶)

2) 禁用对象 RotationZ 以跟随相机 - 同样,性能没有提高

3) 用矢量图形交换位图图形 - 再次遗憾的是,性能没有提高

究竟是什么导致了这些戏剧性的表现?

只是舞台上有这么多带有3D旋转的物体吗?

大量 FPS 损失的示例

4

2 回答 2

1

在这里回答我自己的问题,以防有人遇到类似的泡菜:

该问题与游戏的FPS有关。低端机器无法将其设置为(最初)120,因为可以看到如此不同的结果。当下降到 60 时,它仍然太高,因此当舞台上有多个旋转物体时,FPS 下降得太低,产生了断断续续的效果。

将 FPS 最大值设置为 24 并将最大速度/转弯加倍后,游戏现在可以正常运行了。

道德:如果您的目标是低规格机器,则较低的 FPS 更好。

于 2012-08-16T14:19:52.390 回答
0

您发布的链接以恒定的 60 FPS 为我运行。

如果这些更改都没有帮助,您的性能瓶颈可能在其他地方,请尝试使用TheMiner 之类的东西进行分析。

您也可以尝试将 wmode 设置为“direct”或“gpu”,我注意到您使用的是“window”。

由于您不需要任何这些建筑物和树木上的任何鼠标事件,请确保在所有这些精灵上将 mouseEnabled mouseChildren 设置为 false。

这些是我想到的事情,希望有所帮助。

于 2012-08-16T13:18:36.927 回答