Главная » Хабрахабр » 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 Интересное!

Проект Keystone: доверенная среда для запуска приложений на базе RISC-V

Команда исследователей из MIT и Калифорнийского университета в Беркли при поддержке Facebook, Google, Microsoft и других ИТ-гигантов представила проект Keystone. Это open source компонент, позволяющий организовать доверенную среду для запуска программ (trusted execution environment, TEE) на базе архитектуры RISC-V. Далее ...

[Перевод] Руководство по Node.js, часть 4: npm, файлы package.json и package-lock.json

Сегодня мы публикуем четвёртую часть перевода руководства по Node.js. В этом материале мы начнём разговор об npm а также рассмотрим особенности файлов package.json и package-lock.json. [Советуем почитать] Другие части цикла Основы npm Npm (node package manager) — это менеджер пакетов ...