Java 3D对象管理设计

问题描述 投票:0回答:2

L.S.

对于一个小项目,我正在创建一个类似3D环境的迷你技术,并提供更多细节。但有一点我注意到,动态对象创建对性能有很大影响。所以我想知道,3D应用程序的其他游戏如何做到这一点?

我在考虑在应用程序启动之前创建所有对象,但我很快就发现这会对内存造成巨大影响。是否有其他技术,如深度克隆或我应该构建一个对象仓库来重用?还是我想到的其他方式?

我很好奇这是怎么做到的。

java performance object 3d
2个回答
0
投票

尽可能重复使用对象。仅渲染必要的零件,不存储您认为可能用于将来渲染的任何对象。

尽可能使用图像来替换自定义形状对象/模型。图像和轴转换是您最好的伙伴。如果您认为有必要,则序列化对象但会影响性能。如果相对位置保持不变,则必须重复使用场景图分支。您可以随时交换加载时间以获得良好的游戏性能。

有关参考资料,请参阅Java 3D的性能指南。从那里你可以应用一些技巧,而不仅仅是Java 3D。


0
投票

我听从了建议。并构建一种对象存储来重用图形对象。这似乎给它带来了更好的表现。为了提高性能,我构建了一些逻辑来将碰撞对象限制在附近的对象上。然而,在像世界这样的世界中,使用图像仍然有点困难。

© www.soinside.com 2019 - 2024. All rights reserved.