Con el próximo lanzamiento de OS X El Capitan con la API de Metal, ¿veremos más juegos de Windows disponibles en Mac?

Estoy bastante seguro de que la respuesta debe ser “No”; Glyn Williams dio parte de la respuesta de DirectX, pero en realidad hay una razón más grande por la que no apuntarías a OpenGL sin una biblioteca intermedia.

Uno de los problemas que la gente ve con frecuencia con los juegos en Mac OS X y Linux es que las texturas que se utilizan tienden hacia bucles infinitos. No se ve esto en los juegos dirigidos a DirectX porque DirectX intentará desenrollar la textura para el renderizador de DirectX, y si no puede hacerlo, lo ejecuta por un tiempo limitado o tira la textura.

Tanto Mac OS X como Linux, por otro lado, alimentan el GL directamente a la tarjeta gráfica, y durante la ejecución de la textura, se come un canal de visualización.

Otro mecanismo anti-bloqueo implementado en Windows, pero no implementado en Mac OS X o Linux, es reservar un canal GL para restablecer la tarjeta de video. La capacidad de restablecer la tarjeta en banda en un canal de gráficos era un requisito para las tarjetas de video para la certificación DirectX 9.x. Ni Linux ni Mac OS X reservan el canal para este propósito, por lo que si se encuentran en una situación de bloqueo de gráficos, no pueden recuperarse sin emitir un reinicio de hardware en la tarjeta.

Esta es la razón por la que a veces ves juegos con gráficos complicados que “se ven mejor” en Mac OS X o Linux en exactamente el mismo hardware que Window, pero pueden colgarse periódicamente.

Curiosamente: Google tiene un intérprete GL que usa para Chrome y, si lo usaran profilácticamente dentro de Chrome para WebGL, podría evitar bloqueos de contenido de WebGL en Mac OS X y Linux (Google no lo usa de esta manera).

Otra cosa que sería (relativamente) trivial implementar para un programador experto sería una implementación de DirectX para plataformas que no sean Windows, sin el intérprete GL, que, en teoría, podría obtenerse de Chrome, dependiendo de la licencia que estuviera dispuesto a vivir bajo para el software agregado.

Esto facilitaría el puerto de código directamente desde Windows, con muchas advertencias (las bibliotecas de red, etc., dependiendo de qué tan dependientes de la plataforma hicieran el resto del motor del juego).

Los juegos de Windows escritos en Direct X tendrían que ser portados a OpenGL para ejecutarse en Mac. Esto significaría un esfuerzo significativo y una pérdida de rendimiento.

Reescribir en Metal es probablemente un poco más fácil, y la diferencia de rendimiento es menor. Entonces, tal vez se portarán algunos juegos más.

Pero no creo que la Mac se convierta en un ciudadano de primera clase de la comunidad que ejecuta juegos en el corto plazo.

Definitivamente no. La API de Metal compite directamente con cosas como DirectX, que se usa en juegos de Windows. El desarrollador tendría que portar todo el juego a una API compatible con Mac (en este caso, Metal). Esto es casi exactamente lo mismo que siempre ha sido. Hasta donde yo sé, Metal tampoco es para Windows, por lo que no verás que se desarrollen cosas nuevas multiplataforma.

Realmente no lo estoy viendo, yo mismo.

En primer lugar, ¿vale la pena transferir los juegos a una plataforma con una base de usuarios bastante pequeña en comparación? Tal vez, ciertamente podría ser.

Pero si eres un gran jugador, probablemente ya tienes una PC.

Por último, las Macs tienden a no venir con GPU con potencia de jugador, y casi ninguna Macs se puede actualizar de la forma en que a menudo les gusta a los jugadores de PC.

Entonces, básicamente, estás vendiendo juegos en un mercado más pequeño, dentro de ese mercado, supongo que las personas que quieren juegos de primer nivel ya han resuelto ese problema con una PC. Aquellos que no lo hayan hecho, quizás ni siquiera tengan Macs capaces de ejecutar juegos de primer nivel.