
-
Descubrir Metal 4
Descubre cómo empezar a aprovechar las nuevas y avanzadas funciones de Metal 4 en tus apps de Metal existentes. Hablaremos de cómo Metal te permite aprovechar al máximo Apple Chip y programar el hardware de forma más eficiente. También aprenderás cómo Metal 4 te proporciona nuevas capacidades para integrar el aprendizaje automático en tu código de Metal.
Capítulos
- 0:00 - Introducción
- 1:44 - Comandos de codificación
- 4:03 - Gestionar recursos
- 10:43 - Compilar shaders
- 13:52 - Integrar aprendizaje automático
- 17:26 - Optimizar con MetalFX
- 19:22 - Iniciar adopción de Metal 4
- 23:08 - Próximos pasos
Recursos
- Processing a texture in a compute function
- Understanding the Metal 4 core API
- Using a render pipeline to render primitives
- Using the Metal 4 compilation API
Videos relacionados
WWDC25
-
Buscar este video…
Hola, te doy la bienvenida. Soy Aaron y les mostraré una actualización clave en API Metal. Metal es la API de bajo nivel de gráficos y procesamiento de Apple. Impulsó varias generaciones de apps complejas, incluidos juegos como Cyberpunk 2077 y potentes apps profesionales. Metal es clave para que los desarrolladores conciban la renderización y el procesamiento en las plataformas de Apple. Con más de una década de trayectoria, Metal 4 lleva la API al siguiente nivel, lo que permite a los desarrolladores crear juegos y apps más exigentes. Metal 4 se diseñó para las próximas generaciones de juegos, gráficos y apps. Libera todo el potencial de rendimiento del chip de Apple mientras garantiza una experiencia familiar y accesible para los usuarios de otras API, como DirectX. Metal 4 forma parte de la estructura de Metal que quizás tengas en tu app y es compatible con dispositivos con el chip M1 de Apple y posteriores, y con el chip A14 Bionic y posteriores. Metal 4 ofrece una estructura de comandos nueva con administración de memoria explícita y cambia la administración de los recursos para admitir imágenes más ricas y complejas. La compilación de sombreado es más rápida y tiene más opciones, para que puedas reducir la compilación redundante y el aprendizaje automático se integre con el resto de tu app Metal. Hay nuevas soluciones disponibles en MetalFX para mejorar el rendimiento de tu app. Te mostraré cómo iniciar la adopción de Metal 4. Primero, explicaré cómo tu app codifica y envía comandos. Metal se representa en el sistema por un dispositivo Metal que el SO proporciona a tu app. Una vez que tienes ese dispositivo, puedes crear comandos para enviar trabajo al hardware y búferes de comandos con el trabajo para enviar. Los codificadores de comandos te permiten codificar comandos en esos búferes. Puedes aprovechar Metal 4 con el mismo MTLDevice que tu app usa ahora. Metal 4 ofrece un modelo nuevo y familiar para codificar comandos y presenta nuevas versiones del resto de estos objetos. Estos cambios comienzan con MTL4CommandQueue, que tu app puede obtener con MTLDevice. Metal 4 desacopla los búferes de comandos de la cola que los utilizará de modo que tu app requiere un MTL4CommandBuffer del dispositivo. Los búferes de comandos son independientes, lo que permite que tu app los codifique fácilmente en paralelo. Las apps usan los codificadores para ejecutar distintos comandos, como dibujos, envíos, blits y estructuras de aceleración. Metal 4 consolida los codificadores existentes. Con el nuevo codificador de procesamiento unificado, puedes usar la codificación de comandos de estructura de aceleración y blits. Esto reduce el total de codificadores necesarios. También hay un nuevo MTL4RenderCommandEncoder. Usa un mapa de asignaciones para asignar salidas de shader lógicas a adjuntos de color físicos. Tu app puede configurar el mapa de asignaciones de un codificador de renderizado único con todos los adjuntos y luego intercambiarlos sobre la marcha. Así que no debes asignar codificadores de renderizado adicionales para ahorrar memoria de la app y código innecesario. La app puede usar combinaciones de codificadores disponibles para codificar comandos en búferes de comandos. Los búferes se respaldan en la memoria. Cuando se codifican comandos, los datos se escriben en esta memoria. En Metal 4, un asignador de comandos administra esta memoria. Crea un asignador de comandos para tener control directo del uso de la memoria del búfer de tu app. La administración de la memoria es clave para maximizar lo que se puede incluir en los recursos del sistema. Esas apps están usando más recursos que nunca. Tu app administra los recursos de otra forma en Metal 4. Metal usa dos tipos fundamentales de recursos. Los búferes almacenan datos genéricos formateados y las texturas almacenan datos con formato de imagen. Antes, las apps usaban menos recursos, a veces un búfer y textura por objeto. Luego, agregaron más texturas para mejorar el nivel de detalle de la superficie. Y para generar variedad en el renderizado, también agregaron más geometría. Las apps modernas siguieron la tendencia e incorporaron más recursos para respaldar casos de uso complejos. Aunque los recursos aumentaron, las API solo exponían un conjunto fijo de puntos de enlace de recursos para cada operación de dibujo o despacho. Antes, cada dibujo solía usar solo unos pocos. Por ejemplo, este conejito tiene una textura y un búfer para su geometría. Para cada dibujo, se pueden usar distintos búferes de geometría y texturas para alterar el aspecto de la superficie. Y a medida que las llamadas de dibujo aumentaron y los shaders se complejizaron, aumentó el consumo de tiempo de CPU. Por eso, las apps eliminaron los puntos de enlace, y los recursos enlazados se trasladaron a otro búfer para almacenarlos. Así, la app solo debe vincular un búfer de argumento para cada objeto, o incluso para toda la escena. Esto permite reducir significativamente los puntos de enlace que necesitas. Para evitar que la app pague por puntos de enlace adicionales, Metal 4 ofrece una nueva tabla de argumentos para guardar los puntos de enlace. Estas tablas se especifican para cada etapa de un codificador, pero se pueden compartir. Puedes crear tablas con un tamaño basado en los puntos de enlace necesarios. En las apps sin enlace, la tabla de argumentos solo necesita un enlace de búfer. El GPU también debe tener acceso a todos estos recursos. Aquí entra en juego la residencia. El chip de Apple ofrece un gran espacio de memoria unificado. Pueden almacenarse todos los recursos de la app, pero Metal necesita saber qué recursos deben ser residentes. En Metal 4, tu app usa conjuntos para especificar los recursos que deben convertirse en residentes. Esto permite que el hardware pueda acceder a ellos. Estos conjuntos se integran fácilmente en la codificación por cuadro y la confirmación de búferes de comandos. Debes asegurarte de que el conjunto de residencia contenga todos los recursos necesarios para el búfer que confirmas. Como el contenido del conjunto no suele presentar cambios, este se puede completar al iniciar la app. Luego, puedes agregarlo a una cola de comandos de Metal 4. Así, todos los búferes comprometidos en esa cola incluirán esos recursos. Si debes realizar una actualización, debería tener un menor tiempo de ejecución. Para las apps que transmiten recursos en un subproceso separado, puedes trasladar el costo de actualizar el conjunto de residencia a ese subproceso y realizar la actualización en paralelo con la codificación. Un juego que aprovechó bien los conjuntos de residencia es Control Ultimate Edition. Tuukka Taipalvesi, de Remedy Entertainment, dijo que en Control Ultimate Edition los conjuntos de residencias se pudieron integrar fácilmente. Al separar los recursos en conjuntos de residencia según el uso y administrar las residencias de recursos en un subproceso en segundo plano, se redujo la sobrecarga por la administración de las residencias y el uso de la memoria al desactivar el trazado de rayos.
Desarrollar juegos grandiosos como Control requiere más recursos que nunca. Podría requerir más memoria de la disponible, en especial si apuntas a una variedad de dispositivos. Para aprovechar la memoria disponible, tu app puede controlar dinámicamente cómo los recursos la usan. Esto requiere un control detallado de cómo se asigna a los recursos, ya que no todos los recursos son necesarios a la vez. Se puede ajustar la calidad controlando el nivel de detalle para admitir el mismo contenido en una gran variedad de dispositivos. Para ello, la app puede usar recursos dispersos con asignación manual.
Metal 4 admite búferes y texturas asignados como recursos dispersos. Estos recursos se asignan sin página para almacenar sus datos y las páginas provienen de un heap de colocación. Tu app asigna páginas de este heap para brindar almacenamiento para el contenido del recurso. Dado que de Metal 4 se centra en la concurrencia, debes sincronizar las actualizaciones de los recursos. Para simplificarlo, Metal 4 presenta una API de barrera que brinda una sincronización por etapa de baja sobrecarga que se ajusta a las barreras de otras API. Puedes ver las barreras en acción en la muestra de Metal 4 de procesamiento de una textura en una función de cálculo. Comienza con una imagen a color, aplica un shader de procesamiento que la convierte a escala de grises y muestra esa textura convertida en la pantalla. Estos pasos tienen una dependencia del recurso compartido: la salida del procesamiento de textura. La muestra garantiza que las escrituras y lecturas de recursos tengan el orden correcto usando barreras de Metal 4. Sin la sincronización, estos pasos podrían ejecutarse en cualquier orden, lo que implicaría el uso de contenidos de textura incorrectos o salidas erróneas si los pasos se superponen. Para que el orden sea correcto, la app usa una barrera. Las barreras funcionan por etapa. Así que deberás considerar en qué etapa se ejecuta cada operación, según las etapas del codificador.
El procesamiento de la textura se ejecutará en un codificador como una operación de etapa de despacho. El render será parte de un codificador de comando, que lee la textura en una operación de fragmento. Entonces, necesitas una barrera de despacho a fragmento, que espera a que se complete el trabajo antes de permitir que comience el trabajo del fragmento. El uso efectivo de barreras es importante para lograr el mejor rendimiento en tu app, especialmente muchos recursos.
Además de los recursos, las apps modernas también administran una gran cantidad de shaders. Esos deben compilarse antes de enviarse al hardware para realizar renderizaciones y cálculos par tu app. Los shaders usan el lenguaje de shader de Metal y se reducen a Metal IR. Luego, el IR se compila en binarios de GPU que el hardware ejecuta de forma nativa. Como desarrollador, puedes controlar cuándo se compila el shader. El dispositivo Metal ofrece una interfaz para enviar shaders al SO para su compilación por el CPU. Metal 4 administra la compilación con contextos de compilación dedicados. La nueva interfaz MTL4Compiler ahora está separada del dispositivo. Tu app usa el dispositivo para asignar la interfaz del compilador. La interfaz brinda un control claro y explícito de cuándo tu app realiza la compilación en el CPU. Con MTL4Compiler, también puedes aprovechar las mejoras de programación en la pila de compilación de shaders. MTL4Compiler hereda la clase de calidad de servicio asignada al subproceso que solicita la compilación. Cuando se compilan varios subprocesos al mismo tiempo, el SO prioriza las solicitudes de los de mayor prioridad para garantizar que los shaders más importantes se procesen antes de pasar a otras compilaciones. El control explícito de la compilación es importante, ya que las apps modernas tienen muchos shaders. En la generación del estado del proceso, se debe compilar cada shader por primera vez para que continúe el trabajo del GPU. A veces, los procesos comparten un Metal IR. Por ejemplo, tu app puede aplicar estados de color para renderizar distintas transparencias. Esa misma situación puede aplicarse a otros conjuntos de procesos. Metal 4 permite realizar optimizaciones para este caso y reducir el tiempo para la compilación de shaders. Ahora los procesos pueden usar estados de renderización flexibles para crear un Metal IR común por única vez. Esto crea un proceso no especializado. Luego, la app especializa el proceso con el estado de color deseado. Metal reutiliza el Metal IR compilado para crear un proceso especializado para ejecutar. Los estados de los procesos de renderizado flexibles ahorran tiempo al reutilizar Metal IR en los procesos. La app crea un proceso no especializado una vez antes de especializarlo para cada estado de color necesario. Puedes repetir este paso en otros procesos con Metal IR y compartir los resultados de cada uno para reducir el tiempo que tu app dedica a compilar shaders. La compilación consume tiempo de CPU. La ruta más eficaz es eliminar por completo la compilación en el dispositivo. Metal 4 agiliza la recolección de configuraciones de procesos. Para obtener más información sobre cómo aprovechar el flujo de trabajo de compilación de Metal 4, y sobre la codificación de comandos, explora los juegos de Metal 4. Con Metal 4 nunca fue tan fácil integrar el aprendizaje automático, lo que genera nuevas oportunidades para tu app. El aumento de escala, la compresión de activos, la combinación de animaciones y el sombreado neuronal se benefician de la app específica del aprendizaje automático. Para aplicarlas de manera eficiente, las apps deben operar estructuras y conjuntos de datos complejos. Los búferes dejan gran parte del trabajo pesado a la app y las texturas no se adaptan bien. Metal 4 agrega soporte para tensores, un recurso fundamental de aprendizaje automático, compatible con todos los contextos. Los tensores de Metal son contenedores de datos multidimensionales. No solo comprenden dos dimensiones, lo que brinda flexibilidad para describir el diseño de datos necesario para el uso práctico del aprendizaje automático. Metal 4 integra tensores directamente en la API y en el lenguaje de sombreado de Metal. Los tensores descargan la indexación compleja en datos multidimensionales para que tu app Metal 4 los utilice para aplicar aprendizaje automático de formas novedosas. Para facilitarlo aún más, Metal 4 amplía el conjunto de codificadores compatibles. El nuevo codificador de comandos de aprendizaje automático te permite ejecutar redes a gran escala en tu app Metal. Los codificadores de aprendizaje automático funcionan como los codificadores Metal existentes. Los tensores se consumen como recursos asignados en una tabla de argumentos. La codificación se realiza en los mismos búferes de comandos de Metal 4 y admite barreras de sincronización con tus otros codificadores. Los codificadores de aprendizaje automático de Metal 4 son compatibles con redes expresadas en el formato de paquete de CoreML existente. Usa la cadena de herramientas Metal para convertirlos en un paquete Metal y luego incorpora la red en tu codificador. El nuevo codificador de aprendizaje automático es ideal para las redes grandes que necesitan entrelazado a nivel de comando con el resto de tu app Metal. Si tienes redes más pequeñas, Metal 4 brinda flexibilidad para integrarlas directamente en tus procesos de shader existentes. Por ejemplo, la evaluación de material neuronal reemplaza las texturas tradicionales con datos de texturas latentes. Tu app toma muestras de esas texturas latentes para crear tensores de entrada, realiza inferencias con valores de muestra y usa la salida final para el sombreado. Dividir cada paso por proceso es ineficiente, ya que cada paso necesita sincronizar tensores de la memoria del dispositivo, operarlos y sincronizar las salidas para las operaciones posteriores. Para un mejor rendimiento, tu app debe combinar estos pasos en un único despacho de shader para que cada operación pueda compartir la memoria del subproceso común. Implementar la inferencia es una tarea compleja, pero Metal 4 la simplifica con sus primitivas de rendimiento. Las primitivas de rendimiento de Metal son operaciones básicas del shader diseñadas para ejecutar cálculos complejos que pueden operar de forma nativa en tensores. Están optimizadas para funcionar a alta velocidad en el chip de Apple. Las operaciones tensoriales son perfectas para integrar pequeñas redes en tus shaders. Tu app puede aprovecharlas como parte del lenguaje de sombreado de Metal para que el compilador de shader del SO incorpore el código de shader, optimizado para el dispositivo, directamente en tu shader. Para obtener más información sobre las nuevas funcionalidades de aprendizaje automático de Metal, ve el video sobre la combinación de aprendizaje automático y gráficos de Metal 4. Metal 4 te ofrece todas las herramientas para integrar técnicas de aprendizaje automático de vanguardia. También puedes aprovechar las soluciones listas para producción integradas en MetalFX. Los dispositivos Apple tienen pantallas de alta resolución perfectas para tus increíbles juegos. MetalFX permite que tu app ofrezca altas resoluciones a frecuencias de actualización aún mayores al renderizar escenas complejas con reflejos realistas.
La renderización de imágenes de alta resolución puede sobrecargar bastante el GPU. En cambio, tu app puede renderizar imágenes de baja resolución y usar MetalFX para ampliarlas. El tiempo combinado para renderizar la imagen final se reduce, lo que permite ahorrar tiempo por cada fotograma que renderiza. Con ese tiempo renderiza anticipadamente el siguiente fotograma. Si quieres alcanzar las frecuencias de actualización más altas sin sacrificar calidad, MetalFX tiene una excelente solución. MetalFX agrega soporte para la interpolación de cuadros. Tu app puede usarlo para generar cuadros intermedios en menos tiempo del que tomaría renderizar cada cuadro desde cero. Con esos cuadros intermedios, logra velocidades de cuadros aún más altas. El trazado de rayos es otra técnica que usan las apps para lograr renderizados realistas trazando rayos desde la cámara hasta una fuente de luz. Si se trazan pocos rayos, la imagen resultante será demasiado ruidosa para su uso. MetalFX ahora admite la eliminación de ruido durante la ampliación, por lo que se puede eliminar el ruido de las imágenes renderizadas con pocos rayos y ofrecer resultados de tamaño completo. MetalFX te ayuda a ofrecer resultados increíbles para tus jugadores, con mayores frecuencias de actualización. En combinación con el trazado de rayos de Metal 4, puede ofrecer resultados increíbles. Obtén más información sobre estas funcionalidades en "Más allá con los juegos de Metal 4". Tu app puede combinar todas estas funcionalidades para hacer cosas increíbles. Metal 4 está diseñado para brindar una portabilidad accesible y modular. Una app se compone de distintas funcionalidades, incluidas: compilación de shaders, codificación y envío de comandos al hardware y, finalmente, administración de recursos. Cada una de ellas puede abordarse por separado en sus propias fases. La compilación es quizás el paso inicial más fácil. Puedes asignar un compilador de Metal 4 e insertarlo en los flujos de compilación para mejorar la calidad del servicio. Una vez que adoptes la nueva interfaz de compilación, tu app podrá integrar procesos de renderizado flexibles para acelerar su compilación o aprovechar las mejoras de reutilización para mejorar la compilación anticipada. Adoptes o no el nuevo compilador, tu app también puede beneficiarse de la generación de comandos con Metal 4. Con el modelo de generación y codificación de comandos de Metal 4, tienes más control de tus asignaciones de memoria. Y puedes aprovechar la codificación paralela nativa en todos los codificadores para acelerar la codificación, y el conjunto nuevo de funcionalidades de aprendizaje automático de Metal 4 ofrece nuevas posibilidades para tus canales de renderizado. Tu app puede adoptar el codificador de aprendizaje automático, o aprendizaje automático del shader, según la red que quieras integrar. puedes llevarlo un paso más lejos con la gestión de recursos de Metal 4. Los conjuntos de residencias son un éxito. Intégralos para simplificar el proceso de administración de residencias. Las barreras permiten sincronizar el acceso a los recursos entre pasadas con eficiencia y los recursos dispersos con asignación manual te permiten implementar transmisiones de recursos en tu app Metal. Como desarrollador, estás en la mejor posición para decidir cómo mejorar tu app. Metal 4 te brinda flexibilidad para adoptar la nueva funcionalidad donde más la necesitas. Los recursos dispersos con asignación manual son un ejemplo de una funcionalidad que habilita un caso de uso específico. Ahora te explicaré cómo integrarla en tu app Metal existente. Tu app Metal ya confirma trabajo con la cola de comandos existente, mientras que las operaciones de asignación de recursos dispersos requieren una cola de comandos. Puedes utilizar un MTLEvent para sincronizar el trabajo entre las colas de comandos de Metal y Metal 4. La primera llamada de evento de señal desbloquea MTL4CommandQueue para actualizar las asignaciones de recursos dispersos. Una segunda le indica a tu app que continúe el trabajo de renderizado con la asignación de recursos dispersos. Puedes usar el mismo MTLEvent de antes. Tu app debe enviar el trabajo que no dependa de esos recursos antes de esperar al evento para que el hardware siga utilizándose por completo. Metal viene con herramientas para desarrolladores diseñadas para depurar y optimizar tus apps Metal. Este año, estas herramientas serán compatibles con Metal 4. La validación de la API y de Shader te ahorra tiempo, ya que identifica problemas comunes. El depurador integral de Metal te ayuda a conocer a fondo el uso de Metal 4. El HUD de rendimiento de Metal ofrece una superposición en tiempo real para monitorear el rendimiento, y Metal System Trace permite analizar en detalle los rastros de rendimiento de tu app. Puedes obtener información sobre estas herramientas y encontrar su documentación en el sitio web de Apple Developer. Consulta "Sube de nivel tus juegos" para conocer técnicas para depurar y optimizar tus juegos. Xcode 26 también incluye una plantilla Metal 4 integrada. Comienza un proyecto y selecciona Plantillas de juego antes de elegir Metal 4 como tu tecnología. Con la plantilla Xcode, es fácil hacer una renderización básica y comenzar tu viaje en Metal 4. Ahora que ya sabes lo que Metal 4 puede hacer, puedes aprender cómo aplicarlo según las necesidades de tu app. Si creas un juego, puedes explorar cómo usar las nuevas funcionalidades de compilación y codificación de comandos de Metal 4. Luego, podrás ir más lejos y optimizar tu juego con MetalFX, y descubrir cómo aprovechar el trazado de rayos de esta API. También podrás usar Metal 4 para combinar aprendizaje automático y gráficos en tu app Metal. Metal 4 permite una nueva generación de apps y juegos con funcionalidades increíbles. Esto es solo el comienzo de todo lo que hay para descubrir. Puedes comenzar a usar Metal 4 en tus apps con la próxima versión beta para desarrolladores. El código de muestra es un excelente ejemplo de cómo adoptar Metal 4. Ya está disponible. ¡Gracias por acompañarnos!
-
-
- 0:00 - Introducción
La API Metal de Apple tiene una actualización importante con Metal 4, diseñada pensando las próximas generaciones de juegos, gráficos y apps de cómputo. Ofrece gestión de memoria explícita, gestión de recursos más robusta, compilación de sombreadores más rápida, integración ML perfecta y nuevas funciones de rendimiento de MetalFX. Metal 4 es compatible con los chips Apple M1 (y posteriores) y A14 Bionic (y posteriores) y se basa en la estructura Metal existente.
- 1:44 - Comandos de codificación
Puedes aprovechar Metal 4 con el mismo MTLDevice que tu app usa ahora. Metal 4 introduce nuevos objetos para una mayor flexibilidad, como 'MTL4CommandAllocator' para el control directo de la memoria del búfer de comandos y 'MTL4RenderCommandEncoder' con un mapa adjunto que asigna salidas de sombreador lógico a adjuntos de color físicos. Tu app puede configurar e intercambiar archivos adjuntos de color con un único codificador de renderizado, ahorrando memoria y código.
- 4:03 - Gestionar recursos
Metal 4 optimiza la gestión de recursos para apps modernas, las cuales utilizan muchos más buffers y texturas que nunca. Con el nuevo tipo MTL4ArgumentTable, puedes almacenar los puntos de enlace a los recursos que necesita tu app. Usa conjuntos residentes para especificar los recursos que Metal debe convertir en residentes en la GPU. Se puede completar el ingreso del conjunto de recursos al iniciar la app y las actualizaciones posteriores tienen un costo mínimo de CPU. Los buffers y texturas de Metal 4 se pueden asignar como recursos de ubicación dispersos, lo que te brinda un control detallado de cómo se asigna la memoria a esos recursos. Metal 4 también presenta una API de barrera de baja sobrecarga para la sincronización de recursos etapa a etapa.
- 10:43 - Compilar shaders
Metal 4 presenta la nueva interfaz MTL4Compiler, la cual te proporciona control explícito sobre cuándo tu app realiza la compilación de sombreadores en la CPU. Con los nuevos estados de canalización de renderizado flexibles, puedes crear una canalización no especializada que luego puede especializarse reutilizando Metal IR común para diferentes estados de color, lo que reduce el tiempo que tu app dedica a compilar sombreadores.
- 13:52 - Integrar aprendizaje automático
Metal 4 hace que sea más fácil que nunca integrar el aprendizaje automático en tus apps y juegos. Se benefician las técnicas de renderizado como el aumento de escala, la compresión de activos, la combinación de animación y el sombreado neuronal. Metal 4 agrega soporte para tensores, contenedores de datos multidimensionales diseñados específicamente para el aprendizaje automático, tensores directamente en la API y en el lenguaje de sombreado de Metal.
- 17:26 - Optimizar con MetalFX
MetalFX permite que tu app ofrezca altas resoluciones a frecuencias de actualización aún mayores al renderizar escenas complejas con reflejos realistas. Tu app puede renderizar imágenes de baja resolución y MetalFX las ampliará. MetalFX también agrega soporte para interpolación de cuadros, que tu app puede usar para generar cuadros intermedios mucho más rápido que al generarlos desde cero, de modo que puedes lograr velocidades de cuadros aún más altas. Para las escenas de trazado de rayos, MetalFX admite ahora la eliminación de ruido durante la ampliación, por lo que tu app puede obtener imágenes renderizadas con pocos rayos y ofrecer resultados de tamaño completo.
- 19:22 - Iniciar adopción de Metal 4
Metal 4 está diseñado para brindar una portabilidad accesible y modular. Puedes adoptarlo en tu juego o app de Metal existente con un enfoque modular. Céntrate en el área que tendrá el mayor impacto: la compilación de shaders, la codificación y el envío de comandos al hardware o la administración de recursos. Para muchos de estos, los conjuntos de residencias son un éxito. La colocación dispersa también es un gran ejemplo de una característica que habilita un caso de uso específico y es fácil integrarla en una app de Metal existente. Sobre la marcha, utiliza el conjunto avanzado de herramientas para desarrolladores de Metal que admite Metal 4, lo cual te ayudará a depurar y optimizar tus apps de Metal. Más allá de la compilación, Metal 4 ofrece modelos de generación y codificación de comandos que brindan un mayor control sobre las asignaciones de memoria, permiten la codificación paralela nativa e introducen capacidades de aprendizaje automático para optimizar las canalizaciones de renderizado. La gestión de recursos en Metal 4 también se simplifica a través de características como conjuntos de residencia, barreras y ubicación de recursos dispersos, que permiten una transmisión eficiente de recursos. Metal 4 viene con un conjunto avanzado de herramientas de desarrollador para depuración, optimización y monitoreo del rendimiento. Xcode 26 incluye una nueva plantilla Metal 4, lo que facilita comenzar a crear y optimizar apps de Metal 4.
- 23:08 - Próximos pasos
Metal 4 permite una nueva generación de apps y juegos con funcionalidades increíbles. Ya está disponible el código de muestra, un excelente ejemplo de cómo adoptar Metal 4.