Java3D: очень низкая производительность в апплете на MacOS X - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь сделать некоторые анимации, используя Java3D на Mac.

Если я использую universe = new SimpleUniverse(); для создания вселенной, все быстро. Проблема заключается в том, что иногда возникают небольшие разрывы, потому что я изменяю свойства объекта в процессе рендеринга. Я хотел бы остановить рендеринг, пока я обновляю свойства.

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

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
canvas = new Canvas3D(config);
universe = SimpleUniverse(canvas);

Когда я это делаю, первая проблема заключается в том, что окно не появляется автоматически. Итак, основываясь на примере java2s , я встроил Canvas3D в апплет. Тогда я получаю окно, но производительность ужасна. Рендеринг намного медленнее.

Это почти так, как будто рендеринг больше не выполняется графическим движком, а вместо этого программным обеспечением.

Может кто-нибудь дать мне несколько советов о том, что я здесь делаю неправильно?

Спасибо!

1 Ответ

1 голос
/ 13 июля 2012

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

...