Да JIT - хорошо, сейчас в гугле тоже почитал, убедился.Oldestkon написал(а):Не секрет, что игры редко пишутся на java, с тем, чтобы выйграть в скорости
У тебя стереотип головного мозга просто.
Скорость работы игр с текущим уровнем развития технологий зависит от выбранного языка ровно никак.
Сейчас не то время, когда люди считали процессорные инструкции и экономили их как могли.
Да, на копировании мочемассива с тонной элементов ты увидишь разницу в скорости даже с учетом JIT, но на практике почти вся скорость работы приложения зависит от компетентности программиста. Которая, в свою очередь, в данном случае, ещё и зависит от доступных технологий, помогая программисту не выполнять кучу лишней работы (не изобретать колесо).
Просто так сложилось, что раньше уж приходилось экономить почти каждый байт, поэтому java отпадала сама собой, да, тогда твоё заявление было актуально. Это привело к тому, что на C выросла популярная база наработанных технологий и библиотек полезных для геймдева. И ни для кого не секрет, что С++ имеет обратную совместимость с С. А это означает автоматическое перетекание всей наработанной базы к С++, быстренько заполонившему почти всю нишу геймдева.
К Java толком никто и не притрагивался, потому что на разработку базовых технологии и библиотек ушло бы слишком много времени, да и зачем, когда уже всё есть? А ещё есть куча специалистов (прогеров) в области геймдева, которые приноровились писать игры на С++.
Именно поэтому на ней очень мало популярных игр, а не потому, что она медленная. Нет наработанного стека технологий, нет программистов в нужной области.
Тем не менее, единичные проекты на подобных языках существуют, а их прогерам сидится довольно хорошо - малая конкуренция жеж.
И вообще, Java - говно. Котлин в массы.
Наглядное подтверждение: minetest и StarMade. minetest на C++ (плагины могут быть на lua) и тормозит. StarMade на джаве, дальность прогрузки огромная по сравнению с майнкрафтом и ничего не тормозит.Oldestkon написал(а):Скорость работы игр с текущим уровнем развития технологий зависит от выбранного языка ровно никак.
Боже, спаси и сохрани. Если ты динозавр то 1.0-1.6.4 это mcp+forge, если 1.7-1.х то Gradlew.alcatrass2408 написал(а):1. Посоветуйте хорошие компляторы модов
2. Что за программы specialsource retroguard mcinjector fernflower, нашол в MCreator
Ни скажи. Насколько мне известно, заголовок у датаграммы меньше, чем у "пакета" TCP(там поток вроде, хз). Хотя, там не особо много сжирает майныч. Сервер лагает, но вина разрабов сервера.Oldestkon написал(а):TCP для кубача вполне катит, не надо тут. Это тебе не first person FPS шутан. Имхо с UDP больше проблем оберешься.
Хотя, в общем, этот пункт спорный. Тут надо приводить какую-то статистику, а не устраивать перепалку словами.
Вот для сталкрафтика неоч)0
glBegin\end кубач не использует
там glDrawArrays, который не сильно-то отличается по производительности от вбо
Вбо - не волшебная приправа при использовании которой у тебя вырастает фпс, она лишь гарантирует гораздо большую гибкость, соответственно, можно эффективнее управлять данными, обновлять только необходимые участки данных, сокращать общий объём данных, да что твоя душенька пожелает. Но скорость работы зависит строго от твоей реализации. Не умеешь управлять данными - вбо будет медленнее drawArrays или того же callList.
GL11 для поддержки говнокомпов.
Да и вбо ввели по-моему уже давненько. Не вникал в реализацию правда.
Вот шейдеры и структура fbo введёные в 1.7.10 поистине бесполезны, там толком даже буфер глубины не вытащить, ибо можанги решили НАОПТИМИЗИРОВАТЬ, забив на текстурку-атачмент для буфера глубины, и оставив для него просто renderbuffer, который write-only. В итоге мы можем писать только бесполезные шейдеры, которые обрабатывают только цвет пикселя, кому нужна глубина сцены)
А реализованные шейдеры накладываются только на итоговый полноэкранный квад, где 4 вершинки. И два шейдера за кадр тоже не активируешь, опять же, нужны свои костыли. Писали ради баловства, видимо.
Так что если шейдеры только велосипедировать.