![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Fieral |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Добрый день.
Я пишу 2D авиа-симулятор на Java. Для отрисовки графики использую стандартные классы: java.awt.image.BufferedImage и java.awt.Graphics. Создаю в памяти буфер java.awt.image.BufferedImage - рендерю в него и затем вывожу на форму. Вот тест отрисовки картинки размера 1024*768:
Как видно при запуске отрисовка занимает около 78 миллисекунд с FPS 10-12 кадров в секунду, что как-то не густо. Собсно вопрос: есть ли в Яве что-то получше java.awt или всё-таки придётся использовать серьёзные либы (типа OpenGL)? --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
||||
|
|||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Попробуйте повозиться с java.awt.image.VolatileImage: http://download.oracle.com/javase/6/docs/a...atileImage.html
|
|||
|
||||
| Skynin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 1.7.2007 Где: Харьков Репутация: 6 Всего: 10 |
Использование OpenGL в Java-приложении, статья jMonkeyEngine Это сообщение отредактировал(а) Skynin - 25.11.2010, 19:31 |
|||
|
||||
| Fieral |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
VolatileImage даёт теже 10 fps :(
--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
||||
|
|||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Что-то явно не так делаете, не должна Java2D так сильно тормозить.
Вот пример:
На десктопе (WinXP Core 2 Duo 3GHz NVIDIA 9800GTX+, d3d pipeline в Java2D) выдает примерно 4000 FPS. |
|||
|
||||
| Fieral |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
В принципе логично - чегоб он работал быстрее, если отрисовка одного кадра в буфер без окон и фреймов занимает 90ms. --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
На моем слабом ноуте (Win7 Intel U2300 1.2GHz со встроенной видеокартой Intel Mobile) выдает:
1000 frames in 6863 ms = 145,709 FPS 1000 frames in 6840 ms = 146,199 FPS 1000 frames in 6830 ms = 146,413 FPS 1000 frames in 6823 ms = 146,563 FPS 1000 frames in 6807 ms = 146,908 FPS Что же у вас тогда за железо такое? Может это OpenJDK на линупсе с кривыми драйверами? Если на линупсе, то можно попробовать запускать с -Dsun.java2d.opengl=True, должно быстрее заработать, если драйвера openGL поддерживают. |
|||
|
||||
| Fieral |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Ок.
Я использовал ключи
Из http://gpwiki.org/index.php/Java:Tutorials...mage#References И с ними не работало, а вот с ключём:
Отрисовка VolatileImage херачит на полную катушку.
--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
||||||||
|
|||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |