Из презентации 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)


  1. L11R
    05.06.2018 17:40
    +11

    Взяли бы хотя бы Vulcan, зачем второй велосипед-то…


    1. AsGreyWolf
      05.06.2018 18:03
      +1

      vulkan
      как khronos


    1. maxzhurkin
      06.06.2018 02:46

      Тут нужна картинка как про стандарты, только про велосипеды
      P.S. А тут нужна картинка как про стандарты, только про картинки


    1. denkle
      06.06.2018 08:28

      У Vulcan есть «фатальный недостаток».


      1. expeon
        06.06.2018 08:50

        Да, он вышел в феврале 2016-го, а Метал — в июне 2014-го


      1. paradox072
        06.06.2018 09:26

        И какой же если не секрет? На ум приходит только избыточная сложность api


        1. Darth_Malok
          06.06.2018 10:15
          +1

          Вы не знаете про мем «фатальный недостаток»? Если коротко — «его писали не они»)

          Извиняюсь за ссылку на лурк


        1. remzalp
          06.06.2018 10:51

          del



  1. BubaVV
    05.06.2018 17:52
    +8

    Что-то мне кажется, что раньше Эппл тоже упорно пилил свои собственные стандарты, но по итогу депрекейтил их и переходил на общедоступные


  1. infrapro
    05.06.2018 17:53
    +3

    Molten тем временем тихонько радуется и напоминает про реализацию OpenGL ES 2.0 поверх Metal


    1. Gorthauer87
      05.06.2018 18:43
      +1

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


      1. infrapro
        05.06.2018 18:51

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


        1. justaguest
          06.06.2018 10:45

          Более того: MoltenVK уже используется как минимум в Dota 2. Phoronix, в связи с новостью, тестируют Vulkan vs MoltenVK.


          1. AngReload
            06.06.2018 17:01

            По ссылке: Article Not Available. :(


            1. justaguest
              06.06.2018 17:13

              Оу, и правда. Это какой-то хабровский глюк, т.к. я совершенно точно не заменял амперсанды на «amp». Вот голая ссылка: www.phoronix.com/scan.php?page=article&item=dota2-mac-vulkan&num=1


      1. x67
        06.06.2018 01:15

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


        1. RomanArzumanyan
          06.06.2018 11:01
          +1

          OpenCL они же и породили, а затем передали Khronos.


  1. vesper-bot
    05.06.2018 17:53
    +9

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

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


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

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


    1. vaslobas
      05.06.2018 19:52
      +7

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


    1. aobondar
      05.06.2018 23:08
      +1

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

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


      1. maxzhurkin
        06.06.2018 20:30

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


    1. Vizavi
      06.06.2018 15:31

      вплоть до реального невыхода некоторых ААА-игр на макоси

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


      1. awesomer
        06.06.2018 15:54

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


        Старкрафт или Лига Легенд — не ААА???


        1. Losted
          06.06.2018 17:53

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


  1. Sergey99999
    05.06.2018 18:07

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


    1. AllexIn
      05.06.2018 19:01

      Если инди игра использует активно шейдеры, то накладно.
      А написать универсальную надстройку над GAPI, которая будет скрывать конкретную реализаицю — не накладно.
      Всю жизнь так делали со времен DX8 vs OGL


    1. kalininmr
      05.06.2018 19:16

      doom, кстати, под вулканом летает процентов на 10 веселее.


  1. Morgan_iv
    05.06.2018 18:10
    +13

    Ох уж этот фатальный недостаток любых свободных графических API


    1. beeruser
      05.06.2018 21:45
      +3

      Фатальный недостаток GL это отсутствие внятных стандартов, моральное устаревание, неудобство и в случае Apple — заброшенность.


    1. asmrnv777
      06.06.2018 17:45

      Ну хз, та же дота на Metal-е работает заметно лучше, чем на OpenGL.


  1. pda0
    05.06.2018 18:36
    +16

    В Apple забыли, что чтобы навязывать свой DirectX надо быть Microsoft и их долей рынка.


    1. yarric
      05.06.2018 19:15

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


      1. ultrinfaern
        05.06.2018 20:01
        +5

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


        1. yarric
          05.06.2018 20:13
          -3

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


          1. ad1Dima
            06.06.2018 11:39
            +1

            Спешу вас расстроить, но мобильное железо и современные 3d-движки сейчас находятся в том состоянии, что многие пишут мобильные 2d игры на 3d движках, потому что так проще.


            1. YemSalat
              08.06.2018 10:47

              Скорее нe потому что так проще, а потому что нет сопоставимых по возможностям нормальных «чисто 2Д» движков


              1. GeekberryFinn
                08.06.2018 11:09

                Потому что сделать 3D-модель в условно мультяшном стиле и анимировать её — заметно дешевле и быстрее, чем создавать в ручную по кадрам десятки спрайтов 2D-анимации.


          1. Alexsandr_SE
            06.06.2018 13:17

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


        1. 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

          image


          1. lolhunter
            06.06.2018 15:45

            Только вот забыли, слегка, остальные сторы под андройд.
            Например, весь китай сидит на альтернативных сторах, а не в Google play.
            Нашлась статейка:
            habr.com/company/mobihunter/blog/383035


        1. shifttstas
          05.06.2018 23:24
          +1

          И сколько-сколько ARPU в AppStore и Play Market? :)


          1. Areso
            06.06.2018 09:50

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


            1. awesomer
              06.06.2018 10:04

              А покупать отдельное устройство по цене хорошего смартфона, а потом еще игры по цене бюджетного смартфона, как-то дорого как по мне


              И то и то — дешевле.
              Игр ценой в цену бюджетного смартфона — раз два и обчелся. Большинство дешевле.
              Консольки хороши и старых поколений. Ну себе любимому я бы не взял прежнее поколение. Но мелким дитятям взял за 8000 древнюю PS3. И они вполне довольны.


              1. Areso
                06.06.2018 10:20

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


                1. awesomer
                  06.06.2018 11:26

                  я про мобильные, причем про актуальное поколение.
                  Switch стоит 20к, Зельда к нему 4.5к.
                  Альтернатива: нетбук

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

                  Согласен, что в наше время, когда консоли конкурируют с смартфонами — нужно было бы постараться их сделать подешевле, чтобы рубить бабло на играх


                1. darthslider
                  06.06.2018 14:03

                  После какой-нибудь ps vita играть на мобилках во что-то кроме головоломок абсолютно не хочется.


                  1. awesomer
                    06.06.2018 14:28

                    После какой-нибудь ps vita играть на мобилках во что-то кроме головоломок абсолютно не хочется.

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

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

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

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

                    И Андроид они забросили после этого.


                    1. darthslider
                      06.06.2018 14:29

                      А еще её поломали не так давно и можно запускать homebrew.


      1. cyberzx23
        05.06.2018 22:34
        +5

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


        1. x67
          06.06.2018 01:20

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


          1. awesomer
            06.06.2018 09:43

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


        1. evilrussian
          06.06.2018 10:52

          Я вот люблю очень игру «Космические рейнджеры». И много лет хочется, чтобы был порт с ПК на Android/IOS. Кроме полетов в гипере остальное было бы удобно играть с тач экраном. Но вместо порта с PC, то бишь полноценной игры, 1С выпустила сделанную с нуля F2P поделку с донатом, которая, к слову, не вызывает сильного отвращения, но и симпатии тоже. Играть в неё желания нет.


        1. SargeT
          08.06.2018 07:23

          Да уж. Даже Fishlabs вместо продолжения своей легендарной серии Galaxy on Fire, ведущей историю ещё с кнопочных ява-фонов, скатились в донатную казуальщину. А сейчас вообще есть эти самые исключения? Я просто не в курсе мобильного гейминга. Интересуюсь, потому что мой телефон – винфон, и единственное, во что играю – цивилизацию hot seat с подругой, но рано или поздно придётся переходить на андроид.


      1. quwy
        06.06.2018 01:27

        Играть на мобилке во что-то сложнее злых птичек — пытка. Из реально требующих 3D-ускорителя игр разве что гонки более-мене популярны, благодаря акселерометру. Но даже гонок в метро на экранах у народа не особо-то и видно, сплошные вариации на тему «шариков» да «пятнашек», которым трехмерность до лампочки.

        А волну велосипедных API от каждого второго производителя видеочипов мы уже проходили в конце девяностых и начале нулевых. Кто сегодня вспомнит все эти Glide, MSI, SGL, и, внезапно, Metal (только другой)?


        1. icetinte
          06.06.2018 07:37

          Количество установок PUBG Mobile в Google Play — 50 миллионов


          1. AlexPancho
            06.06.2018 08:43

            Колличество установок 2048 — больше 50 миллионов. А Всяких шариков-линий — так вообще не счесть. Субъективно я гораздо чаще вижу шарики-плиточки-пузыри на мобилках, чем 3Д


          1. IsyanovDV
            06.06.2018 09:28

            Вот только подавляющее большинство установок мобильной PUBG — это эмуляторы. Я сам иногда гоняю в PUBG Mobile через эмулятор, играть в него на смарте через экранное управление — это высшая степень мазохизма. В танках сейчас примерно такая же история, куча народа играет в танки не на смартах а на Win 10 или эмуляторе.


            1. awesomer
              06.06.2018 09:44

              Вот только подавляющее большинство установок мобильной PUBG — это эмуляторы


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


              1. IsyanovDV
                06.06.2018 09:56

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


                1. awesomer
                  06.06.2018 10:07

                  Чего врядли? Всего то надо скачать преднастроенный эмулятор, даже все клавиши прописаны.

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

                  Подавляющее?


                1. vaslobas
                  06.06.2018 12:31

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

                  Если бы в PUbg mobile играли поголовно эмуляторщики в одних играх с телефонами, то я бы это ощутил и конечно же не выигрывал бы матчи.


              1. DenSeaCaT
                06.06.2018 10:01

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


              1. ffs
                06.06.2018 15:18

                >Чтобы воспользоваться эмулятором — нужно определенную квалификацию иметь.
                Нет, не нужно. Tencent сами выпустили официально приложение-эмулятор, работает на уровне скачал — запустил. syzs.qq.com/en


            1. vaslobas
              06.06.2018 12:30

              Я играю в Pubg на телефоне с друзьями, которые тоже играют на телефоне/планшете. Мой племянник играет в pubg на мобиле прямо на парах со своими одногруппниками.

              Pubg сделан удивительно хорошо, что удобно играть на телефоне. Сам бы никогда не поверил, что будет удобно играть в шутер на телефоне.


              1. GeekberryFinn
                06.06.2018 13:34

                И как им управляют?! O_O


                1. vaslobas
                  06.06.2018 13:36

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

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


                  1. Frankenstine
                    06.06.2018 13:51

                    после 1-2 матча уже полностью привыкаешь и нет дискомфорта от управления.

                    Чо, можно отстреливаться прицельно из дробовика, стрейфясь влево и подпрыгивая? :)


                    1. vaslobas
                      06.06.2018 13:54

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

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


        1. yarric
          06.06.2018 09:05

          iOS ещё стоит на планшетах, если что.


  1. pOmelchenko
    05.06.2018 18:49
    -18

    Складывается впечатление, что графические API нужны только лишь для игор

    имхо
    которым, имхо, место на консолях


    1. VioletGiraffe
      05.06.2018 22:23
      +1

      Играм место там, где пользователи хотят в них играть и покупать. То есть, в принципе, везде, от программируемых калькуляторов до всех сколь-нибудь популярных ОС.


      1. pOmelchenko
        05.06.2018 22:41

        То есть все зацепились за «имхо» скрытое под спойлер? Ага, понятно.

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

        Рано или поздно это должно было случиться.


        1. VioletGiraffe
          05.06.2018 23:24
          +2

          Лично я ни за что не цеплялся, и могу только ответить, что OpenGL у всех остальных почему-то нормально работает, и стал стандартом де-факто кросс-платформенного программирования графики.



  1. kalininmr
    05.06.2018 19:15
    +3

    как то они погорячились.


  1. mistergonza
    05.06.2018 21:31

    Думаю пару версий еще повисит как deprecated, есть время.
    P.S. StarCraft 2 кстати с использованием Metal гораздо лучше работает, чем с OpenGL.


    1. Celtis
      06.06.2018 08:37

      Ну, Carbon в состоянии «deprecated» находится еще со времен 10.4.
      С каждым обновлением его обещают убить, но ничего, жив курилка.


      1. batyrmastyr
        06.06.2018 15:17

        Видимо убьют вместе с 32-битными программами, раз уж их и на макоси объявили устаревшими.


  1. JavaFox
    05.06.2018 21:53
    +1

    имхо можете меня заминусовать, но OpenGL проиграл и уже давно. Где-то в узких кругах, вроде бы в Голивуде даже, есть огромный софт построенный на OpenGL, но это всё равно никому почти не интересно. Уже давно нет у MicroSoft того влияния, что бы всех заставлять писать на DX, но почему то OpenGL никто почти не использует. Даже Sony написали свой API для консолей. Если бы OpenGL был крутой технологией, то не было бы Vulkan, был бы супер новый OpenGL 5, а пока выглядит, что разработчики хотят избежать каких либо связей со своей предыдущей разработкой


    1. cyberzx23
      05.06.2018 22:43
      +2

      OGL не только для игр. Он активно используется в научной и технической отраслях. Да, может он не так близок к железу по сравнению с DX или Vulkan, но зато его куда проще использовать. Не забывайте ещё про WebGL и OpenGL ES.
      К тому же всё таки довольно много игр поддерживают OGL. У меня в стиме на линуксе под сотню игр в библиотеке и все на OGL. Лишь пара поддерживат вулкан. Так что утверждение, что никто его не использует весьма голословно. Если бы OGL проиграл давно, он бы уже канул в лету, как Glide. Но пока что он живее всех живых. Хотя никогда не заменит низкоуровневых API. Да и ему и не надо это.


      1. JavaFox
        06.06.2018 01:25

        я понимаю, я сам пользуюсь время от времени линуксом и конечно можно там похвастаться играми ААА уровня. Меня больше печалит то, что не смотря на то как все хвалят OpenGL и называют DirectX злом, всё таки большинство выбирает именно DirectX.
        Хотя уже давно эта тенденция уходит. Все сейчас используют готовые движки, которые в пару кликов тебе скомпилируют игру и в DirectX и в OpenGL и на консоли. Всем становится плевать, главное делать конвеер побыстрее на готовом и всё. Если игра лагает, то урежем текстуры и ещё что-то, вместо того, что бы оптимизировать код.


        1. Barafu_Albino_Cheetah
          06.06.2018 05:12

          Ну вот, а напрямую, без движков, работают научные демонстрации и 3D-редакторы, и они все, внезапно, используют OpenGL.


          1. JavaFox
            06.06.2018 14:10
            -1

            а можно чуть больше серьезных примеров чем Blender который всё еще проигрывает Autodesk и C4D, ну который да, хорош и он на OpenGL. Maya использует и DX и OpenGL, так что не в счет
            P.S. Аудитория хабра либо всегда такой была, либо тупеет. Лакают комментарий, в котором написан вымысел, где нет ни одного примера и используется слово «все». Т.е. видимо автор готов голову на отсечение дать, что реально все! научные демонстрации и 3D-редакторы работают на OpenGL. Мне казалось, что это сайт для людей с IQ повыше чем у обезьяны


            1. Barafu_Albino_Cheetah
              06.06.2018 21:19

              Ваш комментарий так же лишён каких-либо примеров. К тому же понятно, что здесь «все» означает «значимое большинство». Я не американский депутат, чтобы изъясняться канцеляризмами и бояться сказать лишнее слово.
              Под Autodesk имеется ввиду 3DMax, которого нет под Mac или же Fusion, который на OpenGL?


        1. DenSeaCaT
          06.06.2018 10:12

          Если игра лагает, то урежем текстуры и ещё что-то, вместо того, что бы оптимизировать код.

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


          1. JavaFox
            06.06.2018 14:15

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



  1. dimka11
    05.06.2018 23:38

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


    1. kalininmr
      06.06.2018 00:38
      +1

      так наверняка для того и затевалось :)


    1. vaslobas
      06.06.2018 02:40

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


    1. lasc
      06.06.2018 03:49

      так на эти маки с новую ОС нельзя поставить тоже.


    1. erty
      06.06.2018 05:20

      Маки последние лет эдак 30 являются решением «под ключ». Это их основная «фишка». Для кого-то это сюрприз?


      1. kalininmr
        06.06.2018 17:12

        это не «под ключ», а «под слом».


  1. iga2iga
    06.06.2018 00:25

    Вообще не вижу проблем с OGL, ну кроме проблем и ограничений накладываемых многозадачностью… При большом желании вообще всё можно писать на GLSL, куда уж ближе к железу-то? Код и так выполняется непосредственно на GPU. Чем тут metal или vk ближе к железу? Но единый графический стандарт для разных платформ просто обязан существовать.


    1. UberSchlag
      06.06.2018 10:37

      Код то на GPU выполняется, но всегда остается вопрос синхронизации с CPU-side и кормежки этого самого GPU данными и командами. Именно это и меддленно и один из главных боттлнеков в высоконагруженных графических приложениях.
      И именно в этой части VK и вправду более «железный», не знаю уж как там у Метала. Все фишки под баннером AZDO, что прикручивались в последних версиях OGL (всякие multidraw, command buffers и прочая) — это потуги не отрываясь от легаси решить эту проблему. В VK решения реализованы более естественно и без оглядки на легаси, что дает заметную фору.


    1. Laney1
      06.06.2018 11:38

      под Vulkan, похоже, гораздо проще писать драйверы. RADV (свободный linux-драйвер для видеокарт AMD) пилит буквально пара человек, и он ничем не хуже официального AMDVLK. В OpenGL такое немыслимо.


  1. gt8one
    06.06.2018 07:41

    Blender использует OpenGL, в следующей версии 2.8 на OpenGL 3.3 переходят.


    1. AngReload
      06.06.2018 13:22

      В блоге графического редактора Krita вышла заметка «Долгая битва с ломаностью линий в OSX». В постскриптуме чуствуется разочарование: Apple is deprecating OpenGL…


  1. Simipa
    06.06.2018 11:22

    Вообще, Metal действительно очень хорошо работает под маками, например, в Heroes of the Storm Metal дает прирост производительности чуть ли не в 2 раза, по сравнению с OpenGL. Да, это не хорошо так резко указывать deprecated на технологии, однако, Metal очень перспективен, необходимо как можно скорее переводить все на него и будет счастье юзерам)


    1. asmrnv777
      06.06.2018 19:03

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


  1. cyberonix
    06.06.2018 12:12

    я в домашних условиях делаю свой движок aka Blaster, не каких Open GL и других библиотек и зависимостей. Сейчас доделываю, что бы можно было во внутрь объекта заглянуть. Пишу по ночам на основной работе и бывает дома, когда испытываю творческий подъем.


    1. LaG1924
      06.06.2018 13:34
      +2

      не каких Open GL и других библиотек и зависимостей

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


      1. cyberonix
        06.06.2018 13:48

        лучшего понимания работы графического конвейера.

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

        получить удовольствие


  1. JohnSmith001
    06.06.2018 12:37

    tl;dr: Игор нет и не будет.


  1. Frankenstine
    06.06.2018 13:55

    Khronos Group объявила Apple устаревшими


  1. garrydvaraza
    06.06.2018 15:22

    Довольно иронично в разделе «Похожие публикации» выглядят статьи «Learn OpenGL»


  1. BelBES
    06.06.2018 16:08

    Точно так же приложения, использующие OpenCL для вычислительных задач, теперь должны использовать Metal и Metal Performance Shaders».

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


    1. beeruser
      07.06.2018 01:01

      Только вот Compute это органичная часть Metal. Шейдерный язык более продвинутый и пользоваться им легче. Ну а те кто хочет прикладывать больше усилий для получения того же результата пусть сидит на OpenCL.


  1. VokaMut
    06.06.2018 17:11

    Забавно выглядит толстая прослойка OpenGL во сравнению с тонкой прослойкой Metal, в чем толщина измеряется?


    1. vesper-bot
      06.06.2018 17:24

      В попугаях, видимо.


    1. beeruser
      07.06.2018 01:10

      В количестве работы которую проделывает драйвер. «Низкоуровневые» API переносят заботу о менеджменте ресурсов и синхронизации на пользователя. Таким образом драйвер становится в разы меньше, проще и менее забагованным. Одно изменение состояния растеризатора может потребовать перекомпиляции шейдера на лету, хотя в 90х годах, когда openGL был актуален, это была всего лишь запись в аппаратный регистр.


  1. P0WERMIC
    06.06.2018 17:42

    Что теперь будет с Qt?


    1. ad1Dima
      07.06.2018 22:29

      Сделают обёртку поверх Metal, например.


  1. FDsagizi
    07.06.2018 19:47
    -1

    Сразу видно что большенство людей которые не довольны — имели мало опыта в реальных проектах. Я сам писал движек, где была поддержка DirectX 9, 11. OpenGL, OpenGL ES и Metal

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

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

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


    1. beeruser
      07.06.2018 23:18

      Сразу видно что большенство людей которые не довольны — имели мало опыта в реальных проектах.

      Да тут «недовольные» видно что вообще не занимаются 3D и знать не хотят о преимуществах Metal.
      То что не нужно будет поддерживать GL это отлично. Говорю это как разработчик :)
      GL и так уже давно в macOs/iOS находится в режиме жизнеобеспечения.


    1. GeekberryFinn
      08.06.2018 09:52

      Меня честно сказать необходимость учить очередную новую версию DirectX — достала, и я выбрал OpenGL с его обратной совместимостью.