Java 3D объект управления проектированием - PullRequest
0 голосов
/ 21 марта 2019

1001 * Л.С. *

Для небольшого проекта я создаю 3D-среду, похожую на mincraft, с чуть большим количеством деталей. Но я заметил одну вещь: динамическое создание объектов сильно влияет на производительность. Мне было интересно, как другие игры 3D-приложений делают это?

Я думал о создании всех объектов до запуска приложения, но вскоре обнаружил, что это оказывает огромное влияние на память. Существуют ли другие методы, такие как глубокое клонирование, или я должен построить хранилище объектов для повторного использования? Или есть другие способы, о которых я думал?

Мне любопытно, как это делается.

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Я последовал совету. И создать вид хранилища объектов для повторного использования графических объектов. Это, кажется, дает ему лучшую производительность. Чтобы увеличить производительность, я строю некоторую логику, чтобы ограничить объекты столкновения объектами поблизости. Однако использование изображений в мире, похожем на майнкрафт, немного сложнее.

0 голосов
/ 21 марта 2019

Повторно используйте объекты как можно больше. Визуализируйте только те части, которые необходимы, и не храните объекты, которые, по вашему мнению, могут быть использованы для будущего рендеринга.

Используйте изображения везде, где только можно, для замены пользовательских объектов / моделей фигур. Преобразования изображений и осей - ваши лучшие друзья. Сериализуйте объекты, если считаете это необходимым, но это повлияет на производительность. Ветви графа сцены должны быть повторно использованы, если относительная позиция остается неизменной. Вы всегда можете обменять время загрузки на хорошую игровую производительность.

См. Руководство по производительности Java 3D . Некоторые советы, которые вы можете применить в целом, относятся не только к Java 3D.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...