Apple anuncia obsoletas tecnologias OpenGL e OpenCL


Da apresentação da Apple

A Apple atualizou a documentação do desenvolvedor. Seção "O que há de novo?" dedicada às principais mudanças no macOS 10.14: o esquema de cores escuras Dark Mode, a nova tecnologia Create ML para criar e treinar redes neurais no Mac, a Mac App Store atualizada com novas interfaces de programação para classificações e análises (para macOS 10.14 SDK), o novo framework de rede Network Framework , que fornece acesso direto aos protocolos de rede TLS, TCP e UDP dos aplicativos, a estrutura Natural Language para analisar a fala natural e isolar metadados específicos de uma linguagem específica (a estrutura pode ser usada em conjunto com o Create ML para o treinamento de redes neurais).

Mas o mais interessante está oculto no porão, nomeadamente na seção Deprecations and Removed APIs. Menciona o abandono das tecnologias OpenGL e OpenCL "obsoletas". Essas tecnologias recebem a “marca preta”, ou seja, a Apple desencoraja fortemente o uso do OpenGL e OpenCL no desenvolvimento de novos produtos.

"A Apple periodicamente adiciona macros de descontinuação à API para indicar que essas APIs não devem mais ser usadas no desenvolvimento ativo", diz a documentação. - Quando a obsolescência ocorre, isso não significa o fim da vida útil imediata dessas interfaces de software. Isso marca o início de um período de carência para a transição dessas APIs para uma alternativa mais nova e moderna que está sendo substituída. ”

A Apple observa que as APIs obsoletas geralmente permanecem no sistema e podem ser usadas por um "tempo razoável" após o lançamento, quando são preteridas. No entanto, o desenvolvimento ativo é interrompido e a API recebe apenas pequenas atualizações de segurança ou outros erros críticos. Os desenvolvedores são avisados ​​de que as APIs obsoletas podem ser completamente removidas de uma versão futura do sistema operacional .

A Apple recomenda se livrar de APIs obsoletas em seu código o mais rápido possível. No mínimo, o novo código nunca deve usar o OpenGL e o OpenCL. E se algum código antigo usa essas interfaces, ele precisa ser substituído o mais rápido possível.

Alternativa: Metal


Os aplicativos criados usando o OpenGL e o OpenCL continuarão em execução no macOS 10.14, mas essas já são tecnologias obsoletas. “Os aplicativos de jogos e gráficos usando o OpenGL agora devem usar o Metal. Da mesma forma, aplicativos usando OpenCL para tarefas computacionais agora devem usar Metal e Metal Performance Shaders. ”

Metal - novas interfaces de software desenvolvidas a partir do zero sem compatibilidade com versões anteriores. Segundo a Apple, eles fornecem melhor acesso aos processadores gráficos modernos em iOS, macOS e dispositivos tvOS: “O metal evita a sobrecarga inerente às tecnologias desatualizadas e representa as mais recentes funções de processamento gráfico. O suporte gráfico e de computação unificado da Metal permite que os aplicativos aproveitem a mais recente tecnologia de visualização. Para obter informações sobre o desenvolvimento de aplicativos e jogos usando o Metal, consulte a documentação do desenvolvedor do Metal , Metal Performance Shaders e MetalKit . ”

Para obter informações sobre como migrar o código OpenGL para o Metal, consulte Misturando Metal e Renderização OpenGL em uma Visualização .

Os desenvolvedores do Hacker News são céticos em relação à Apple. Em geral, o consenso é este: essa empresa odeia realmente os jogos de computador ou sofre severamente de uma síndrome de rejeição do desenvolvimento de outra pessoa (síndrome do NIH). Esta é uma posição nas culturas sociais, corporativas ou organizacionais que evita o uso de desenvolvimentos de terceiros por várias razões: medo de violação de patente, mal-entendido do trabalho de outra pessoa, falta de vontade de reconhecer ou apreciar o trabalho de outras pessoas, ciúme ou como parte de uma "guerra pelo território" mais ampla. Alegadamente, a tecnologia Metal confirma a presença da síndrome do NIH.

Os comentaristas também lembram que, devido ao suporte descuidado ao OpenGL, o projeto Elite Dangerous para Mac teve que fechar recentemente.

Por outro lado, hoje a maioria dos jogos é criada no Unity3D, no Unreal Engine e em outros mecanismos compatíveis com o Metal. Bem, quem quer que tenha investido tempo e dinheiro em desenvolvimento para o OpenGL / OpenCL é o culpado.

Source: https://habr.com/ru/post/pt413335/


All Articles