.NET Fest: полная программа конференции на сайте. Присоединяйся к самому большому .NET ивенту
×Закрыть

iOS 12 OpenGL is deprecated. Metal

„Apps built using OpenGL ES will continue to run in iOS 12, but Open GL ES is deprecated in iOS 12. Games and graphics-intensive apps that previously used OpenGL ES should now adopt Metal.”

Happy coding!

Хипстеры счастливы. У меня все.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Да и хрен с ним

и на macOS 10.14 тоже, вот так и все ломанулись дотуAutoCAD на митол переписывать

Что это значит для Стим-а в первую очередь?

OpenGL ES умер везде два года назад. Касательно Apple — забудь про Metal — github.com/KhronosGroup/MoltenVK . Apple в этот раз лажанулась сильно, против них пошли довольно сильные игроки на рынке, которые объявили, что будут поддерживать только Vulkan, сколько бы Apple не рассказывала, что Metal лучше. Достаточно парочки архитектурных изменений в GPU, и Apple просто зашьётся поддерживать Metal.

Верно, однако GPU это уже устаревшее название. Graphic Processing Unit начало делиться на разные области 3D, CUDA, AI, ASIC, и т.п. То есть это уже на совсем Graphics, а как CPU общего назначения, только math only. И будет делиться и сегментироваться дальше из-за оптимизаций и корпоративных войн как по то софту, так и по железу, поскольку раньше на GPU так не зарабатывали. Apple заставит всех пересесть на Metal, поскольку дальше туда добавятся все ядра и фреймворки на это заточенные, чтобы прибить к платформе. Десятилетние планы, им это не впервой. Metal был представлен на WWDC 2014, когда стало ясно, что конец OpenGL. Прошло всего 4 года и deprecated.

Graphic Processing Unit начало делиться на разные области 3D, CUDA, AI, ASIC, и т.п.

Нет никакого деления.

Есть. Делаю как раз декомпилятор для GPU AI, много узнал интересного.

Wat? Декомпилятор чего?

А может чел с 4-й планеты Альфы Центавра?

оптимизированного гпу асма ии в оригинальный си, хоть одно слово знакомо кроме «в» и «оригинальный»? вот на чем зарабатывается уже — чуть быстрее и интелдектуальнее

Gpu какой?

Ну и что в нём специфического для AI? Ничего.

Дело не в AI, AI это обычный алгоритм. Проблема в инструментах CUDA. Страшно глючной софт заточенный под m$, где все сделано для усложнения жизни и прибивания гвоздями к платформе. 2018 год кстати, для CPU полно инструментов, а в GPU 90-е, все поделено и убиваются любые проекты не в угоде вендорам. Единство было в OpenGL, и то DX тянул все на себя. Потому общий стандарт будут ломать и сегментировать. Vulkan или Metal не важно, аппаратная архитектура сильно специфична из-за экономии наносекунд, потому далее будет все разъединяться. Есть конечно OpenCL, где все более-менее грамотно, но nVidia его зарубит.

Также эпплу ничего не стоит забанить MoltenVK, как они банили флэш. По бинарным сигнатурам. Если они целые легальные полезные приложения выкидывают ради корпоративных интересов.

А кто заявил, если не секрет, кроме Khronos?
Для мелкого разработчика (а это основная масса) миграция на Metal куда проще чем на Vulkan, имхо.

За MoltenVK стоит не много, не мало, а целая nVidia.

Сам по себе апи метала заметно проще для понимания.
Треугольник на экран можно вывести буквально в 50 строчек. Детский лепет, по сравнению с вулканом. :)

Glide это делал в максимум 10)

Достаточно парочки архитектурных изменений в GPU, и Apple просто зашьётся поддерживать Metal.

У ябла нет зоопарка железа, чтобы это было проблемой

Они вечно не будут сидеть на старом железе. Я же не открою секрет, если скаду, что железо затачивается под API, включая тот же SPIR-V, Metal — не один из этих API, включая козий шейдерный язык. Просто в один прекрасный момент Apple больше не смогут тянуть лямку.

Насколько я понял, MoltenVK так или иначе биндит Metal. В чем профит? Писать на более сложном апи(Vulkan) чтобы работать, по факту, с тем же Metal?
Нет, я понимаю, что может быть единая кодбаза с другими платформами, но пока наступит тот день, когда андроид девайсы начнут поголовно поддерживать Vulkan, то MoltenVK уже состарится и может оказаться заброшенным, потому что 40% андроидов до сих пор на GL ES 2.0.
Может я чего-то не вижу, но для рядового разработчика куда проще поддерживать Metal, чем Vulkan... Во всяком случае если речь идет о телефонах. Так что Metal еще будет долго жить, имхо.

только эти 40% и не собираются играть на своих устройствах. в большей части это бюджетники с мали 400\450, они тут погоды не делают.

Ну графическое ускорение не только в играх нужно.
А если и говорить за игры, то как много их выходит на вулкане? Все большие игроки делают их на D3D. На GL их меньше значительно. На вулкане и подавно, их почти нет.
Кроме того, то поле оптимизаций, которое дает вулкан абсолютно не нужно маленьким играм, оно нужно только для ААА уровня (а там D3D в 90% случаев).
Отсюда вопрос, кому нужна единая кодовая база на вулкане? Мелкие игроки будут дальше использовать GL\Metal, потому что оно намного проще, а крупные будут продолжать делать игры на D3D, потому что игрвая платформа — это винда. На консолях свой апи и там и так все работает. Зачем переписывать in house движки? Вулкан, конечно, будут использовать, но не так массово (во всяком случае, когда речь идет о играх на ближайшие годы).

На консолях свой апи и там и так все работает

Sony и Nintendo уже давно заявили про поддержку вулкана.

ачем переписывать in house движки?

Рендер — это далеко не движок, а его малая часть.

Вулкан, конечно, будут использовать, но не так массово (во всяком случае, когда речь идет о играх на ближайшие годы).

Да уже массово используют.

Sony и Nintendo уже давно заявили про поддержку вулкана.

Ну да, давно. Но я пока не слышал про игры на вулкане на консолях.

Рендер — это далеко не движок, а его малая часть.

Однако это существенная часть, от которой много чего зависит.

Да уже массово используют.

Не уверен, вики говорит про 13 вышедших игр и еще столько же невышедших — это ничтожно малое количество по сравнению с D3D, который еще долго останется основным апи для ААА.

Я просто не вижу причины уходить с D3D12 на Vulkan под виндой, кроме хайпа. Под консолями и так все работает. А даже если завезут на консоли вулкан — отлично, значит начнут, возможно, юзать вулкан на консолях. Но на кой черт мелкому разработчику вулкан? Мелкий разработчик скорее потеряет в производительности на вулкане, а не выиграет, потому что это сложно и требует хороших знаний.

это ничтожно малое количество по сравнению с D3D, который еще долго останется основным апи для ААА.

Это начало. Они подвели к тому, что разницы между D3D 12 и последним вулканом нет, но используя вулкан — ты делаешь кроссплатформенную вещь сразу.

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

Будет ли Жесть долго зависит от Эппла, иногда они делали откат. Wine долго живет не просто так и поддержка Ubuntu в Win 10, а Андроид на Linux чистая заслуга линксоидов, дожали маркетологов.

Писать на более сложном апи(Vulkan) чтобы работать, по факту, с тем же Metal?

Как раз метал более сложен, потому что он неестественнен.

Может я чего-то не вижу, но для рядового разработчика куда проще поддерживать Metal, чем Vulkan... Во всяком случае если речь идет о телефонах. Так что Metal еще будет долго жить, имхо.

Не будет он жить долго, его ждёт судьба OpenGL, ибо он повторяет все те же ошибки. С выходом нового железа — у них будет выбор — либо эмулировать старое железо через их API, либо инкрементировать версии метала и увеличивать несовместимость с предыдущими версиями.

Не будет он жить долго

А долго — это сколько? Я уверен, что еще лет 5 минимум Apple будут топить за метал. Что будет дальше предсказывать не могу ) И MoltenVK — не убийца метала, потому что работает поверх метала, а потому Apple на это положить и они будут развивать метал.

его ждёт судьба OpenGL, ибо он повторяет все те же ошибки

GL, конечно, по кривой дорожке всегда шел, но он живее живых и продолжает развиваться, год назад вышла новая версия. Он никуда не делся и не денется еще многие годы. Слишком много всего на нем сделано. А Apple — это капля в море. Какая у них доля рынка от всех девайсов с GL?

А долго — это сколько?

А хз, вот сейчас GPU начали меняться и использовать свои внутренние шедулеры для распределения нагрузок, программер теперь задаёт не очередь выполнения, а список на выполнение с приоритетами, а GPU это учитывает, чтобы минимизировать простои. Метал 2 уже это не умеет, вулкан умеет. Будет просто точка, когда Метал начнёт проигрывать вулкану сначала на 10%, потом 20% и т.д.

GL, конечно, по кривой дорожке всегда шел, но он живее живых и продолжает развиваться, год назад вышла новая версия.

Сейчас — это не развитие, а миграция на вулкан, плавная.

Он никуда не делся и не денется еще многие годы. Слишком много всего на нем сделано.

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

Майк, а почему язык-то козий?

Ну вот зачем в шейдерах С++14?

А почему нет?

Зачем он там? %)

Классы/объекты например. Возможно темплейты.

Мы же говорим о C++14-based, а не просто о C++14, правда? Ну а 14й стандарт просто был крайним на тот момент (2015й), глупо брать C++98

Классы/объекты например.

В шейдерах? о_О

Там векторы и матрицы

Которые на 99% обрабатываются специфичными по сути ассемблерными операторами. И всё равно вопрос — зачем там реально ООП?

Вот и я о том же, удобства приносит в районе нуля, а компилятору и оптимизатору лишняя работа, т.к. отстоит теперь дальше от железа.

Ну и меня от таких строк, которые на экран не помещаются немного плющит:

constexpr sampler quadSampler(min_filter::linear, mag_filter::linear, mip_filter::linear, s_address::clamp_to_edge, t_address::clamp_to_edge, r_address::clamp_to_edge);

OpenCL/CUDA слышали? Пишите на сях и оборачивайте в классы. Ничем от стандартного программирования не отличается. Это по-сути те же шейдеры, только с правильным API. Все давно придумано за вас)

  • Джон, яку мову нам обрати для шейдерів?
  • Не знаю, Білл. Нещодавно вийшла нова спека по C++14, мені хотілося б спробувати її на якомусь проекті...
  • О! Мені також!

О. Опять «эксперт» глупости говорит.

1. Apple сами делают свои GPU (для мобильных устройств). Они знают какие изменения будут ближайшие 5+ лет. macOS им особо не важен, но и там у них горизонт планирования большой.
2. Vulcan мертв, особенно для игр. Windows — DirectX, приставки все со своими API, iOS/macOS — Metal. Vulcan, по сути, platform-specific для Android и Linux. Я не знаю насколько он на Android распространён, с OpenGL, слышал, было весело — баги в драйверах, разные версии и т.д.

1. Apple сами делают свои GPU (для мобильных устройств).

Женя, эсперт ты наш, иди кому-то другому лапшу вешай, свой GPU у них только в новейшем A11, всё остальное — imgtech.

macOS им особо не важен, но и там у них горизонт планирования большой.

Маководы стали дружно в очередь за эвтаназией после этих слов.

Подписаться на комментарии