Вчера на WWDC 2018 компания Apple представила macOS Mojave, которая предложит пользователям темный режим, обновленный Mac App Store, организуемые стеки, упрощенные скриншоты и многое другое, когда выйдет осенью. Наряду с новыми функциями Apple подтвердила, что выводит из эксплуатации OpenGL (Open Graphics Library) и OpenCL (Open Computing Language) в пользу Metal.
Это означает, что приложения, созданные с использованием OpenGL и OpenCL, по-прежнему будут работать в Mojave, но после запуска macOS 10.14 они больше не будут обновляться. Apple рекомендует разработчикам игр и «графически интенсивных приложений», созданных на OpenGL, перейти на Metal до запуска Mojave, а приложениям, использующим OpenCL для вычислительных задач, «следует перейти на Metal и Metal Performance Shaders».
Запущенный четыре года назад Metal — это собственный 3D графический и программный интерфейс Apple, объединяющий функции OpenGL и OpenCL под единым API. Объясняя переход от «устаревших технологий» OpenGL и OpenCL, Apple заявила, что «Metal избегает накладных расходов, присущих устаревшим технологиям, и раскрывает последние графические возможности» графических процессоров, используемых в устройствах под управлением iOS, macOS и tvOS.
Хотя решение Apple вывести из эксплуатации старую технологию в пользу собственного графического API может не вызывать удивления, некоторые разработчики игр начали критиковать Apple за этот шаг, особенно за то, как он влияет на будущее игр на Mac. В частности, OpenGL является кроссплатформенным решением с открытым исходным кодом, которое позволяло разработчикам легко создавать игры одновременно для Mac и ПК, обеспечивая некоторую паритетность платформе, которая, по мнению многих, не является центром для игр.
Поскольку «многие игры и приложения продолжают использовать OpenGL», особенно те, что были выпущены до появления Metal в 2014 году, переход к разработке с использованием Metal вызывает беспокойство у разработчиков Mac по поводу любого потенциала роста платформы для игр (через PC Gamer). Разработчик игр Сэм Лоешен написал в Твиттере, что он «испытывает противоречивые чувства» по поводу этого решения, называя Metal «очень, очень хорошим» графическим API, но признавая, что «это решение еще больше отчуждает macOS как игровую платформу».
В беседе с PC Gamer дизайнер игр Рами Исмаил сказал, что, хотя «это не конец света», похоже, что Apple готовится к такому случаю в отношении полного прекращения поддержки OpenGL/OpenCL на Mac. Он пояснил, что на данный момент «худшее, что может случиться», — это то, что части старых приложений «сломаются», и отметил, что отсутствие единого кроссплатформенного графического API — это «боль» и «не очень хорошо для уверенности разработчиков» в Apple.
«С выводом из эксплуатации, отказ может варьироваться от ‘скоро’ до ‘никогда’, поэтому до получения информации об этом мы не можем точно сказать», — сказал он. «Все, что мы знаем, это то, что Apple, похоже, продемонстрировала намерение избавиться от OpenGL в пользу своего собственного графического API Metal. Проблема с Metal очень похожа на проблему с DirectX: она не является кроссплатформенной.
«Это не конец света, это больше похоже на то, что Apple строит гигантскую ЭМИ-машину и говорит: ‘Мы можем использовать ее, а можем и не использовать’. Худшее, что может случиться, это то, что старые вещи сломаются, и наши движки и библиотеки будут расширяться, чтобы поддерживать как Direct3D, так и Metal. Отсутствие четкого руководства для будущих действий Apple в этом отношении не очень хорошо для уверенности разработчиков, я полагаю, а отсутствие единого кроссплатформенного графического API — это просто боль.»
Больше разработчиков и программистов отреагировали на новость, сообщив PC Gamer, в том числе Алекс Остин, который в итоге сказал, что, хотя он любит разрабатывать на Mac, чтобы «поддерживать фанатов, если смогу», он, скорее всего, «не будет тратить время на Metal, потому что доля Mac на рынке довольно мала, и на самом деле, вероятно, оно того не стоит даже сейчас».