LINUX.ORG.RU
решено ФорумTalks

В чём сложность DirectX, OpenGL, Vulkan, Linux, Windows с точки зрения программирования?

 , , , ,


0

2

Создать топик навеяла местная тема про майков. Я сам не программист - вообще, ни капли, элементарно не знаю как компилить код.

Вопрос собсна в заголовке, перевожу с русского на русский - сложно ли программировать под вышеперечисленные API и системы?

Под что легче программировать? Под линух, или винду? Что сложнее? - OpenGL/Vulkan или DirectX?

Мне надо так сказать расставить все точки над i: Правда что под опенгл сложнее найти мануалы чем под директ?

На linux мало игр из-за того, что дистрибутивы не стандартизированы или сложно программировать? Или и то и другое?

Да начнётся срач великое противостояние!

Перемещено leave из linux-hardware

Что сложнее? - OpenGL/Vulkan или DirectX

Практически одно и тоже. Просто DirectX только под винду и коробоксы.

Правда что под опенгл сложнее найти мануалы чем под директ?

Не совсем так. Часто попадаются очень старые мануалы.

На linux мало игр из-за того, что дистрибутивы не стандартизированы или сложно программировать?

Он не так популярен.

ozzee
()

эскобар.жпг

anonymous
()

Легче под Linux, ИМХО.

Из перечисленного тобой Vulkan требует больше подготовки, из-за принципа работы, чем OpenGL. Как раз таки насчёт манов, доков, туториалов выигрывает GL, ИМХО.

a1batross ★★★★★
()

На linux мало игр из-за того, что дистрибутивы не стандартизированы или сложно программировать? Или и то и другое?

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

ya-betmen ★★★★★
()

Сложность OpenGL/Linux в том, что все разное, драйвера часто из палок и чего-то сделаны и т.д. и т.п.

Тоже относится и к Vulkan, который у разработчиков имеет приоритет под венду и ведроид, а линукс так в роли остаточного принципа.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)

Да сейчас уже никто не кодит на чистом opengl и т.п., особенно, если речь про инди игры. Все берут готовые движки типа Source, и покупают лицензию, а там уже своё API, и кодить игру не так сложно, сколько муторно всё организовать и создать интересный контент: локации, текстуры, оружее и т.п, чтобы это всё окупилось. Ибо затраты на разработку в плане набора грамотных разработчиков - очень и очень внушительны.

menangen ★★★★★
()
Ответ на: комментарий от ya-betmen

Уже ни то ни другое

Нет, и то, и другое. Единственное, про то, что ты сказал, справедливо только для инди игр, а иначе куча проблем...

fornlr ★★★★★
()
Ответ на: комментарий от Lavos

Просто у него ЦА гораздо больше. Но те же мегапопулярные Quake's были OGL-only и под выньду. И ничего, играли и ещё просили.

А потом DirectX развился, а OpenGL скатился. И игры стали делать DirectX-only.

EXL ★★★★★
()

сложно ли программировать под вышеперечисленные API и системы?

Если учиться с нуля — абсолютно одинаково. Опиши конкретную задачу, тогда можно будет дать конкретные рекомендации.

morse ★★★★★
()

Вброс какой то не слишком конкретный. Под директх и вулкан пока не пробовал, так что OpenGL/WebGL/OpenGL ES мне сравнивать не с чем.

umren ★★★★★
()
Ответ на: комментарий от fornlr

Сложность OpenGL/Linux в том, что все разное, драйвера часто из палок и чего-то сделаны и т.д. и т.п.

У винды абсолютно те же самые сложности. Массовое тестирование драйверов под виндой конечно улучшает ситуацию, но наличие кучи разных производителей и кучи адаптаций винды со своими проблемами нивелирует это преимущество. В итоге всё то же самое.

quiet_readonly ★★★★
()
Ответ на: комментарий от fornlr

что все разное, драйвера часто из палок и чего-то сделаны и т.д. и т.п.

Так на венде то же самое, амд и невидия тянут одеяло на себя, делая несовместимые расширения и технологии, вроде всяких гейворксов. Под линуксом как раз все лучше, просто юзербэйз меньше, потому многим разработчикам лень запариваться. Так-то под винду писать траха всяко больше, ибо там такие-то горы костылей и легаси, что никакому линуксу не снилось. Одна только фрагментация графических апи чего стоит: на венде графических апи от одних мс только минимум три: d3d10, d3d11, d3d12.

anonymous
()
Ответ на: комментарий от anonymous

на венде графических апи от одних мс только минимум три: d3d10, d3d11, d3d12

Да. Но так никто же не заставляет писать сразу для трех. Большинство щас разработчиков пишут под 11-ый и буй они пока ложили на не распространенный 12-ый или на старенький 10-ый. Ну а тем у кого железо или софт не подходит, тем просто средний палец показывают. И правильно делают.

Так что на фрагментацию не тянет.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от anonymous

С одной стороны могу согласиться - хоть с моим ноутом на венде прекрасно работает оптимус, но с недавних пор есть некоторые неудобства: в десятой венде интел забыл про графические дрова на мою карточку, как результат: всё тормозит на*, второе - это USB 3.0 (на официальном сайте ноута и интела так и не нашёл эти драйвера, хотя под 8-ку и 7-ку графические драйвера есть), из-за этого, когда мышь воткнута в юсб 3, в играх мышь периодически отваливается, третье - это броадкомовский Wi-Fi (вифи пользоваться можно, но нельзя создать локальную сеть на 8 и 10, на семёрке вай-фай нормально пашет).

В линухе-же: работает USB 3.0 из коробки, прекрасный по производительности драйвер на карту интел, относительно рабочий Broadcom (либо не умею пользоваться, но на мой взгляд сей адаптер ви-фи полное говно даже под вендой), и кстати говоря мне понравилось, что можно принудительно заставить работать карточку Nvidia с 15-20-летними играми, типа CS 1.6 (в венде с запуском старых игр на невидии приходилось делать танцы с бубнами, в драйвере возможность выбора видеокарты для старейших игр была заблокирована)

NetBurst
() автор топика
Ответ на: комментарий от quiet_readonly

кучи разных производителей

Двух.

кучи адаптаций винды

XP дропнули, осталось только две группы: 7+ и 10+.

anonymous
()
Ответ на: комментарий от NetBurst

На ru-board есть описание ключа реестра, который переключаешь, и Windows Update выдаёт обновления для банкоматов. Я ими и пользуюсь. Ничего не глючит.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от fornlr

Но так никто же не заставляет писать сразу для трех

Ну так и под линуксом никто не заставляет тестировать под что-то отличное от шляпы/суси/убунты.

Большинство щас разработчиков пишут под 11-ый

А небольшое время назад нужно было писать под 9 и 10 разом. Сейчас уже нужно писать под 12 и вулкан, ибо нужна производительность.

Так что на фрагментацию не тянет.

Ну тебе с дивана виднее. Про страшную фрагментацию линукса расскажешь хоть чего?

anonymous
()
Ответ на: комментарий от ZenitharChampion

для банкоматов

Отрепотил взломщика в роскомнасос.

anonymous
()
Ответ на: комментарий от anonymous

Нет никакой фрагментации. Под шляпу собираешь - везде работает. В случае с играми есть Steam Runtime, что гарантирует запускаемость любой игры в любом линуксе

ZenitharChampion ★★★★★
()
Ответ на: комментарий от fornlr

Ты уж определились..

Для тупых понифагов перевожу:

фрагментация много больше и шире, но массовость несколько нивелирует эту проблему, и в целом по трудоемкости получается как на гнулинукс, где фрагментация много ниже (два вендора карт, и все идет к унификации через libglvnd, два взаимодополняющих апи — опенгл + вулкан, вместо шести и.т.д.)

anonymous
()
Ответ на: комментарий от ZenitharChampion

Нет никакой фрагментации. Под шляпу собираешь - везде работает. В случае с играми есть Steam Runtime, что гарантирует запускаемость любой игры в любом линуксе

Да, приверно так все и обстоит. Ну никто не мешает, конечно, пилить дистроспецифичные фичи, но зачем?

anonymous
()
Ответ на: комментарий от anonymous

Ну так и под линуксом никто не заставляет тестировать под что-то отличное от шляпы/суси/убунты

Ну так большинство разработчиков справедливо пишут (Ubuntu и Steam OS), остальным показывают средний палец - и это правильно.

Ну тебе с дивана виднее. Про страшную фрагментацию линукса расскажешь хоть чего?

Ну это очень много рассказывать. Даже в той же Ubuntu пару LTS версий (текущая и предыдущая) имеет около десятка разновидностей по HWE. Причем разработчик в отличии от венды не может посоветовать «поставь последний драйвер с сайта», можно ткнуть на что-то типа https://launchpad.net/~graphics-drivers/ archive/ubuntu/ppa. А там регрессии с бобами-блобами, у пользователя трах-бабах отвалится что-то типа гибернации ещё чего-то... А разработчику игр, то что делать?

fornlr ★★★★★
()
Ответ на: комментарий от anonymous

все идет к унификации через libglvnd, два взаимодополняющих апи — опенгл + вулкан, вместо шести и.т.д

Ну так мы про текущую стуацию

Для тупых понифагов перевожу:

Во, бомбануло от правды :)

fornlr ★★★★★
()
Ответ на: комментарий от fornlr

по HWE

При чем тут разработка ПО? Покажи мне конкретные примепы.

трах-бабах отвалится что-то типа гибернации ещё чего-то

поставь последний драйвер с сайта

Зачем? Меса будет больше расширений поддерживать? Невидиевский драйвер вдруг научится в другую версию огл?

«поставь последний драйвер с сайта»

Это совет в духе переустановите виндовз, тип я не знаю, почему не работает, отстань от меня.

В случае стимрантайм там регламентирована версия libgl, никаких новых версий дров не нужно.

anonymous
()
Ответ на: комментарий от ZenitharChampion

glvnd это два OpenGL

Да, я о том и говорил. Точнее наоборот, это один универсальный огл для разных дров, разве нет?

anonymous
()
Ответ на: комментарий от anonymous

Нет. Им могла бы стать Mesa, но проприетарщики не хотят.

Libglvnd это прокси, распределяющий общий OpenGL-контент по двум направлениям. Для гибридных видеокарт Intel+NVIDIA или Intel+AMD.

Сейчас немного не так. Или позволяют выбрать один чип (причём не динамически, а с перезапуском иксов), или Bumblebee.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от fornlr

Во, бомбануло от правды :)

От тупости твоей и жаргонизмов.

anonymous
()
Ответ на: комментарий от fornlr

Даже в той же Ubuntu пару LTS версий (текущая и предыдущая) имеет около десятка разновидностей по HWE.

Ну так кто виноват, что убунтята не могут в ос? Вон у шляпы одна версия, семерочка, например, все железо поддерживает. Как и суся. Потому и нет убунты в сериос бизнесе — поделка от маркетолухов.

anonymous
()
Ответ на: комментарий от anonymous

с дивана виднее

Вот то то и оно. Поэтому я могу сказать Valve, Feral Interactive, 4A Games... спасибо, что не смотря на кучу сложностей, они вот смогли сделать много чего, да и пускай зачастую их творчество кривовато и уступает вендовой версии, но всё же.

В фанатика, который кукарекает, как всё замечательно с геймдевом и на том же уровне как на венде, но вот враги возможно какие-то виноваты, я могу только плюнуть.

fornlr ★★★★★
()
Ответ на: комментарий от fornlr

В фанатика, который кукарекает, как всё замечательно с геймдевом и на том же уровне как на венде, но вот враги возможно какие-то виноваты, я могу только плюнуть.

Где я сказал про ``всё замечательно с геймдевом и на том же уровне, что в венде"? Ну-ка пруф давай.

Valve, Feral Interactive, 4A Games... спасибо, что не смотря на кучу сложностей

Ты забыл про кучу сложностьей и страшную фрагментацию упомянуть, балабол. Там, где фераловская игра на линуксе работает под опенгл, на маке требует опенгл+опенцл, и часть опенгл расширений накостылена под мак руками. В тех же играх на винду так вообще по два-три рендера на разных апи.

Короче, с тобой как всегда: куча балабольства, ноль конкретики и аргументов, только хамоватый и безапелляционный гонор.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.