Развлекательный порталРазвлекательный портал


Общее
Игры
Apple
Android
Развлечения
Прохождение
Карта сайта

Шепелев впервые появился с тремя детьми на публике — ничего от папки не взяли
История Раисы Горбачевой, борьба за нефть, телефонные мошенники и котики: 6 новых интересных документалок
Игроки Cities: Skylines 2 уничтожили рейтинг нового DLC Beach Properties в Steam

WWDC 2014: Metal – это очень серьезно
🕑 17.05.2019 Общее 👀 85 просмотров

Внимательно выслушав и прочитав все, что было сказано и написано на металлическую тему представителями Apple, лучшие из аналитиков пришли к единственно правильному выводу: Metal для iOS 8 и Apple A7 – это разведка боем. Что-то значительно более важное не заставит себя ждать. Apple решила взять под свой полный контроль еще одно тонкое место во всех её системах, тщательно взвесив все “за” и “против”. Уровень секретности был таким же, как при Стиве: не случилось ни одной утечки. Затея была очень рискованной.

Согласятся ли компании разрабатывающие программы зависящие от OpenGL и/или OpenCL для разных платформ, включая iOS и OS X? Некоторые из этих программ были очень важны для Apple. Доля Apple в доходах этих компаний хоть и была существенной, но её потеря их существованию не угрожала.

Что они предпочтут: тратить деньги на разработку в нестандартных API или потерять часть дохода? Пока не попробуешь – не узнаешь. И лучше всего двигаться к этому потихоньку, чтобы можно было вовремя притормозить, если что-то пойдет не так.

В 2014 не все согласились с лучшими из аналитиков. Многие не воспринимали это всерьез. Более важное случилось в июне 2018 года – но это пока не наша тема.

Это продолжение серии про WWDC 2014, предыдущие части здесь:

Первая часть: WWDC 2014: по версии Apple, 25-я WWDC;
Вторая часть: WWDC 2014: Вспоминая QuickDraw 3D.

Кризис

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

Производительность графических процессоров (GPU), год за годом, росла значительно быстрее чем производительность центральных процессоров (CPU) – отвечающих за все. В итоге, в отношениях между CPU и GPU сложилась революционная ситуация: верхи не могли (справиться), низы не хотели (думать самостоятельно, потому что не могли).

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

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

Графическая мощь требовалась и серьезным специалистам, но сколько их таких?

К середине первого десятилетия XXI века центральные процессоры (CPU) уже не могли в полной мере использовать мощь GPU. С такой же проблемой столкнулись авиационные оружейники когда сверхзвуковые скорости стали обычным явлением – все происходило настолько быстро что экипаж физически не успевал оценить обстановку и прицелиться.

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

Приплыли?

Метод Apple

Если вы хотели бы узнать почему изделия Apple, несмотря на огромные числа на их ценниках, почти не обращая внимание на странные ограничения и непонятные запреты (только ворча и плюясь) почти всегда имеют успех, пограничный конфликт между CPU и GPU проявил этот секрет яснее чем что-либо другое.

Что-то вроде этого они делают постоянно, это суть их метода.

Первый Mac был абсолютно невозможен: у него были неплохие тактико-технические характеристики для своего времени, но только на реализацию главной его “фишки” – того самого графического пользовательского интерфейса – их требовалось в разы больше чем у него было.

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

Первый iPhone был абсолютно невозможен, но они его сделали, таким же способом.

Использовать мощь GPU хотя бы наполовину было невозможно, но они научились делать это. Отношения CPU и GPU – невероятно сложная область человеческого знания. Потоки, конвейеры, шейдеры, ускорители, рендеринг – об этом написано множество толстых книг, перед прочтением которых нужно прочитать много-много других книг, а чтобы понять их…

Но то как они это сделали раскрывает суть их метода ярче и понятнее чем всё остальное.

Диагноз

Взаимодействием между CPU и GPU занимался “переводчик”, действия которого были далеки от оптимальных. Переводчиком был OpenGL. Язык, которому в 2014 было уже 25 лет (как WWDC по версии Apple), универсальный, поддерживающий все достойные этого платформы и все заслуживающие этого графические процессоры – от новейших с их почти термоядерной мощью до самых архаичных, из прошлого тысячелетия.

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

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

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

Для большей ясности (которая, как говорил настоящий Мюллер, одна из форм полного тумана), исследуем взаимодействие CPU с GPU на примере типичной “стрелялки”. Игра – это какая-то логика, герои с какими-то свойствами, ландшафт, оружие и тому подобные виртуальные реалии. Это область отвественности CPU.

В каждую единицу времени (раз 30..60 в секунду) текущая игровая ситуация должна отображаться на экране. На самом последнем этапе отображением занимается GPU, но в силу своей тупости он нуждается в абсолютно точных и предельно подробных указаниях.

Эти указания готовит CPU. OpenGL, каждый раз заново, должен отрисовать все объекты которые должны появиться на экране. Указать их “физические” свойства (цвет, материал), определиться с источником или источниками света, перепроверить “шейдеры” (небольшие функции выполняемые GPU) управляющие тенями, отражениями и массой других вещей, и возможно, преобразовать их исходные коды в команды для GPU.

В том что все это делается снова и снова, есть смысл. Если поддерживаются платформы с самыми разными “странностями”, графические процессоры с разными возможностями.

1/30 секунды для современных CPU – это уйма времени. Но даже в сильно сокращенном виде комплекс действий по отрисовке единственного экрана впечатляет. На самом деле от CPU требуется на порядок или два больше действий. Результат: GPU терпеливо ждет, пока CPU подготовит все что нужно, стремительно исполняет новые указания, и снова ждет.

1/30 секунды часто оказывается недостаточно. Игра тормозит, хотя GPU самый-самый, на котором можно было бы кипятить чайники (если бы не системы охлаждения).

Рецепт от Apple (“варим” Metal)

Во-первых, нужно сконцентрироваться на одном-единственном GPU. На том который встроен в Apple A7, PowerVR G6430 в 4-кластерной конфигурации. На острие главного удара. Остальное (пока) игнорируем.

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

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

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

Это если коротко.

И на этом месте Стив сказал бы “бум” – в некоторых случаях производительность связки CPU и GPU вырастала в 10 раз. Правда никто и ни разу не продемонстрировал подобные случаи, но ускорение в 5-6 раз случалось сплошь и рядом.

Ну приврали (слегка) маркетологи, у них работа такая.

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

На WWDC 2014 показали Zen Garden. На Apple A7, если использовать общепринятый OpenGL, показанное было бы абсолютно нереально.

И все это только для Apple A7 c PowerVR G6430 в 4-кластерной конфигурации? Не похоже ли это на абсолютную и непростительную глупость, за которую всем (даже непричастным) не может не быть стыдно?

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

Это было только начало. Metal смог заменить OpenGL (и ни в чем не виноватый OpenCL, который просто попал под руку) сначала в одной конкретной комбинации (iOS 8 и Apple A7), затем в еще одной, затем…

Другие причины создания Metal

Даже если бы Apple несла ущерб от неспособности OpenGL качественно выполнять его долг до 2009 или 2010 года, отказываться от него Apple не стала бы. Это было бы ошибкой, которая могла обернуться гибелью компании.

До мобильной революции Apple слишком сильно зависела от готовности разработчиков со стороны переносить известные на более распространенных платформах программы в OS X.

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

А успех с организацией разработки собственных процессоров (CPU и систем-на-чипе с их участием) добавил им уверенности в себе.

И кроме всего прочего, если вы еще не пробовали программировать в Metal – попробуйте! Это очень красиво. OpenGL на фоне Metal выглядит как биржевые сводки за прошлый год на фоне блестящей захватывающей прозы.

Продолжение следует

Обсудить историю Apple вы можете в нашем Telegram-чате. Там и про Metal много.

👍 0 👎 0

>>>Ссылка для отзывов и предложений<<<


Ещё новости с тэгом Общее






















Популярное 2 недели


Малоизвестный китайский бренд уделал Xiaomi и Samsung: самые крутые технологии в смартфонах InfinixМалоизвестный китайский бренд уделал Xiaomi и Samsung: самые крутые технологии в смартфонах Infinix
🕑 26.03.2024 Android Это Интересно Мобильные Технологии Новичкам Смартфоны Infinix 👀 71 просмотров

Сливочный гратен из цветной капусты и лука: рецепт классическийСливочный гратен из цветной капусты и лука: рецепт классический
🕑 23.03.2024 Развлечения Мой Дом Готовим Вместе 👀 79 просмотров

Только купили свои первые Apple Watch? Смотрите, как их правильно настроитьТолько купили свои первые Apple Watch? Смотрите, как их правильно настроить
🕑 22.03.2024 Apple Советы Трюки Watch WatchOS Работе 👀 61 просмотров

В обновление 1.50 для Euro Truck Simulator 2 получит обновление Wielton Trailer PackВ обновление 1.50 для Euro Truck Simulator 2 получит обновление Wielton Trailer Pack
🕑 22.03.2024 Игры 👀 87 просмотров

Состоялся релиз фильма *Дом у дороги* с Джейком Джилленхолом и Конором Макгрегором - фильм уже доступен в сетиСостоялся релиз фильма *Дом у дороги* с Джейком Джилленхолом и Конором Макгрегором - фильм уже доступен в сети
🕑 22.03.2024 Игры 👀 110 просмотров

Четвёртый закулисный ролик Rise of the Ronin расскажет о создании игрыЧетвёртый закулисный ролик Rise of the Ronin расскажет о создании игры
🕑 19.03.2024 Игры 👀 326 просмотров

Обзор очень тихой беспроводной клавиатуры Ugreen. Подключил ее ко всем гаджетам в доме и не жалеюОбзор очень тихой беспроводной клавиатуры Ugreen. Подключил ее ко всем гаджетам в доме и не жалею
🕑 17.03.2024 Apple Обзоры Гаджетов Лучшее АлиЭкспресс Техники Скидки 👀 81 просмотров

Как искать промокоды на скидку и сканировать чеки в Едадил, чтобы получать кэшбэк за покупкиКак искать промокоды на скидку и сканировать чеки в Едадил, чтобы получать кэшбэк за покупки
🕑 16.03.2024 Apple Советы Трюки Скидки АлиЭкспресс Работе Цены 👀 63 просмотров

Игра «Найди и посчитай фигуры»Игра «Найди и посчитай фигуры»
🕑 16.03.2024 Развлечения Яркое Детство Игры Творчество 👀 164 просмотров

Рецепт шоколадных блинчиков Рецепт шоколадных блинчиков
🕑 16.03.2024 Развлечения Яркое Детство Рецепты 👀 157 просмотров

В *Битлджус 2* раскроют прошлое героя; Майкл Китон увидел часть отснятого материала и остался в полном восторгеВ *Битлджус 2* раскроют прошлое героя; Майкл Китон увидел часть отснятого материала и остался в полном восторге
🕑 16.03.2024 Игры 👀 107 просмотров

Рыбы по гороскопу: сильные и слабые стороны, характеристика и главное качество знака зодиакаРыбы по гороскопу: сильные и слабые стороны, характеристика и главное качество знака зодиака
🕑 16.03.2024 Развлечения Гороскопы Гороскоп 👀 91 просмотров

Названа причина смерти Ширвиндта — близкие не хотят верить новостямНазвана причина смерти Ширвиндта — близкие не хотят верить новостям
🕑 15.03.2024 Развлечения Звезды Новости 👀 72 просмотров

Вот так брутал! Расторгуев удивил своим видом после слухов о пластикеВот так брутал! Расторгуев удивил своим видом после слухов о пластике
🕑 15.03.2024 Развлечения Звезды Новости 👀 130 просмотров

>>>Ссылка для отзывов и предложений<<<

Новости в картинках


Шепелев впервые появился с тремя детьми на публике — ничего от папки не взяли
История Раисы Горбачевой, борьба за нефть, телефонные мошенники и котики: 6 новых интересных документалок
Игроки Cities: Skylines 2 уничтожили рейтинг нового DLC Beach Properties в Steam
Don*t Starve получит настольную игру от Glass Cannon Unplugged
Outward Definitive Edition добралась до Nintendo Switch
Stardew Valley получила еще одно обновление на ПК
«Ненормальный», «Обоюдное согласие 2» и Юэн Макгрегор в Москве: премьеры кино и сериалов с 28 марта по 3 апреля
Фильм «Простая просьба» с Блейк Лайвли и Анной Кендрик получит сиквел
Волочкова дала шанс молодому ухажеру — пара строит планы на будущее
Пиксельные дождь, пламя и кровь в геймплейном трейлере игры Holstin
Sega планирует сократить 240 рабочих мест в британских студиях, включая Creative Assembly
Не резиновая: эксперт объяснил, кого осчастливит переезд в большой город
Пробирают до мурашек: 8 ошеломляющих сериалов, основанных на реальных событиях
Чем заменить AirPods? Лучшие беспроводные наушники для Айфона, которые можно купить недорого
Что дает подписка Озон Премиум и как ее подключить за 1 рубль, чтобы экономить на покупках
Что делать, если ребенок не хочет в школу после каникул?
В России учредили премию в области разработки игр - *НАШ ИГРОПРОМ*
Earthblade, от авторов Celeste, не выйдет в 2024 году
«Мы не поддержали его»: Светлаков раскрыл причины побега Цекало в Штаты
Авторы Persona 5: The Phantom X опубликовали вступительный ролик
Для Warframe вышло обновление *Данте на свободе* с новым персонажем
Новый ролик Honkai: Star Rail посвящён Галлахеру
Стало наконец стыдно: неузнаваемая Пугачева сказала то, что от неё ждали
Издательские права на серию Remnant, студия Cryptic Studios и некоторые другие остаются в собственности Embracer
30 марта — День прогулок по парку
Руководство NCSOFT подтвердило разработку MMORPG Guild Wars 3
ARCTIC представляет вентилятор P14 Max с мощным статическим давлением
Моложе его невест: охотник на богатых старушек Прохор Шаляпин показал свою мать
Театральная школа Олега Табакова поможет пострадавшим при теракте в «Крокус Сити Холле»
Сделает Джастина Бибера, наконец, отцом? Хейли спровоцировала слух о своей беременности
Bulwark: Falconeer Chronicles была официально подтверждена как вторая игра в трилогии
Режиссер «Красного призрака» рассказал о съемках продолжения
Президент 2K Games подтвердил работу над Borderlands 4
Показан игровой процесс сиквела метроидвании Ender Magnolia: Bloom in this Mist
Эксперт объяснила, как переставить кровать, чтобы спать лучше
Солнце встало не с той стороны: Ди Каприо решил жениться!
Игра Ranch Simulator, созданная двумя разработчиками, разошлась тиражом более 1 миллиона копий
Джерри Брукхаймер: сейчас пишется сценарий *Сокровище нации 3* - фильм выйдет только при участии в нем Николаса Кейджа
Создатели стратегии Company of Heroes отделяются от SEGA и становятся независимыми разработчиками
Портал IGN показал несколько новых геймплейных кадров грядущей Judas
Экшен с открытым миром Wuthering Waves в духе Genshin Impact может выйти в мае
Поселивший семью в США Крутой объявился с новостью — настроен решительно
Аналитики: рынок консолей с 2017 года вырос на 59%, а ПК находится в стагнации
*Самый бесцельный проект*: некоторым разработчикам Marvel Rivals даже заплатили
Релиз Europa, очаровательной инди-игры с открытым миром, отложили до лета
Для *Смуты* изменили еще один образ, за который можно будет играть
Космическая выживалка The Planet Crafter выйдет из раннего доступа в начале апреля
Душевая и целая комната для захвата движений: журналисты показали, как выглядит студия разработчиков Stellar Blade
«Не трогайте мою семью»: Ревва выступил с публичным заявлением об эмиграции
Студия Toys For Bob, по слухам, активно работает над Spyro 4
PlayStation опубликовала документальный ролик о создании Final Fantasy 7 Rebirth с комментариями разработчиков
В сети появилась информация о предполагаемом крупном DLC для Dragon*s Dogma 2
PlayStation выиграла судебный иск, в котором ее обвиняли в нарушении патента
Боевой пропуск первого сезона Suicide Squad: Kill the Justice League принесет новые наряды, эмодзи и многое другое
Homeworld 3 получит большие изменения после отзывов игроков о демоверсии
«Были нужны друг другу»: Светлаков перестал молчать о связи с Брежневой
Immortals of Aveum и Minecraft Legends станут бесплатны для подписчиков PlayStation Plus в апреле
Capcom спросила игроков Dragon*s Dogma 2, хотели бы они DLC и сколько бы они за него заплатили
Take-Two Interactive Software приобретает The Gearbox Entertainment Company
Актриса, сыгравшая Лаэзель в Baldur*s Gate 3, в восторге от своей роли

ePN © 2023 Все права защищены.