Apple anuncia tecnologías obsoletas OpenGL y OpenCL


De la presentación de Apple

Apple ha actualizado la documentación del desarrollador. Sección "¿Qué hay de nuevo?" dedicado a los cambios clave en macOS 10.14: el esquema de color oscuro Dark Mode, la nueva tecnología Create ML para crear y entrenar redes neuronales en Mac, la Mac App Store actualizada con nuevas interfaces de programación para calificaciones y reseñas (para macOS 10.14 SDK), el nuevo marco de red Network Framework Network Framework , que proporciona acceso directo a los protocolos de red TLS, TCP y UDP desde las aplicaciones, el marco de lenguaje natural para analizar el habla natural y aislar metadatos específicos de un lenguaje específico (el marco se puede usar junto con Create ML para entrenar redes neuronales).

Pero lo más interesante está oculto en el sótano, es decir, en la sección API obsoletas y eliminadas. Menciona el abandono de las tecnologías "obsoletas" OpenGL y OpenCL. Estas tecnologías reciben la "marca negra", es decir, Apple desaconseja firmemente el uso de OpenGL y OpenCL en el desarrollo de nuevos productos.

"Apple agrega periódicamente macros de desuso a la API para indicar que estas API ya no deberían usarse en el desarrollo activo", dice la documentación. - Cuando se produce la obsolescencia, esto no significa el final inmediato de la vida útil de estas interfaces de software. Esto marca el comienzo de un período de gracia para la transición de estas API a una alternativa más nueva y más moderna que está reemplazando ".

Apple señala que las API obsoletas generalmente permanecen en el sistema y se pueden usar durante un "tiempo razonable" después del lanzamiento cuando están en desuso. Sin embargo, el desarrollo activo en ellos se detiene y la API recibe solo actualizaciones de seguridad menores u otros errores críticos. Se advierte a los desarrolladores que las API obsoletas pueden eliminarse por completo de una versión futura del sistema operativo .

Apple recomienda deshacerse de las API obsoletas en su código lo antes posible. Como mínimo, el nuevo código nunca debe usar OpenGL y OpenCL. Y si algún código antiguo usa estas interfaces, entonces debe ser reemplazado lo más rápido posible.

Alternativa: metal


Las aplicaciones creadas con OpenGL y OpenCL continuarán ejecutándose en macOS 10.14, pero estas ya son tecnologías obsoletas. “Las aplicaciones de juegos y gráficos que usan OpenGL ahora deberían usar Metal. Del mismo modo, las aplicaciones que usan OpenCL para tareas computacionales ahora deberían usar Shaders de Metal y Metal Performance ”.

Metal: nuevas interfaces de software desarrolladas desde cero sin compatibilidad con versiones anteriores. Según Apple, brindan un mejor acceso a los procesadores gráficos modernos en iOS, macOS y dispositivos tvOS: “El metal evita la sobrecarga inherente a las tecnologías obsoletas y representa las últimas funciones de procesamiento de gráficos. El soporte de computación y gráficos unificados de Metal permite a las aplicaciones aprovechar la última tecnología de visualización. Para obtener información sobre el desarrollo de aplicaciones y juegos con Metal, consulte la documentación para desarrolladores de Metal , Metal Performance Shaders y MetalKit ".

Para obtener información sobre cómo migrar código OpenGL a Metal, consulte Mezcla de metal y renderizado OpenGL en una vista .

Los desarrolladores de Hacker News son escépticos sobre Apple. En general, el consenso es este: esta compañía realmente odia los juegos de computadora o sufre severamente de un síndrome de rechazo del desarrollo de otro (síndrome NIH). Esta es una posición en las culturas sociales, corporativas u organizativas que evita el uso de desarrollos de terceros por varias razones: miedo a la infracción de patentes, malentendido del trabajo de otra persona, falta de voluntad para reconocer o apreciar el trabajo de otros, celos o como parte de una "guerra por el territorio" más amplia. Supuestamente, la tecnología Metal confirma la presencia del síndrome NIH.

Los comentaristas también recuerdan que debido al descuidado soporte para OpenGL, el proyecto Elite Dangerous para Mac recientemente tuvo que cerrarse .

Por otro lado, hoy la mayoría de los juegos se crean en Unity3D, Unreal Engine y otros motores que admiten Metal. Bueno, quien haya invertido tiempo y dinero en el desarrollo de OpenGL / OpenCL tiene la culpa.

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


All Articles