Я делаю 2-я файтинг в java за последние несколько месяцев, но всегда имел такую же досадную проблему, что после нескольких раз закрытия и повторного запуска игры она всегда будет внезапно резко замедляется до заданной скорости/частоты кадров. Это происходит на моем не очень большом ноутбуке, а также на моем игровом ПК, поэтому я не думаю, что это проблема производительности.Java 2D-игра работает медленно после нескольких прогонов
По какой-то причине это также связано с тем, когда я запускаю свой компьютер, как если бы я перезагрузил свой компьютер, он будет работать бесперебойно, а вскоре после того, как я запустил его снова, он вернется к работе в замедленном режиме.
Я использую качающиеся таймеры и метод paintComponent для создания игры.
Thanks
Вы знаете, что есть много чего. Статические переменные, бесконечный цикл, ниток, который не закрывается. Вы создаете объекты, но не позволяете GC уничтожить его. Это широкий вопрос. Попробуйте debuggin, используйте JProfiler и т. Д. – Gatusko
Слишком много возможных причин. Это может быть даже из-за того, что вы спите в своем потоке отправки событий. Или вы делаете слишком много вещей, которые вы не должны делать в своем методе paintComponent(), давая иллюзию, что он отстает или не реагирует. Это может быть ваша неэффективная логика, слишком много вложенных циклов и т. Д. – user3437460
Вам понадобится [профиль] (http://stackoverflow.com/q/2064427/230513), чтобы узнать больше. – trashgod