La conspiración de EA

Hace unos días, el director técnico del motor Frostbite de EA dejo ir la siguiente perla en su twitter:

tweetCell

Se que no se nada como esta tal Stefan Boberg, se que el hecho que el CBEA no este siendo utilizado por nadie en estos momentos marca muy bien su fracaso pero resulta irónico cuando en estos momentos el concepto computación+gráficos desde la GPU sea el mismo que el que tenía el CBEA, aunque si miramos el resto de las cosas él tiene una enorme razón… ¿el motivo? Lo mejor es refrescar lo que es el CBEA antes que nada y porque resulto un retraso enorme.

CellPPE

El CBEA era un procesador compuesto por una CPU de proposito general y de un solo núcleo y luego 8 procesadores de caudal de apoyo llamados SPE. Estos son muy parecidos a los Shaders pero sin las unidades no programables de proposito gráfico, es decir sin las unidades de texturas, ROPS… Los SPE no tenían acceso a la memoria principal y cada uno de ellos tenía unos 256KB desde donde realizaban su trabajo, pero como no tenían acceso a la RAM principal sus datos tenían que ser administrados por el único núcleo de proposito general que había.

La competencia directa que era Xbox 360 tenía una CPU mucho más conservadora, utilizaba el mismo núcleo de proposito general que el el CBEA pero no disponía de los SPE, eso si, el núcleo de proposito general venía por triplicado.

¿Desde que perspectiva han evolucionado las cosas? Desde la de tener varios núcleos de proposito general. Es decir, si queréis una enorme prueba de la influencia de los grandes editores en el desarrollo de PS4 y Xbox One esta es una prueba muy clara, no querían que Sony fuese con otro CBEA y tienen la suficiente fuerza como para provocar un giro de 180º en lo que es el planteamiento de las consolas de un fabricante. Lo digo porque el planteamiento del CBEA era en realidad un continuismo del planteamiento del EE de PS2, pero sobretodo fue producto de una Sony subida completamente en la cima, teniendo el mercado a sus pies durante dos generaciones enteras y con “La Industria” de los nervios porque habían conseguido sacar del trono a Nintendo para colocar a Sony que dominaba con mano de hierro.

SonyArrogancia

Los editores independientes fueron los que le dieron fuerza a Microsoft para que se convirtiese en el contrapeso a Sony, es lo mismo que hicieron muchos a principios de los 90 con la Genesis/Mega Drive frente a Nintendo, crear un equilibrio de fuerzas entre los fabricantes que les permitiese controlar el mercado ya que ningún fabricante sería lo suficientemente poderoso como para imponer su ley durante la generación. La Sony que desarrollo y lanzo una consola con el CBEA era la Sony triunfante con PS2, que había conseguido que los desarrolladores callasen y tragasen con el EE de PS2 por la posición dominante que tenían en el mercado.

Pero en el caso de EA la conspiración va mucho más allá, la gente esto hoy en día lo pasa por alto pero no nos podemos olvidar que:

  1. Tanto PS4 como Xbox One utilizaban GPUs bajo arquitectura AMD GCN 1.1.
  2. EA escribió una API de “bajo nivel” llamada Mantle para dichas GPUs de AMD en PC.AMD-Mantle-API

La idea de EA fue muy simple, crear una API de “bajo nivel” para todas las plataformas haciendo uso de la arquitectura GCN de tal manera que se acabaría creando una homogeneidad en cuanto al desarrollo. Es decir, permitir que los juegos fuesen multiplataforma y no dar ventaja a ningún fabricante sobre otro. Obviamente tanto Sony como Microsoft han creado sus propias APIs de bajo nivel para sus consolas y con la llegada DX12 en PC por un lado y Vulkan por el otro Mantle ha caído en el olvido, pero fue el intento de EA de forzar un Status Quo con el caramelo envenenado de una API de bajo nivel multiplataforma. ¿La sacrificada en todo esto? Nintendo, por el hecho de que el diferente procesador de comandos no permitía la compatibilidad con Mantle por un lado, el segundo motivo es por no tener una GPU multihilo y el tercero la potencia.

La pregunta es… ¿que ventajas tenía EA de sacar una API para una arquitectura concreta en PC cuando estas suelen ser volatiles en el tiempo y Nvidia tiene un dominio del mercado de PC? Simple y llanamente tenían información privilegiada de como serían PS4 y Xbox One y crearon la API como punto de equilibrio claro esta que oficialmente ninguno de los fabricantes de consolas le ha dado apoyo a Mantle porque saben muy bien cual era el objetivo de dicha API.

Claro esta que lo que sorprende es lo de Vulkan:

VulkanStatus

EA ha cambiado Mantle por Vulkan y si nos fijamos bien de todos los grandes editores de juegos en consola es la única que tenemos en la lista. ¿El motivo de ello? Promover de nuevo un entorno en el que los fabricantes no puedan tener ventaja y sean los grandes editores como EA los que escriban las leyes del mercado, este es el motivo por el cual un directivo de EA sale en twitter a decir que el CBEA, algo único y diferencial, retraso varios años las cosas.

Anuncios