Главная » Хабрахабр » Apple объявила устаревшими технологии OpenGL и OpenCL

Apple объявила устаревшими технологии OpenGL и OpenCL


Из презентации Apple

Раздел «Что нового?» посвящён ключевым изменениям в macOS 10. Компания Apple обновила документацию для разработчиков. 14 SDK), новый сетевой фреймворк Network Framework, предоставляющий прямой доступ к сетевым протоколам TLS, TCP и UDP из приложений, фреймворк Natural Language для анализа естественной речи и вычленения из неё метаданных, специфических для конкретного языка (фреймворк можно использовать совместно с Create ML при обучении нейросетей). 14: это тёмная цветовая схема Dark Mode, новая технология Create ML для создания и обучения нейросетей на Mac, обновлённый Mac App Store с новыми программными интерфейсами для рейтингов и обзоров (под macOS 10.

Там упоминается об отказе от «устаревших» технологий OpenGL и OpenCL. Но самое интересное спрятано в подвале, а именно в разделе «Устаревшие и удалённые API» (Deprecations and Removed APIs). — Когда происходит устаревание, это не означает немедленного окончания жизни указанных программных интерфейсов. Этим технологиям вручается «чёрная метка», то есть Apple настоятельно не рекомендует использовать OpenGL и OpenCL в разработке новых продуктов.
«Периодически Apple добавляет макросы устаревания в API, чтобы указать, что эти API не должны больше использоваться в активной разработке, — сказано в документации. Это означает начало переходного (grace) периода для перехода от этих API к более новой и современной альтернативе, которая приходит на замену».

Однако активная разработка на них прекращается, и API получают только незначительные обновления безопасности или других критических ошибок. Apple отмечает, что устаревшие API обычно остаются в системе и могут использоваться в течение «разумного времени» после релиза, когда их объявили устаревшими. Разработчиков предупреждают, что устаревшие API могут быть полностью удалены из будущей версии операционной системы.

Как минимум, новый код ни в коему случае не должен использовать OpenGL и OpenCL. Apple рекомендует как можно скорее избавиться от устаревших API в своём коде. И если эти интерфейсы использует какой-то старый код, то его нужно заменить максимально быстро.

Приложения, созданные с использованием OpenGL и OpenCL, будут продолжать работать в macOS 10.14, но это уже устаревшие технологии. «Игры и графические приложения, использующие OpenGL, теперь должны использовать Metal. Точно так же приложения, использующие OpenCL для вычислительных задач, теперь должны использовать Metal и Metal Performance Shaders».

По заявлению Apple, они обеспечивают лучший доступ к современным графическим процессорам на iOS, macOS, а также устройствам tvOS: «Metal позволяет избежать накладных расходов, присущих устаревшим технологиям и представляет новейшие функции обработки графики. Metal — разработанные с нуля новые программные интерфейсы, лишённые обратной совместимости. Сведения о разработке приложений и игр с использованием Metal см. Единая поддержка графики и вычислений в Metal позволяет приложениям эффективно использовать новейшие технологии визуализации. в документации для разработчиков по Metal, Metal Performance Shaders и MetalKit».

Информация о миграции кода OpenGL на Metal опубликована в статье Mixing Metal and OpenGL Rendering in a View.

В целом консенсус такой: эта компания или действительно ненавидит компьютерные игры, или жестоко страдает от синдрома неприятия чужой разработки (NIH-синдром). Разработчики на Hacker News скептически оценивают действия Apple. Якобы технология Metal подвтерждает наличие NIH-синдрома. Это позиция в социальной, корпоративной или организационной культурах, при которой избегается использование сторонних разработок по разным причинам: страх перед нарушением патентного права, непонимание чужой работы, нежелание признать или оценить труд других, ревность или как часть более широкой «войны за территорию».

Комментаторы также напоминают, что из-за безалаберной поддержки OpenGL недавно пришлось закрыть проект Elite Dangerous под Mac.

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


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Представляем Amazon Corretto, бесплатный дистрибутив OpenJDK с долгосрочной поддержкой

Многие наши клиенты стали беспокоиться о том, что они будут вынуждены платить за LTS-версию Java при выполнении своей рабочей нагрузки. Java является одним из самых популярных языков, используемых клиентами AWS, и мы стремимся поддерживать Java, сохраняя эту поддержку бесплатной. Однако, ...

Автомобиль на водороде. Пора ли прощаться с бензином?

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