Из презентации Apple
Компания Apple обновила документацию для разработчиков. Раздел «Что нового?» посвящён ключевым изменениям в macOS 10.14: это тёмная цветовая схема Dark Mode, новая технология Create ML для создания и обучения нейросетей на Mac, обновлённый Mac App Store с новыми программными интерфейсами для рейтингов и обзоров (под macOS 10.14 SDK), новый сетевой фреймворк Network Framework, предоставляющий прямой доступ к сетевым протоколам TLS, TCP и UDP из приложений, фреймворк Natural Language для анализа естественной речи и вычленения из неё метаданных, специфических для конкретного языка (фреймворк можно использовать совместно с Create ML при обучении нейросетей).
Но самое интересное спрятано в подвале, а именно в разделе «Устаревшие и удалённые API» (Deprecations and Removed APIs). Там упоминается об отказе от «устаревших» технологий OpenGL и OpenCL. Этим технологиям вручается «чёрная метка», то есть Apple настоятельно не рекомендует использовать OpenGL и OpenCL в разработке новых продуктов.
«Периодически Apple добавляет макросы устаревания в API, чтобы указать, что эти API не должны больше использоваться в активной разработке, — сказано в документации. — Когда происходит устаревание, это не означает немедленного окончания жизни указанных программных интерфейсов. Это означает начало переходного (grace) периода для перехода от этих API к более новой и современной альтернативе, которая приходит на замену».
Apple отмечает, что устаревшие API обычно остаются в системе и могут использоваться в течение «разумного времени» после релиза, когда их объявили устаревшими. Однако активная разработка на них прекращается, и API получают только незначительные обновления безопасности или других критических ошибок. Разработчиков предупреждают, что устаревшие API могут быть полностью удалены из будущей версии операционной системы.
Apple рекомендует как можно скорее избавиться от устаревших API в своём коде. Как минимум, новый код ни в коему случае не должен использовать OpenGL и OpenCL. И если эти интерфейсы использует какой-то старый код, то его нужно заменить максимально быстро.
Альтернатива: Metal
Приложения, созданные с использованием OpenGL и OpenCL, будут продолжать работать в macOS 10.14, но это уже устаревшие технологии. «Игры и графические приложения, использующие OpenGL, теперь должны использовать Metal. Точно так же приложения, использующие OpenCL для вычислительных задач, теперь должны использовать Metal и Metal Performance Shaders».
Metal — разработанные с нуля новые программные интерфейсы, лишённые обратной совместимости. По заявлению Apple, они обеспечивают лучший доступ к современным графическим процессорам на iOS, macOS, а также устройствам tvOS: «Metal позволяет избежать накладных расходов, присущих устаревшим технологиям и представляет новейшие функции обработки графики. Единая поддержка графики и вычислений в Metal позволяет приложениям эффективно использовать новейшие технологии визуализации. Сведения о разработке приложений и игр с использованием Metal см. в документации для разработчиков по Metal, Metal Performance Shaders и MetalKit».
Информация о миграции кода OpenGL на Metal опубликована в статье Mixing Metal and OpenGL Rendering in a View.
Разработчики на Hacker News скептически оценивают действия Apple. В целом консенсус такой: эта компания или действительно ненавидит компьютерные игры, или жестоко страдает от синдрома неприятия чужой разработки (NIH-синдром). Это позиция в социальной, корпоративной или организационной культурах, при которой избегается использование сторонних разработок по разным причинам: страх перед нарушением патентного права, непонимание чужой работы, нежелание признать или оценить труд других, ревность или как часть более широкой «войны за территорию». Якобы технология Metal подтверждает наличие NIH-синдрома.
Комментаторы также напоминают, что из-за безалаберной поддержки OpenGL недавно пришлось закрыть проект Elite Dangerous под Mac.
С другой стороны, сегодня большинство игр создаётся на Unity3D, Unreal Engine и других движках, которые поддерживают Metal. Ну а кто вложил время и деньги в разработку под OpenGL/OpenCL — тот сам виноват.
Комментарии (117)
BubaVV
05.06.2018 17:52+8Что-то мне кажется, что раньше Эппл тоже упорно пилил свои собственные стандарты, но по итогу депрекейтил их и переходил на общедоступные
infrapro
05.06.2018 17:53+3Molten тем временем тихонько радуется и напоминает про реализацию OpenGL ES 2.0 поверх Metal
Gorthauer87
05.06.2018 18:43+1Есть еще MoltenVK, видимо будет теперь еще и MoltenOpenCL, если конечно OpenCL к тому времени не вольют в Vulkan.
Хотя в целом мотивы ябла понятны: нормально сделать OpenGL и OpenCL они не смогли.infrapro
05.06.2018 18:51Более того, MoltenVK вообще стал опенсорсным. Так что теперь есть возможность работать только с одним апи (Vulkan) на всех платформах
justaguest
06.06.2018 10:45Более того: MoltenVK уже используется как минимум в Dota 2. Phoronix, в связи с новостью, тестируют Vulkan vs MoltenVK.
AngReload
06.06.2018 17:01По ссылке: Article Not Available. :(
justaguest
06.06.2018 17:13Оу, и правда. Это какой-то хабровский глюк, т.к. я совершенно точно не заменял амперсанды на «amp». Вот голая ссылка: www.phoronix.com/scan.php?page=article&item=dota2-mac-vulkan&num=1
x67
06.06.2018 01:15Или не хотели, пытаясь намекнуть, что открытые "чужие" стандарты — плохо, а свои — хорошо
vesper-bot
05.06.2018 17:53+9С другой стороны, сегодня большинство игр создаётся на Unity3D, Unreal Engine и других движках, которые поддерживают Metal.
Вот это на реддите опровергли, по крайней мере в части движков. Поддержка Metal ИМХО будет накладной для разработчиков, вплоть до реального невыхода некоторых ААА-игр на макоси. А ещё мне вот это понравилось:
ключевым изменениям в macOS 10.14
тёмная цветовая схема Dark ModeЧтобы включить цветовую схему в ключевые изменения — это надо очень не любить новую версию.
vaslobas
05.06.2018 19:52+7А как насчет такой эпохальной фичи, которой даже уделали внимание на WWDC?
«Инструмент для создания скриншотов научился записывать видео. Причем не обязательно сразу со всего экрана — как и со статическими скринами, можно выделить область, которую нужно записывать.»
Встроенный квиктайм умел это уже лет 5 это делать.
aobondar
05.06.2018 23:08+1Чтобы включить цветовую схему в ключевые изменения — это надо очень не любить новую версию.
Ну к слову, вы язвите напрасно — для клиентов то фича конечно не сказать что радикальная, но вот разарботчикам то нужно будет добавлять поддержку dark-mode в своих приложениях. И с этой точки зрения фича очень крупная: де-факто затрагивает работу каждого приложения из апстора.maxzhurkin
06.06.2018 20:30Теперь помимо тех приложений, в которых что-нибудь не видно в новой схеме, со временем появятся такие, в которых, чего-нибудь не видно в старой
Vizavi
06.06.2018 15:31вплоть до реального невыхода некоторых ААА-игр на макоси
Эм, а разве мак когда-то всерьез розсматривался (и разрабам и покупателями) как платформа для игр ААА уровня?
Он всегда ограничивался всякими Candy Crush и крайне редкими портами с PC.awesomer
06.06.2018 15:54Эм, а разве мак когда-то всерьез розсматривался (и разрабам и покупателями) как платформа для игр ААА уровня?
Он всегда ограничивался всякими Candy Crush и крайне редкими портами с PC.
Старкрафт или Лига Легенд — не ААА???Losted
06.06.2018 17:53капля ж в море. Это как на примере доты говорить, что линукс — игровая платформа
Sergey99999
05.06.2018 18:07Так а чего про Vulkan ничего не сказали. Для инди игр очень накладно будет писать на нескольких апи одновременно
AllexIn
05.06.2018 19:01Если инди игра использует активно шейдеры, то накладно.
А написать универсальную надстройку над GAPI, которая будет скрывать конкретную реализаицю — не накладно.
Всю жизнь так делали со времен DX8 vs OGL
pda0
05.06.2018 18:36+16В Apple забыли, что чтобы навязывать свой DirectX надо быть Microsoft и их долей рынка.
yarric
05.06.2018 19:15Ну учитывая, что гейминг всё больше переползает с PC на мобильные платформы...
ultrinfaern
05.06.2018 20:01+5Тогда нужно быть Android, ом чтобы навязывать стандарты — 80% мобилок и планшетов это китайский андроид. :)
yarric
05.06.2018 20:13-3Какой процент из тех китайских мобилок и планшетов потянет современные игры, для которых нужен 3D-движок?
ad1Dima
06.06.2018 11:39+1Спешу вас расстроить, но мобильное железо и современные 3d-движки сейчас находятся в том состоянии, что многие пишут мобильные 2d игры на 3d движках, потому что так проще.
YemSalat
08.06.2018 10:47Скорее нe потому что так проще, а потому что нет сопоставимых по возможностям нормальных «чисто 2Д» движков
GeekberryFinn
08.06.2018 11:09Потому что сделать 3D-модель в условно мультяшном стиле и анимировать её — заметно дешевле и быстрее, чем создавать в ручную по кадрам десятки спрайтов 2D-анимации.
Alexsandr_SE
06.06.2018 13:17Смотря что считать современным. Но в целом на удивление даже бюджетники тянут нормально игры.
vaslobas
05.06.2018 20:14Аппстор пока царь горы по деньгам, судя по отчетам. А где деньги там и издатели.
Google Play generated $3.3 billion in revenue in Q4 2016 while the App Store managed to generate $5.4 billion, which makes it the best marketplace to make money with apps
lolhunter
06.06.2018 15:45Только вот забыли, слегка, остальные сторы под андройд.
Например, весь китай сидит на альтернативных сторах, а не в Google play.
Нашлась статейка:
habr.com/company/mobihunter/blog/383035
shifttstas
05.06.2018 23:24+1И сколько-сколько ARPU в AppStore и Play Market? :)
Areso
06.06.2018 09:50Один черт приличных игр нет что там, что там. Либо клоны, либо порты, ну и инди попадаются толковые время от времени. Несмотря на миллиарды устройств, нормальные игры делать на мобильные платформы никто не спешит.
А покупать отдельное устройство по цене хорошего смартфона, а потом еще игры по цене бюджетного смартфона, как-то дорого как по мне. Я лучше на нетбуке поиграю.awesomer
06.06.2018 10:04А покупать отдельное устройство по цене хорошего смартфона, а потом еще игры по цене бюджетного смартфона, как-то дорого как по мне
И то и то — дешевле.
Игр ценой в цену бюджетного смартфона — раз два и обчелся. Большинство дешевле.
Консольки хороши и старых поколений. Ну себе любимому я бы не взял прежнее поколение. Но мелким дитятям взял за 8000 древнюю PS3. И они вполне довольны.Areso
06.06.2018 10:20Писал не про взрослые консоли, я про мобильные, причем про актуальное поколение.
Switch стоит 20к, Зельда к нему 4.5к.
Альтернатива:
Нетбук за 16к и библиотека игр (уже купленных)+новые от 100 рублей и выше (и нет, дискаунт за регион не притянуть, т.к. я и DRM-free беру игры по 1 доллару за штуку или даже за пучок по курсу ЦБ).awesomer
06.06.2018 11:26я про мобильные, причем про актуальное поколение.
Switch стоит 20к, Зельда к нему 4.5к.
Альтернатива: нетбук
Это весьма ограниченная альтернатива.
Цена мобильных консолек вполне понятна — все же совсем другое по возможностям устройство, не десктопный игровой комп и не ТВ-консоль.
Согласен, что в наше время, когда консоли конкурируют с смартфонами — нужно было бы постараться их сделать подешевле, чтобы рубить бабло на играх
darthslider
06.06.2018 14:03После какой-нибудь ps vita играть на мобилках во что-то кроме головоломок абсолютно не хочется.
awesomer
06.06.2018 14:28После какой-нибудь ps vita играть на мобилках во что-то кроме головоломок абсолютно не хочется.
Ага.
При том что Вита выпущена уже довольно давно по меркам смартфонного рынка.
Да и стоит сейчас на вторичке — копейки.
P.S.:
По моему ее сливают только те, кто привык к смартфонному рынку игр — где как бы платить ничего не нужно, зато можно регулярно скачивать кучу говноигр, пробовать, сносить, ставить заново.
На Вите полностью бесплатного мало. Вот люди разочаровываются и сливают.
Я купил племянникам. Поставил десяток нормальных игр (да, потратив на это наверное 7000 рублей чисто на игры).
И Андроид они забросили после этого.
cyberzx23
05.06.2018 22:34+5К сожалению, на мобилках так и не появилось настоящего гейминга. Всё что там есть, это приложения мимикрирующие под игры, созданные с единственной целью вытягивания денег из пользователя. Есть несколько исключений, но рынка они не делают. И ситуация вряд ли будет лучше, слишком уж невыгодно делать там настоящие игры.
x67
06.06.2018 01:20Абсолютно согласен. Не представляю людей, кто во все это умудряется играть с удовольствием.
Игры хорошие конечно есть. Но это не так, что ты зашел в магазин и тебе и в то и в другое хочется, а времени мало, наоборот, приходится искать стоящее среди хлама. Некоторые жанры совсем вымерлиawesomer
06.06.2018 09:43Недавно озадачился приобретением игр на консоль игровую полноценную.
Тоже приходится перебирать горы шлака.
Полагаю, что на консолях ситуация получше.
Просто страшно тогда что твориться на мобилах.
evilrussian
06.06.2018 10:52Я вот люблю очень игру «Космические рейнджеры». И много лет хочется, чтобы был порт с ПК на Android/IOS. Кроме полетов в гипере остальное было бы удобно играть с тач экраном. Но вместо порта с PC, то бишь полноценной игры, 1С выпустила сделанную с нуля F2P поделку с донатом, которая, к слову, не вызывает сильного отвращения, но и симпатии тоже. Играть в неё желания нет.
SargeT
08.06.2018 07:23Да уж. Даже Fishlabs вместо продолжения своей легендарной серии Galaxy on Fire, ведущей историю ещё с кнопочных ява-фонов, скатились в донатную казуальщину. А сейчас вообще есть эти самые исключения? Я просто не в курсе мобильного гейминга. Интересуюсь, потому что мой телефон – винфон, и единственное, во что играю – цивилизацию hot seat с подругой, но рано или поздно придётся переходить на андроид.
quwy
06.06.2018 01:27Играть на мобилке во что-то сложнее злых птичек — пытка. Из реально требующих 3D-ускорителя игр разве что гонки более-мене популярны, благодаря акселерометру. Но даже гонок в метро на экранах у народа не особо-то и видно, сплошные вариации на тему «шариков» да «пятнашек», которым трехмерность до лампочки.
А волну велосипедных API от каждого второго производителя видеочипов мы уже проходили в конце девяностых и начале нулевых. Кто сегодня вспомнит все эти Glide, MSI, SGL, и, внезапно, Metal (только другой)?icetinte
06.06.2018 07:37Количество установок PUBG Mobile в Google Play — 50 миллионов
AlexPancho
06.06.2018 08:43Колличество установок 2048 — больше 50 миллионов. А Всяких шариков-линий — так вообще не счесть. Субъективно я гораздо чаще вижу шарики-плиточки-пузыри на мобилках, чем 3Д
IsyanovDV
06.06.2018 09:28Вот только подавляющее большинство установок мобильной PUBG — это эмуляторы. Я сам иногда гоняю в PUBG Mobile через эмулятор, играть в него на смарте через экранное управление — это высшая степень мазохизма. В танках сейчас примерно такая же история, куча народа играет в танки не на смартах а на Win 10 или эмуляторе.
awesomer
06.06.2018 09:44Вот только подавляющее большинство установок мобильной PUBG — это эмуляторы
А вот это навряд ли.
Чтобы воспользоваться эмулятором — нужно определенную квалификацию иметь.IsyanovDV
06.06.2018 09:56Чего врядли? Всего то надо скачать преднастроенный эмулятор, даже все клавиши прописаны. Дошло до того, что издатель выпустил официальный эмулятор Tercent Gaming Buddy чтобы играли на нем и можно было спаривать эмулятор с эмулятором, ибо управление со смарта ущербно, и эмуляторщики с мышками выносят «смартфонистов» как котят, одно это говорит за ущербность стрелялок на смарте.
awesomer
06.06.2018 10:07Чего врядли? Всего то надо скачать преднастроенный эмулятор, даже все клавиши прописаны.
Для начала нужно вообще узнать такое слово и зачем это нужно.
Вы переоценивайте средний уровень геймеров.
Не спорю, что как и везде, есть толковые головы. Но их явно не большинство. Как и везде.
Вот только подавляющее большинство установок мобильной PUBG
Подавляющее?
vaslobas
06.06.2018 12:31Никто никого не выносит. Pubg детектит использование эмулятора и организует им свой отдельный загон, где они сражаются друг с другом.
Если бы в PUbg mobile играли поголовно эмуляторщики в одних играх с телефонами, то я бы это ощутил и конечно же не выигрывал бы матчи.
DenSeaCaT
06.06.2018 10:01геймеры, целенаправленно идущие в пубг в эмулятор умеют, я думаю.
А на слабых устрйоствах кнопка установить даже не появится.
ffs
06.06.2018 15:18>Чтобы воспользоваться эмулятором — нужно определенную квалификацию иметь.
Нет, не нужно. Tencent сами выпустили официально приложение-эмулятор, работает на уровне скачал — запустил. syzs.qq.com/en
vaslobas
06.06.2018 12:30Я играю в Pubg на телефоне с друзьями, которые тоже играют на телефоне/планшете. Мой племянник играет в pubg на мобиле прямо на парах со своими одногруппниками.
Pubg сделан удивительно хорошо, что удобно играть на телефоне. Сам бы никогда не поверил, что будет удобно играть в шутер на телефоне.GeekberryFinn
06.06.2018 13:34И как им управляют?! O_O
vaslobas
06.06.2018 13:36Проще на ютьюбе посмотреть, чем словесно объяснять. Но после 1-2 матча уже полностью привыкаешь и нет дискомфорта от управления.
Но у меня лопаты телефоны, если что. Один 5.5 дюймов, другой 5.9. Но друзья играют и на шестых айфонах и им тоже норм.Frankenstine
06.06.2018 13:51после 1-2 матча уже полностью привыкаешь и нет дискомфорта от управления.
Чо, можно отстреливаться прицельно из дробовика, стрейфясь влево и подпрыгивая? :)vaslobas
06.06.2018 13:54Ага, можно, но только без прыжков.
Прицеливаюсь, стрелочками стрейфюсь, а акселометром вожу прицел (включается в настройках).
Играть на телефоне удобно, сам не ожидал. Естественно, что против мышки и клавиатуры выиграть нельзя (тут никто не спорит), но они играют отдельно.
pOmelchenko
05.06.2018 18:49-18Складывается впечатление, что графические API нужны только лишь для игор
имхокоторым, имхо, место на консоляхVioletGiraffe
05.06.2018 22:23+1Играм место там, где пользователи хотят в них играть и покупать. То есть, в принципе, везде, от программируемых калькуляторов до всех сколь-нибудь популярных ОС.
pOmelchenko
05.06.2018 22:41То есть все зацепились за «имхо» скрытое под спойлер? Ага, понятно.
А по сабжу?! Компания разработал свои железки, со своими процессорами (планшеты, смартфоны, тв), написала для «всего этого зоопарка» свою ОС. Топит за оптимизацию, ведь именно за это и хвалили их всю их жизнь. Теперь эта компания выставляет требования к работе с графикой, указывая на свой API и тут народ начинает грустить с переходом в негатив. Ясно-понятно, что один общий инструмент это всегда круто. Но все же работают ради бабла. И это у всех! MS — свое, Sony — свое (согласно каменту ниже), а Apple – фууууу OpenGL «депрекейтнули».
Рано или поздно это должно было случиться.VioletGiraffe
05.06.2018 23:24+2Лично я ни за что не цеплялся, и могу только ответить, что OpenGL у всех остальных почему-то нормально работает, и стал стандартом де-факто кросс-платформенного программирования графики.
mistergonza
05.06.2018 21:31Думаю пару версий еще повисит как deprecated, есть время.
P.S. StarCraft 2 кстати с использованием Metal гораздо лучше работает, чем с OpenGL.Celtis
06.06.2018 08:37Ну, Carbon в состоянии «deprecated» находится еще со времен 10.4.
С каждым обновлением его обещают убить, но ничего, жив курилка.batyrmastyr
06.06.2018 15:17Видимо убьют вместе с 32-битными программами, раз уж их и на макоси объявили устаревшими.
JavaFox
05.06.2018 21:53+1имхо можете меня заминусовать, но OpenGL проиграл и уже давно. Где-то в узких кругах, вроде бы в Голивуде даже, есть огромный софт построенный на OpenGL, но это всё равно никому почти не интересно. Уже давно нет у MicroSoft того влияния, что бы всех заставлять писать на DX, но почему то OpenGL никто почти не использует. Даже Sony написали свой API для консолей. Если бы OpenGL был крутой технологией, то не было бы Vulkan, был бы супер новый OpenGL 5, а пока выглядит, что разработчики хотят избежать каких либо связей со своей предыдущей разработкой
cyberzx23
05.06.2018 22:43+2OGL не только для игр. Он активно используется в научной и технической отраслях. Да, может он не так близок к железу по сравнению с DX или Vulkan, но зато его куда проще использовать. Не забывайте ещё про WebGL и OpenGL ES.
К тому же всё таки довольно много игр поддерживают OGL. У меня в стиме на линуксе под сотню игр в библиотеке и все на OGL. Лишь пара поддерживат вулкан. Так что утверждение, что никто его не использует весьма голословно. Если бы OGL проиграл давно, он бы уже канул в лету, как Glide. Но пока что он живее всех живых. Хотя никогда не заменит низкоуровневых API. Да и ему и не надо это.JavaFox
06.06.2018 01:25я понимаю, я сам пользуюсь время от времени линуксом и конечно можно там похвастаться играми ААА уровня. Меня больше печалит то, что не смотря на то как все хвалят OpenGL и называют DirectX злом, всё таки большинство выбирает именно DirectX.
Хотя уже давно эта тенденция уходит. Все сейчас используют готовые движки, которые в пару кликов тебе скомпилируют игру и в DirectX и в OpenGL и на консоли. Всем становится плевать, главное делать конвеер побыстрее на готовом и всё. Если игра лагает, то урежем текстуры и ещё что-то, вместо того, что бы оптимизировать код.Barafu_Albino_Cheetah
06.06.2018 05:12Ну вот, а напрямую, без движков, работают научные демонстрации и 3D-редакторы, и они все, внезапно, используют OpenGL.
JavaFox
06.06.2018 14:10-1а можно чуть больше серьезных примеров чем Blender который всё еще проигрывает Autodesk и C4D, ну который да, хорош и он на OpenGL. Maya использует и DX и OpenGL, так что не в счет
P.S. Аудитория хабра либо всегда такой была, либо тупеет. Лакают комментарий, в котором написан вымысел, где нет ни одного примера и используется слово «все». Т.е. видимо автор готов голову на отсечение дать, что реально все! научные демонстрации и 3D-редакторы работают на OpenGL. Мне казалось, что это сайт для людей с IQ повыше чем у обезьяныBarafu_Albino_Cheetah
06.06.2018 21:19Ваш комментарий так же лишён каких-либо примеров. К тому же понятно, что здесь «все» означает «значимое большинство». Я не американский депутат, чтобы изъясняться канцеляризмами и бояться сказать лишнее слово.
Под Autodesk имеется ввиду 3DMax, которого нет под Mac или же Fusion, который на OpenGL?
DenSeaCaT
06.06.2018 10:12Если игра лагает, то урежем текстуры и ещё что-то, вместо того, что бы оптимизировать код.
Я, возможно, скажу полнейшую глупость, но разве урезание полигонажа, разрешения текстур не является частью процесса оптимизации?
Как мне кажется, очень много разработчиков в принципе не знакомы с культурой кодинга как таковой, и не понимают как оптимизировать свой код.
Не являюсь программистом, могу сильно ошибаться.JavaFox
06.06.2018 14:15я же написал конкретно про оптимизацию кода. Есть компании, которые знают что хотят и не готовы отступать. Даже если используют движки как UE4 и другие, будут писать свой код и свои оптимизации, что бы игра работала как следует, а не тупо пообрезать как я уже говорил графику и выпустить в продукцию
Suvitruf
05.06.2018 22:27С iOS 12 Open GL ES deprecated developer.apple.com/ios/whats-new/#deprecationofopengles
dimka11
05.06.2018 23:38Но на старых видеокартах Metal не работает. Следовательно новые приложения не будут работать на старых маках?
iga2iga
06.06.2018 00:25Вообще не вижу проблем с OGL, ну кроме проблем и ограничений накладываемых многозадачностью… При большом желании вообще всё можно писать на GLSL, куда уж ближе к железу-то? Код и так выполняется непосредственно на GPU. Чем тут metal или vk ближе к железу? Но единый графический стандарт для разных платформ просто обязан существовать.
UberSchlag
06.06.2018 10:37Код то на GPU выполняется, но всегда остается вопрос синхронизации с CPU-side и кормежки этого самого GPU данными и командами. Именно это и меддленно и один из главных боттлнеков в высоконагруженных графических приложениях.
И именно в этой части VK и вправду более «железный», не знаю уж как там у Метала. Все фишки под баннером AZDO, что прикручивались в последних версиях OGL (всякие multidraw, command buffers и прочая) — это потуги не отрываясь от легаси решить эту проблему. В VK решения реализованы более естественно и без оглядки на легаси, что дает заметную фору.
Laney1
06.06.2018 11:38под Vulkan, похоже, гораздо проще писать драйверы. RADV (свободный linux-драйвер для видеокарт AMD) пилит буквально пара человек, и он ничем не хуже официального AMDVLK. В OpenGL такое немыслимо.
gt8one
06.06.2018 07:41Blender использует OpenGL, в следующей версии 2.8 на OpenGL 3.3 переходят.
AngReload
06.06.2018 13:22В блоге графического редактора Krita вышла заметка «Долгая битва с ломаностью линий в OSX». В постскриптуме чуствуется разочарование: Apple is deprecating OpenGL…
Simipa
06.06.2018 11:22Вообще, Metal действительно очень хорошо работает под маками, например, в Heroes of the Storm Metal дает прирост производительности чуть ли не в 2 раза, по сравнению с OpenGL. Да, это не хорошо так резко указывать deprecated на технологии, однако, Metal очень перспективен, необходимо как можно скорее переводить все на него и будет счастье юзерам)
asmrnv777
06.06.2018 19:03Так в том вся и задумка, что эппл обычно резко депрекейтит всякие софтверные и хардварные вещи, чтобы от них быстрее отказались разработчики и не приходилось тащить легаси.
cyberonix
06.06.2018 12:12я в домашних условиях делаю свой движок aka Blaster, не каких Open GL и других библиотек и зависимостей. Сейчас доделываю, что бы можно было во внутрь объекта заглянуть. Пишу по ночам на основной работе и бывает дома, когда испытываю творческий подъем.
LaG1924
06.06.2018 13:34+2не каких Open GL и других библиотек и зависимостей
Получается, что Вы пишите свой софтверный растеризатор?
А в чем цель? Ну, кроме улучшения навыков кодинга и лучшего понимания работы графического конвейера.cyberonix
06.06.2018 13:48лучшего понимания работы графического конвейера.
я вообще не понимаю, как он работает. Пишу интуитивно, иногда(часто) читаю хабр про графику, вот недавно была статья про воксели с этой статьи полез на вики по какому-то вопросу, а там на вики наткнулся на тему, которая описывает подход к решению одной задачи по отрисовки вершин растеризатором, но к тому моменту я уже эту задачу решил сам, а из статьи понял, что делал все, как написано. Это к тому, что ничего нового при даже очень большом желании не придумаешь.
А в чем цель?
получить удовольствие
garrydvaraza
06.06.2018 15:22Довольно иронично в разделе «Похожие публикации» выглядят статьи «Learn OpenGL»
BelBES
06.06.2018 16:08Точно так же приложения, использующие OpenCL для вычислительных задач, теперь должны использовать Metal и Metal Performance Shaders».
И кто бросится переписывать свои GPGPU решения с OpenCL на Metal? Просто те, кто внезапно использовал MacOS для GPGPU, перестанут использовать эту операционную систему… тут с CUDA на OpenCL то никто не торопится переписывать, а в едином порыве пересаживаться на Metal уж точно никто прямо сразу не будет… это не хомячкам втирать про то, что 3.5 джек устарел
beeruser
07.06.2018 01:01Только вот Compute это органичная часть Metal. Шейдерный язык более продвинутый и пользоваться им легче. Ну а те кто хочет прикладывать больше усилий для получения того же результата пусть сидит на OpenCL.
VokaMut
06.06.2018 17:11Забавно выглядит толстая прослойка OpenGL во сравнению с тонкой прослойкой Metal, в чем толщина измеряется?
beeruser
07.06.2018 01:10В количестве работы которую проделывает драйвер. «Низкоуровневые» API переносят заботу о менеджменте ресурсов и синхронизации на пользователя. Таким образом драйвер становится в разы меньше, проще и менее забагованным. Одно изменение состояния растеризатора может потребовать перекомпиляции шейдера на лету, хотя в 90х годах, когда openGL был актуален, это была всего лишь запись в аппаратный регистр.
FDsagizi
07.06.2018 19:47-1Сразу видно что большенство людей которые не довольны — имели мало опыта в реальных проектах. Я сам писал движек, где была поддержка DirectX 9, 11. OpenGL, OpenGL ES и Metal
Так вот столько проблем, сколько я получил от ГЛ, ни DirectX ни тем более Metal не снилось
Это такое редкостное говно, где один костыль держит 10 других, где настолько не очевидный код, что постоянно стреляешь себе в ногу. Где у ВСЕХ драйверов своё понимание — как надо.
Работа же с Metal — это просто кайф, все чётко и понятно даже без доков. И просто восхитительная работа подсказок в дебаг — где что не так подсказывает сам рантам.
Сейчас используем Юнити для игр, но я очень сильно рад за эпл — что выкинут это дерьмо ближайшие пару лет!beeruser
07.06.2018 23:18Сразу видно что большенство людей которые не довольны — имели мало опыта в реальных проектах.
Да тут «недовольные» видно что вообще не занимаются 3D и знать не хотят о преимуществах Metal.
То что не нужно будет поддерживать GL это отлично. Говорю это как разработчик :)
GL и так уже давно в macOs/iOS находится в режиме жизнеобеспечения.
GeekberryFinn
08.06.2018 09:52Меня честно сказать необходимость учить очередную новую версию DirectX — достала, и я выбрал OpenGL с его обратной совместимостью.
L11R
Взяли бы хотя бы Vulcan, зачем второй велосипед-то…
AsGreyWolf
vulkan
как khronos
maxzhurkin
Тут нужна картинка как про стандарты, только про велосипеды
P.S. А тут нужна картинка как про стандарты, только про картинки
denkle
У Vulcan есть «фатальный недостаток».
expeon
Да, он вышел в феврале 2016-го, а Метал — в июне 2014-го
paradox072
И какой же если не секрет? На ум приходит только избыточная сложность api
Darth_Malok
Вы не знаете про мем «фатальный недостаток»? Если коротко — «его писали не они»)
Извиняюсь за ссылку на лурк
remzalp
del
rjhdby
Изобретено не ими