Apple защищает Killing OpenGL, OpenCL, поскольку разработчики угрожают восстанием

Apple защищает Killing OpenGL, OpenCL, поскольку разработчики угрожают восстанием

Apple объявила на WWDC, что она прекратит поддержку OpenGL и OpenCL. В то время как ни одна из них не особенно удивляет, учитывая предыдущую готовность Apple игнорировать прогрессию в версиях OpenGL, это объявление все же вызвало некоторые споры со стороны разработчиков игр, которые уже чувствуют себя менее любимыми. Чтобы предотвратить некоторые из последствий, Apple недавно выпустила видео на разработчиков Metal для OpenGL, чтобы объяснить некоторые его мысли и как будет развиваться ситуация в будущем.

Металл для тех, кто не знает, - это API Apple, созданный для приведения вызовов с низкой задержкой на устройства, работающие под управлением iOS, а затем, macOS. Он совместим с несколькими графическими процессорами от Intel, AMD и Nvidia, а также с пользовательскими графическими процессорами. Apple строит для своих мобильных продуктов. Непонятно, поддерживает ли Metal новейшие графические процессоры Nvidia для поддержки AMD и Intel, учитывая, что Apple за последние несколько лет придерживалась оборудования последних двух компаний, но это, скорее всего, повлияет на пользователей Hackintosh в любом случае ,

Как и Mantle, DirectX 12 и Vulkan, Metal (технически Metal 2 сейчас) - это API, предназначенный для минимизации использования ЦП и ограничения времени, которое GPU проводит в ожидании процессора для завершения обработки. Эти низкоуровневые API сильно отличаются от предыдущих версий OpenGL и DirectX. Эта разница, по словам Apple, является ключевым компонентом того, почему сейчас устаревают старые стандарты. Графические конвейеры, поддержка многопоточных и асинхронных вычислительных возможностей за последнее десятилетие сильно изменились, и Apple хочет сделать чистый перерыв в прошлом.

Металлическая резьбовая модель
Металлическая резьбовая модель

Этот тип аргументов является общим для Apple, и он использовался для оправдания всего, от отказа компании от флоппи-дисковода и CD-ROM до последнего разъема для наушников. (Вы находите их удаленно убедительными, это собственный вопрос). Но это вызывает особые проблемы в играх, где старые заголовки, которые полагаются на OpenGL, просто не будут работать в будущем, если Apple удалит существующую поддержку OGL.

Прямо сейчас, Apple просто обесценивает стандарт. OpenGL не будет использоваться или не будет использоваться, но он никуда не денется. Но в будущем - вероятно, в ближайшие несколько лет - это неизбежно изменится. Опять же, это то, на что мы можем вообще рассчитывать, потому что Apple не имеет привычки просто оставлять поддержку устаревших возможностей в своих операционных системах. Когда он сказал разработчикам начать приоритизацию 64-битных приложений в iOS App Store, это было как прелюдия к удалению возможности запускать 32-разрядные приложения в целом. С тех пор, как пользователи MacOS начали готовиться к такому же переходу.

Но в этом случае последствия больше. Apple только представила Metal в 2014 году, что означает, что любая игра для Mac, построенная до этого момента (и реалистично, довольно много построенных после), будет работать только на OpenGL. Apple, которая годами более или менее не поддерживала игры в какой-либо степени, также гарантирует, что Mac будет еще более сложной платформой для поощрения разработчиков к разработке кода, поскольку им придется использовать уникальный API, уникальный для Apple сделать это. Теперь вместо того, чтобы портировать OGL в качестве средства обеспечения того, чтобы игры работали как в Linux, так и в MacOS, разработчикам придется портировать macOS отдельно - если они вообще этого не хотят.