Development for MacOS
Comments 130
+15
Взяли бы хотя бы Vulcan, зачем второй велосипед-то…
+5
Тут нужна картинка как про стандарты, только про велосипеды
P.S. А тут нужна картинка как про стандарты, только про картинки
0
И какой же если не секрет? На ум приходит только избыточная сложность api
+12
Что-то мне кажется, что раньше Эппл тоже упорно пилил свои собственные стандарты, но по итогу депрекейтил их и переходил на общедоступные
+3

Есть еще MoltenVK, видимо будет теперь еще и MoltenOpenCL, если конечно OpenCL к тому времени не вольют в Vulkan.
Хотя в целом мотивы ябла понятны: нормально сделать OpenGL и OpenCL они не смогли.

0
Более того, MoltenVK вообще стал опенсорсным. Так что теперь есть возможность работать только с одним апи (Vulkan) на всех платформах
0

Или не хотели, пытаясь намекнуть, что открытые "чужие" стандарты — плохо, а свои — хорошо

+16
С другой стороны, сегодня большинство игр создаётся на Unity3D, Unreal Engine и других движках, которые поддерживают Metal.

Вот это на реддите опровергли, по крайней мере в части движков. Поддержка Metal ИМХО будет накладной для разработчиков, вплоть до реального невыхода некоторых ААА-игр на макоси. А ещё мне вот это понравилось:


ключевым изменениям в macOS 10.14
тёмная цветовая схема Dark Mode

Чтобы включить цветовую схему в ключевые изменения — это надо очень не любить новую версию.

+11
А как насчет такой эпохальной фичи, которой даже уделали внимание на WWDC?
«Инструмент для создания скриншотов научился записывать видео. Причем не обязательно сразу со всего экрана — как и со статическими скринами, можно выделить область, которую нужно записывать.»
Встроенный квиктайм умел это уже лет 5 это делать.
+2
Чтобы включить цветовую схему в ключевые изменения — это надо очень не любить новую версию.

Ну к слову, вы язвите напрасно — для клиентов то фича конечно не сказать что радикальная, но вот разарботчикам то нужно будет добавлять поддержку dark-mode в своих приложениях. И с этой точки зрения фича очень крупная: де-факто затрагивает работу каждого приложения из апстора.
0
Теперь помимо тех приложений, в которых что-нибудь не видно в новой схеме, со временем появятся такие, в которых, чего-нибудь не видно в старой
0
вплоть до реального невыхода некоторых ААА-игр на макоси

Эм, а разве мак когда-то всерьез розсматривался (и разрабам и покупателями) как платформа для игр ААА уровня?
Он всегда ограничивался всякими Candy Crush и крайне редкими портами с PC.
0
Эм, а разве мак когда-то всерьез розсматривался (и разрабам и покупателями) как платформа для игр ААА уровня?
Он всегда ограничивался всякими Candy Crush и крайне редкими портами с PC.


Старкрафт или Лига Легенд — не ААА???
+2
капля ж в море. Это как на примере доты говорить, что линукс — игровая платформа
0
И как они работают? На форумах Лиги Легенд достаточно много жалоб на клиент для Макоси, который выглядит чуть ли не альфа версией. Перенос любого крупного проекта на макось требует существенных вложений без особой выгоды.
UFO landed and left these words here
0

Так а чего про Vulkan ничего не сказали. Для инди игр очень накладно будет писать на нескольких апи одновременно

+1
Если инди игра использует активно шейдеры, то накладно.
А написать универсальную надстройку над GAPI, которая будет скрывать конкретную реализаицю — не накладно.
Всю жизнь так делали со времен DX8 vs OGL
+17
Ох уж этот фатальный недостаток любых свободных графических API
+3
Фатальный недостаток GL это отсутствие внятных стандартов, моральное устаревание, неудобство и в случае Apple — заброшенность.
+37
В Apple забыли, что чтобы навязывать свой DirectX надо быть Microsoft и их долей рынка.
-5

Ну учитывая, что гейминг всё больше переползает с PC на мобильные платформы...

+11
Тогда нужно быть Android, ом чтобы навязывать стандарты — 80% мобилок и планшетов это китайский андроид. :)
-10

Какой процент из тех китайских мобилок и планшетов потянет современные игры, для которых нужен 3D-движок?

+6
Спешу вас расстроить, но мобильное железо и современные 3d-движки сейчас находятся в том состоянии, что многие пишут мобильные 2d игры на 3d движках, потому что так проще.
0
Скорее нe потому что так проще, а потому что нет сопоставимых по возможностям нормальных «чисто 2Д» движков
0
Потому что сделать 3D-модель в условно мультяшном стиле и анимировать её — заметно дешевле и быстрее, чем создавать в ручную по кадрам десятки спрайтов 2D-анимации.
0
Смотря какой графический стиль игры. Что-нибудь пиксельное или что-то в стиле японской анимации — думаю все-таки проще рисовать вручную, чем делать модель, потом анимацию, потом пост-обработку.
+1

Смотря что считать современным. Но в целом на удивление даже бюджетники тянут нормально игры.

+1
Аппстор пока царь горы по деньгам, судя по отчетам. А где деньги там и издатели.

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

image
0
Один черт приличных игр нет что там, что там. Либо клоны, либо порты, ну и инди попадаются толковые время от времени. Несмотря на миллиарды устройств, нормальные игры делать на мобильные платформы никто не спешит.
А покупать отдельное устройство по цене хорошего смартфона, а потом еще игры по цене бюджетного смартфона, как-то дорого как по мне. Я лучше на нетбуке поиграю.
0
А покупать отдельное устройство по цене хорошего смартфона, а потом еще игры по цене бюджетного смартфона, как-то дорого как по мне


И то и то — дешевле.
Игр ценой в цену бюджетного смартфона — раз два и обчелся. Большинство дешевле.
Консольки хороши и старых поколений. Ну себе любимому я бы не взял прежнее поколение. Но мелким дитятям взял за 8000 древнюю PS3. И они вполне довольны.
0
Писал не про взрослые консоли, я про мобильные, причем про актуальное поколение.
Switch стоит 20к, Зельда к нему 4.5к.
Альтернатива:
Нетбук за 16к и библиотека игр (уже купленных)+новые от 100 рублей и выше (и нет, дискаунт за регион не притянуть, т.к. я и DRM-free беру игры по 1 доллару за штуку или даже за пучок по курсу ЦБ).
0
я про мобильные, причем про актуальное поколение.
Switch стоит 20к, Зельда к нему 4.5к.
Альтернатива: нетбук

Это весьма ограниченная альтернатива.
Цена мобильных консолек вполне понятна — все же совсем другое по возможностям устройство, не десктопный игровой комп и не ТВ-консоль.

Согласен, что в наше время, когда консоли конкурируют с смартфонами — нужно было бы постараться их сделать подешевле, чтобы рубить бабло на играх
+1
После какой-нибудь ps vita играть на мобилках во что-то кроме головоломок абсолютно не хочется.
0
После какой-нибудь ps vita играть на мобилках во что-то кроме головоломок абсолютно не хочется.

Ага.
При том что Вита выпущена уже довольно давно по меркам смартфонного рынка.
Да и стоит сейчас на вторичке — копейки.

P.S.:
По моему ее сливают только те, кто привык к смартфонному рынку игр — где как бы платить ничего не нужно, зато можно регулярно скачивать кучу говноигр, пробовать, сносить, ставить заново.

На Вите полностью бесплатного мало. Вот люди разочаровываются и сливают.

Я купил племянникам. Поставил десяток нормальных игр (да, потратив на это наверное 7000 рублей чисто на игры).

И Андроид они забросили после этого.
+17
К сожалению, на мобилках так и не появилось настоящего гейминга. Всё что там есть, это приложения мимикрирующие под игры, созданные с единственной целью вытягивания денег из пользователя. Есть несколько исключений, но рынка они не делают. И ситуация вряд ли будет лучше, слишком уж невыгодно делать там настоящие игры.
+2

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

0
Недавно озадачился приобретением игр на консоль игровую полноценную.
Тоже приходится перебирать горы шлака.
Полагаю, что на консолях ситуация получше.
Просто страшно тогда что твориться на мобилах.
0
Я вот люблю очень игру «Космические рейнджеры». И много лет хочется, чтобы был порт с ПК на Android/IOS. Кроме полетов в гипере остальное было бы удобно играть с тач экраном. Но вместо порта с PC, то бишь полноценной игры, 1С выпустила сделанную с нуля F2P поделку с донатом, которая, к слову, не вызывает сильного отвращения, но и симпатии тоже. Играть в неё желания нет.
0
Да уж. Даже Fishlabs вместо продолжения своей легендарной серии Galaxy on Fire, ведущей историю ещё с кнопочных ява-фонов, скатились в донатную казуальщину. А сейчас вообще есть эти самые исключения? Я просто не в курсе мобильного гейминга. Интересуюсь, потому что мой телефон – винфон, и единственное, во что играю – цивилизацию hot seat с подругой, но рано или поздно придётся переходить на андроид.
+3
Играть на мобилке во что-то сложнее злых птичек — пытка. Из реально требующих 3D-ускорителя игр разве что гонки более-мене популярны, благодаря акселерометру. Но даже гонок в метро на экранах у народа не особо-то и видно, сплошные вариации на тему «шариков» да «пятнашек», которым трехмерность до лампочки.

А волну велосипедных API от каждого второго производителя видеочипов мы уже проходили в конце девяностых и начале нулевых. Кто сегодня вспомнит все эти Glide, MSI, SGL, и, внезапно, Metal (только другой)?
+3
Колличество установок 2048 — больше 50 миллионов. А Всяких шариков-линий — так вообще не счесть. Субъективно я гораздо чаще вижу шарики-плиточки-пузыри на мобилках, чем 3Д
+1
Вот только подавляющее большинство установок мобильной PUBG — это эмуляторы. Я сам иногда гоняю в PUBG Mobile через эмулятор, играть в него на смарте через экранное управление — это высшая степень мазохизма. В танках сейчас примерно такая же история, куча народа играет в танки не на смартах а на Win 10 или эмуляторе.
0
Вот только подавляющее большинство установок мобильной PUBG — это эмуляторы


А вот это навряд ли.
Чтобы воспользоваться эмулятором — нужно определенную квалификацию иметь.
+1
Чего врядли? Всего то надо скачать преднастроенный эмулятор, даже все клавиши прописаны. Дошло до того, что издатель выпустил официальный эмулятор Tercent Gaming Buddy чтобы играли на нем и можно было спаривать эмулятор с эмулятором, ибо управление со смарта ущербно, и эмуляторщики с мышками выносят «смартфонистов» как котят, одно это говорит за ущербность стрелялок на смарте.
0
Чего врядли? Всего то надо скачать преднастроенный эмулятор, даже все клавиши прописаны.

Для начала нужно вообще узнать такое слово и зачем это нужно.
Вы переоценивайте средний уровень геймеров.
Не спорю, что как и везде, есть толковые головы. Но их явно не большинство. Как и везде.
Вот только подавляющее большинство установок мобильной PUBG

Подавляющее?
0
Никто никого не выносит. Pubg детектит использование эмулятора и организует им свой отдельный загон, где они сражаются друг с другом.

Если бы в PUbg mobile играли поголовно эмуляторщики в одних играх с телефонами, то я бы это ощутил и конечно же не выигрывал бы матчи.
0
геймеры, целенаправленно идущие в пубг в эмулятор умеют, я думаю.
А на слабых устрйоствах кнопка установить даже не появится.
0
>Чтобы воспользоваться эмулятором — нужно определенную квалификацию иметь.
Нет, не нужно. Tencent сами выпустили официально приложение-эмулятор, работает на уровне скачал — запустил. syzs.qq.com/en
0
Я играю в Pubg на телефоне с друзьями, которые тоже играют на телефоне/планшете. Мой племянник играет в pubg на мобиле прямо на парах со своими одногруппниками.

Pubg сделан удивительно хорошо, что удобно играть на телефоне. Сам бы никогда не поверил, что будет удобно играть в шутер на телефоне.
0
Проще на ютьюбе посмотреть, чем словесно объяснять. Но после 1-2 матча уже полностью привыкаешь и нет дискомфорта от управления.

Но у меня лопаты телефоны, если что. Один 5.5 дюймов, другой 5.9. Но друзья играют и на шестых айфонах и им тоже норм.
0
после 1-2 матча уже полностью привыкаешь и нет дискомфорта от управления.

Чо, можно отстреливаться прицельно из дробовика, стрейфясь влево и подпрыгивая? :)
0
Ага, можно, но только без прыжков.
Прицеливаюсь, стрелочками стрейфюсь, а акселометром вожу прицел (включается в настройках).

Играть на телефоне удобно, сам не ожидал. Естественно, что против мышки и клавиатуры выиграть нельзя (тут никто не спорит), но они играют отдельно.
-22
Складывается впечатление, что графические API нужны только лишь для игор
имхо
которым, имхо, место на консолях
+4
Играм место там, где пользователи хотят в них играть и покупать. То есть, в принципе, везде, от программируемых калькуляторов до всех сколь-нибудь популярных ОС.
-5
То есть все зацепились за «имхо» скрытое под спойлер? Ага, понятно.

А по сабжу?! Компания разработал свои железки, со своими процессорами (планшеты, смартфоны, тв), написала для «всего этого зоопарка» свою ОС. Топит за оптимизацию, ведь именно за это и хвалили их всю их жизнь. Теперь эта компания выставляет требования к работе с графикой, указывая на свой API и тут народ начинает грустить с переходом в негатив. Ясно-понятно, что один общий инструмент это всегда круто. Но все же работают ради бабла. И это у всех! MS — свое, Sony — свое (согласно каменту ниже), а Apple – фууууу OpenGL «депрекейтнули».

Рано или поздно это должно было случиться.
+12
Лично я ни за что не цеплялся, и могу только ответить, что OpenGL у всех остальных почему-то нормально работает, и стал стандартом де-факто кросс-платформенного программирования графики.
0
Думаю пару версий еще повисит как deprecated, есть время.
P.S. StarCraft 2 кстати с использованием Metal гораздо лучше работает, чем с OpenGL.
0
Ну, Carbon в состоянии «deprecated» находится еще со времен 10.4.
С каждым обновлением его обещают убить, но ничего, жив курилка.
0
Видимо убьют вместе с 32-битными программами, раз уж их и на макоси объявили устаревшими.
-4
имхо можете меня заминусовать, но OpenGL проиграл и уже давно. Где-то в узких кругах, вроде бы в Голивуде даже, есть огромный софт построенный на OpenGL, но это всё равно никому почти не интересно. Уже давно нет у MicroSoft того влияния, что бы всех заставлять писать на DX, но почему то OpenGL никто почти не использует. Даже Sony написали свой API для консолей. Если бы OpenGL был крутой технологией, то не было бы Vulkan, был бы супер новый OpenGL 5, а пока выглядит, что разработчики хотят избежать каких либо связей со своей предыдущей разработкой
+5
OGL не только для игр. Он активно используется в научной и технической отраслях. Да, может он не так близок к железу по сравнению с DX или Vulkan, но зато его куда проще использовать. Не забывайте ещё про WebGL и OpenGL ES.
К тому же всё таки довольно много игр поддерживают OGL. У меня в стиме на линуксе под сотню игр в библиотеке и все на OGL. Лишь пара поддерживат вулкан. Так что утверждение, что никто его не использует весьма голословно. Если бы OGL проиграл давно, он бы уже канул в лету, как Glide. Но пока что он живее всех живых. Хотя никогда не заменит низкоуровневых API. Да и ему и не надо это.
0
я понимаю, я сам пользуюсь время от времени линуксом и конечно можно там похвастаться играми ААА уровня. Меня больше печалит то, что не смотря на то как все хвалят OpenGL и называют DirectX злом, всё таки большинство выбирает именно DirectX.
Хотя уже давно эта тенденция уходит. Все сейчас используют готовые движки, которые в пару кликов тебе скомпилируют игру и в DirectX и в OpenGL и на консоли. Всем становится плевать, главное делать конвеер побыстрее на готовом и всё. Если игра лагает, то урежем текстуры и ещё что-то, вместо того, что бы оптимизировать код.
+4
Ну вот, а напрямую, без движков, работают научные демонстрации и 3D-редакторы, и они все, внезапно, используют OpenGL.
-3
а можно чуть больше серьезных примеров чем Blender который всё еще проигрывает Autodesk и C4D, ну который да, хорош и он на OpenGL. Maya использует и DX и OpenGL, так что не в счет
P.S. Аудитория хабра либо всегда такой была, либо тупеет. Лакают комментарий, в котором написан вымысел, где нет ни одного примера и используется слово «все». Т.е. видимо автор готов голову на отсечение дать, что реально все! научные демонстрации и 3D-редакторы работают на OpenGL. Мне казалось, что это сайт для людей с IQ повыше чем у обезьяны
+1
Ваш комментарий так же лишён каких-либо примеров. К тому же понятно, что здесь «все» означает «значимое большинство». Я не американский депутат, чтобы изъясняться канцеляризмами и бояться сказать лишнее слово.
Под Autodesk имеется ввиду 3DMax, которого нет под Mac или же Fusion, который на OpenGL?
+1
Если игра лагает, то урежем текстуры и ещё что-то, вместо того, что бы оптимизировать код.

Я, возможно, скажу полнейшую глупость, но разве урезание полигонажа, разрешения текстур не является частью процесса оптимизации?
Как мне кажется, очень много разработчиков в принципе не знакомы с культурой кодинга как таковой, и не понимают как оптимизировать свой код.
Не являюсь программистом, могу сильно ошибаться.
0
я же написал конкретно про оптимизацию кода. Есть компании, которые знают что хотят и не готовы отступать. Даже если используют движки как UE4 и другие, будут писать свой код и свои оптимизации, что бы игра работала как следует, а не тупо пообрезать как я уже говорил графику и выпустить в продукцию
0

Но на старых видеокартах Metal не работает. Следовательно новые приложения не будут работать на старых маках?

0
Маки последние лет эдак 30 являются решением «под ключ». Это их основная «фишка». Для кого-то это сюрприз?
+1
Вообще не вижу проблем с OGL, ну кроме проблем и ограничений накладываемых многозадачностью… При большом желании вообще всё можно писать на GLSL, куда уж ближе к железу-то? Код и так выполняется непосредственно на GPU. Чем тут metal или vk ближе к железу? Но единый графический стандарт для разных платформ просто обязан существовать.
0
Код то на GPU выполняется, но всегда остается вопрос синхронизации с CPU-side и кормежки этого самого GPU данными и командами. Именно это и меддленно и один из главных боттлнеков в высоконагруженных графических приложениях.
И именно в этой части VK и вправду более «железный», не знаю уж как там у Метала. Все фишки под баннером AZDO, что прикручивались в последних версиях OGL (всякие multidraw, command buffers и прочая) — это потуги не отрываясь от легаси решить эту проблему. В VK решения реализованы более естественно и без оглядки на легаси, что дает заметную фору.
UFO landed and left these words here
+1
Вообще, Metal действительно очень хорошо работает под маками, например, в Heroes of the Storm Metal дает прирост производительности чуть ли не в 2 раза, по сравнению с OpenGL. Да, это не хорошо так резко указывать deprecated на технологии, однако, Metal очень перспективен, необходимо как можно скорее переводить все на него и будет счастье юзерам)
+1
Так в том вся и задумка, что эппл обычно резко депрекейтит всякие софтверные и хардварные вещи, чтобы от них быстрее отказались разработчики и не приходилось тащить легаси.
0
Довольно иронично в разделе «Похожие публикации» выглядят статьи «Learn OpenGL»
0
Точно так же приложения, использующие OpenCL для вычислительных задач, теперь должны использовать Metal и Metal Performance Shaders».

И кто бросится переписывать свои GPGPU решения с OpenCL на Metal? Просто те, кто внезапно использовал MacOS для GPGPU, перестанут использовать эту операционную систему… тут с CUDA на OpenCL то никто не торопится переписывать, а в едином порыве пересаживаться на Metal уж точно никто прямо сразу не будет… это не хомячкам втирать про то, что 3.5 джек устарел

+1
Только вот Compute это органичная часть Metal. Шейдерный язык более продвинутый и пользоваться им легче. Ну а те кто хочет прикладывать больше усилий для получения того же результата пусть сидит на OpenCL.
+1
Забавно выглядит толстая прослойка OpenGL во сравнению с тонкой прослойкой Metal, в чем толщина измеряется?
0
В количестве работы которую проделывает драйвер. «Низкоуровневые» API переносят заботу о менеджменте ресурсов и синхронизации на пользователя. Таким образом драйвер становится в разы меньше, проще и менее забагованным. Одно изменение состояния растеризатора может потребовать перекомпиляции шейдера на лету, хотя в 90х годах, когда openGL был актуален, это была всего лишь запись в аппаратный регистр.
0
Сразу видно что большенство людей которые не довольны — имели мало опыта в реальных проектах. Я сам писал движек, где была поддержка DirectX 9, 11. OpenGL, OpenGL ES и Metal

Так вот столько проблем, сколько я получил от ГЛ, ни DirectX ни тем более Metal не снилось
Это такое редкостное говно, где один костыль держит 10 других, где настолько не очевидный код, что постоянно стреляешь себе в ногу. Где у ВСЕХ драйверов своё понимание — как надо.

Работа же с Metal — это просто кайф, все чётко и понятно даже без доков. И просто восхитительная работа подсказок в дебаг — где что не так подсказывает сам рантам.

Сейчас используем Юнити для игр, но я очень сильно рад за эпл — что выкинут это дерьмо ближайшие пару лет!
+1
Сразу видно что большенство людей которые не довольны — имели мало опыта в реальных проектах.

Да тут «недовольные» видно что вообще не занимаются 3D и знать не хотят о преимуществах Metal.
То что не нужно будет поддерживать GL это отлично. Говорю это как разработчик :)
GL и так уже давно в macOs/iOS находится в режиме жизнеобеспечения.
0
ИМХО, (опыт разработчика специфичный и не большой, под DX не писал вообще, OpenGL 3.3, Vulkan) если MoltenVK будет нормальной работать — пусть выкидывают что хотят. Хочется уже один API на всех платформах, достаточно стабильно работающий и удобный. В итоге будет как с ANGLE под Windows.
P.S. OpenCL вроде как собираются вливать в Vulkan, уже начали потихоньку c SPIR V 1.2.
0
OpenCL вроде как собираются вливать в Vulkan

Посмотрел авторов Vulkan — те же самые люди, что занимались OpenGL и создали OpenML и OpenCL.
0
Меня честно сказать необходимость учить очередную новую версию DirectX — достала, и я выбрал OpenGL с его обратной совместимостью.
0
DX12? Чтобы эффективно использовать 12-й, нужны глубокие знания об особенностях работы конкретных видеокарт на аппаратном уровне, иначе DX11-й даже не обогнать.
Но для людей, у которых эти знания есть, 12-й будет проще.

Новые версии API появляются не просто так, а для адаптации к возможностям современного железа. 3D эта та область, где можно учиться новому каждый день и каждый час, если что-то хотите добиться.
0
Не, это у меня хобби, а не работа. И у меня просто нет столько свободного времени каждый раз учить новую версию DX, а OpenGL для хобби — вполне подходит.
0
Вот так же и у меня, вместо того, чтобы изучать энный API, хочется взять один, нажать кнопочку build в IDE и получить работающее приложение и в винде и в OSX и в линуксе. А поддерживать 2-3 кодопути для разных API — это «спасибо, но нет.» Только пусть это будет стандартизированный и долгоиграющий многоплатформенный API и я его изучу, не проблема…
Only those users with full accounts are able to leave comments., please.