Почему нет "Высоких графических 3D-игр", сделанных с Java на рынке? Разве Java не является хорошим вариантом? И почему так? Единственная крупная игра, которую я видел, это в основном Minecraft, и в ней не может быть много полигонов и двигателей освещения/физики. Тем не менее, необходим относительно хороший ПК? Есть игры, невероятно большие графики, чем Minecraft, а неподвижные изображения работают быстрее. Я полагаю, что ресурсы Java «уничтожают». Во всяком случае, вопрос: возможно ли сделать хорошее графическое приложение с Java, или почему бы и нет.Java High Graphics 3D-игры?
ответ
мир разработки игр смешной один: С одной стороны, они часто быстро принимать новые идеи, с другой стороны, они все еще в каменного века.
По правде говоря, редко бывает так много стимулов при переключении на .NET/Java/ничего, кроме C/C++.
Большинство игровых компаний лицензионные части игрового движка от других компаний. Эти части написаны на C++, и хотя у вас может быть доступ к источнику, поэтому вы можете его переносить, что требует больших усилий (и, конечно же, лицензия должна его разрешить).
Кроме того, в C++ существует много устаревшего кода. Если код из предыдущих проектов может быть повторно использован (скажем, если вы пишете сиквел), , который еще больше ценит придерживаться того же языка, , вместо того, чтобы переписывать его на новый язык (тем более, . буду скорее всего вновь тонны ошибок, которые вы должны будете тратить время на улаживание
Наконец, это редко для игр, которые будут написаны на 100% C++ все равно - много делается с использованием языков сценариев, «ли они re custom или просто , интегрируя существующие языки (в наши дни Lua является одним из наиболее популярных ).
Что касается мусора co что это может быть проблема . Проблема заключается не столько в том, что она существует, сколько в том, как работает - сборщик мусора ДОЛЖЕН быть неблокирующим (или, по крайней мере, быть , который будет блокироваться очень коротко), так как это просто неприемлемо , чтобы заморозить игру 10 секунд, пока он сканирует всю выделенную память , чтобы увидеть, что можно освободить. Я знаю, что Java имеет тенденцию задушить совсем немного в GC'ing, когда он близок к исчерпанию памяти (и для некоторых игр там, это будет).
Вы также немного ограничены в том, что вы можете сделать: вы не можете полностью использовать из-за накладных расходов на выполнение. Представьте, что Crysis написано на Java ... даже если это единственная видимая разница , это будет совсем не то же самое (я также уверен, что вам нужно Core i7 для запуска.).
Это не значит, что эти языки не имеют места в игре development - и нет, я имею в виду не только программирование инструмента. Для в большинстве игр вам не нужен дополнительный бит производительности, который вы получаете от C++, включая 3D-игры, и если вы пишете все это с нуля, то может иметь смысл использовать что-то вроде XNA - на самом деле , есть хороший шанс.
Что касается коммерческих игр - RuneScape count? Это может быть самая успешная Java-игра.
- 1. Java-программа high-low
- 2. Broken Java 3D Graphics
- 3. memory game graphics java
- 4. Java - get Graphics
- 5. Java Graphics - отслеживание фигур
- 6. Java Graphics clear arc
- 7. Java 2D Graphics Rectangles
- 8. paintComponent и java Graphics
- 9. Поиск альтернативы Java Graphics
- 10. Java Graphics Keep Flashing
- 11. Java Printing Graphics Uniformity
- 12. Java GUI/graphics
- 13. Движение клавиатуры Java Graphics
- 14. Java Graphics Несколько классов
- 15. Драйвер Java JFrame/Graphics
- 16. Java Graphics library
- 17. 2d java Graphics
- 18. Java Graphics Nullpointer
- 19. java multiple graphics
- 20. wowza java high cpu использование
- 21. java file move high performance
- 22. Java Использование High Virt памяти
- 23. Java Graphics не рисует ничего
- 24. Java Graphics 2D и KeyListener
- 25. Java Graphics setColor не работает
- 26. Почему Java Graphics не рисуется?
- 27. Java Graphics SetColor дает NullPointerException
- 28. Java JFrame Graphics не отображается
- 29. Java Graphics - Shapes wont fill
- 30. Java Turtle Graphics Animation Basic
Современные видеокарты делают большую часть работы. Следовательно, необработанная скорость реального языка реализации, работающего на процессоре, не так важна, как раньше, поскольку они могут поддерживать питание GPU. –
Дополнительные накладные расходы JNI, однако, оказывают незначительное влияние на производительность. Если вы делаете это «правильно» и доставляете свои призывы на призыв как можно больше, это должно быть незначительным. –