Comentario#1:

Grande Urian ¡
espero que lo de cargarse el formato físico les explote en la cara como el kinnect hace años
lo preocupante es que al contrario que entonteces esto no va hacer la consola más cara sino más barata, pero vamos, si alguien se cree que van a mantenerse los derechos del consumidor, y los precios actuales de digital si se cargan las tiendas y comercios ….
en finque se pare el mundo que yo me bajo aquí xD

Que haga entradas de ello no significa que yo este de acuerdo con el planteamiento de Microsoft, pero tristemente una consola con un Sistema Operativo basado en UWP/Windows Core OS supone que el único camino de distribución de contenido para dicho sistema operativo es la tienda digital integrada en el sistema, no lo digo sino que forma parte de una de las especificaciones básicas del UWP.

Este cambio surgio en Microsoft con el ascenso de Satya Nadella a la presidencia y durante el desarrollo de Xbox One X fue cuando se plantearon la unificación de todos los sistema operativos en uno solo incluyendo Xbox.

¿Entonces como es que piensan que es el momento? Pues porque se ha llegado durante esta generación al punto de inflexión donde lo digital recauda má que lo físico aparte de que Microsoft tiene intereses muy profundos en que todo se traslade a UWP/Windows Core OS, entre ellos el hecho de cambiar su modelo de negocio al de Android basado en regalar el Sistema Operativo pero atandolo a una tienda digital única controlada por ellos y cobrando regalias por cada elemento que compremos. La tienda es parte integral de la Universal Windows Platform y es por ello que en el caso del PS quieren realizar una transición desde WIN32 a UWP en el proceso y el mercado de los videojuegos para PC es un entorno clave en ello.

¿Y como afecta esto a Xbox One X? Pues Microoft simplemente va a eliminar por completo el Exclusive OS de las Xbox One en «Scarlett».

Tanto el ERA como el SRA no tienen acceso directo al hardware sino que de ello se encarga el Host OS que es el Hypervisor. Al estar separados el ERA del SRA Microsoft en el 2015 Microsoft reemplazo el SRA basado en Windows 8 por uno basado en Windows 10 (solo UWP) a la que llamaron OneCore pero el Exclusive OS (ERA) quedo sin tocar para mantener la compatibilidad con lo juegos de la consola.

En Xbox One Microsoft no puede tocar el Hypervisor/Host OS que es el que reparte los recursos entre ambas particiones, provocando que la parte SRA pese a estar a nivel de software necesario para la creación y ejecución de juegos porque a la partición del SRA el Host OS le da unos recursos altamente limitados.

A Microsoft le interesa una versión completamente UWP en las Xbox, esto supone cambiar la estructura del Sistema Operativo de arriba a abajo afectando con ello al software que se ejecuta en la misma. ¿Y que van a hacer? Pues van a adoptar el Windows Core OS como Sistema Operativo de la consola, particularmente la versión Game Core del mismo. ¿Pero que es Windows Core OS? Es un Windows puramente UWP.

Windows Core OS es una evolución del sistema operativo Windows 10 que unifica las diferentes plataformas que incluyen una versión modificada de éste (ejemplos son las ediciones Mobile, Xbox o IoT). Windows Core OS en sí no es una versión de reemplazo, sino que coexiste como una variedad del sistema operativo principal.1
Se caracteriza por eliminar todos los componentes heredados de Windows 10 para unificarlos sobre OneCore y la Plataforma Universal de Windows (UWP). Utiliza una versión más avanzada de Windows Shell, conocida como Composable Shell (CShell), que se adapta a diferentes tipos de dispositivos sin tener que ser modificado.

La Composable Shell es algo interesante porque antes incluso con la unificación de Windows 10 se tenía que realizar una versión de Windows con una interfaz distinta por cada tipo de dispositivo y forma parte de la universalización de Windows que pretende Microsoft desde hace ya mucho tiempo.

Con la Composable Shell las aplicaciones se adaptan a la interfaz de usuario y al factor forma de cada dispositivo por lo que si a Microsoft le sale bien la CShell será unificación definitiva de Windows en diferentes dispositivos.

Y es que Scarlett no es la familia de dispositivos, Scarlett es el nombre de «Game Core» que es la versión de Windows Core OS en la que esta basada la siguiente generación de Xbox y centrada en videojuegos. ¿Tenemos algo similar en el mercado ahora mismo? Pues si, la Subor Z+ de la que os he hablado recientemente que se basa en un concepto muy cercano a lo que Microsoft quiere hacer con la plataforma Scarlett a nivel de sistema operativo.

El sitio web para el sistema ahora está disponible en http://www.playzplus.com, con algunos puntos interesantes enumerados. En primer lugar, el Subor Z + usará Windows 10 IoT Enterprise como sistema operativo base y usará RS1. Por lo tanto, en lugar de una variante de Windows Home o Pro, el uso de la versión IoT probablemente limitará la capacidad de los usuarios en ciertos aspectos funcionales, pero le permitirá a la empresa personalizar la apariencia en el modo ‘Consola’.

Al igual que Windows 10 IoT, Game Core/Scarlett no puede ejecutar los juegos ni las aplicaciones de PC escritos bajo la API general llamada WIN32 por lo que olvidaos de poder ejecutar vuestros viejos juegos de PC en la siguiente Xbox. Steam no tiene versión de UWP y Microsoft no va a dejar la entrada a otras «App Stores» y esto es porque el modelo de negocio que van a adoptar va a ser el de regalar Sistema Operativo pero cobrar regalías por cada transacción de la tienda. Por lo que olvidaos de poder ejecutar vuestros juegos de PC comprados para Steam en dicha plataforma. ¿Y que diferencias hay entre Game Core y Windows Core OS? Pues la «tienda de aplicaciones» precisamente.

Microsoft también está explorando métodos completamente nuevos de entrega de juegos en forma de Game Core, que formarán parte del sistema operativo Windows Core que hemos cubierto anteriormente. Si bien los detalles son escasos en este momento, parece que Game Core cerrará aún más la brecha entre Xbox y el desarrollo de juegos para PC, lo que potencialmente permitirá a los desarrolladores llevar sus títulos de Xbox a PC y otros dispositivos compatibles con Game Core con un mínimo esfuerzo de programación.

Lo de comprar un juego en la tienda de Windows y lo tengas en Xbox ya existe y no es una novedad, en realidad Game Core es la unión de servicios que están relacionados con el desarrollo y distribución de videojuegos dentro de Windows Core OS aparte de ser la interfaz pensada para utilizarse desde el mando de una consola. Y aquí se ha de aclarar una cosa, la CShell no va a hacer que las aplicaciones UWP ya existentes tengan una interfaz dinámica con el dispositivo sino que tendrán que re-hacerse las aplicaciones utilizando las librerias de interfaz de la CShell por lo que a niveles prácticos la cantidad de aplicaciones que están en el mercado y que son compatibles con la plataforma «Scarlett» es ahora mismo…

Pe… perdona Urian… ¿Significa esto que si tenemos un PC con Windows Core OS podremos ejecutar los juegos de «Scarlett»?

No exactamente, Microsoft no quiere que le ocurra lo que le ocurrio a Valve con Steam OS donde existía hardware dispar que además era extremadamente caro porque los ensambladores no podían ganar dinero con la tienda que financiase el hardware de lo usuarios y poder venderlo a un precio accesible. Olvidaos de poder instalar Windows Game Core en vuestros PCs porque Microsoft va a añadir un mecanismo DRM que hará que los binarios para Windows Game Core no funcionan en un PC normal. ¿Sabéis lo que ha hecho Apple con los últimos Mac y el chip T2? Pues justamente eso.

De cara a los desarrolladores el desarrollo será exacto en PC y en Scarlett, Micosoft ya empezó la eliminación de la diferenciación entre Xbox y PC a partir de Xbox One X creando una arquitectura menos exótica en lo que a organización de memoria se refiere pero en Xbox One X se mantuvieron una serie de elementos para la compatibilidad hacía atrás por hardware con los juegos de Xbox One, cosas como:

  • Los Move Engines
  • El Procesador de Comandos
  • El Subsistema de Audio de Xbox One

Todo eso en el hardware de Scarlett desaparecerá por completo porque Microsoft quiere eliminar la dualidad de los DirectX de Xbox y PC ya que ambos no son iguales.

¿Pero que ocurre a nivel de usuario? No vais a ver un SKU universal para Xbox «Scarlett» y para PC. La tienda detectara desde que Sistema os conectareis y descargará una versión u otra. Eso si, Xbox va a obligar a que dado que Xbox «Scarlett» va a ser una plataforma única y cerrada que los juegos funcionen con uno minimos de rendimiento en la versión de consola. Eso si, el cambio de paradigma de Microsoft en Xbox «Scarlett» va a permitir que muchos juegos de PC ya existentes tengan literalmente el «Botón de Portar». La única condición será que todos los juegos tendrán que funcionar sin problemas en el hardware de base de la siguiente generación de Xbox que es lo que es conocido como «Lockhart».

Pe… pero Urian… Ahora mismo el DX12 de estandar se puede utilizar en Xbox One… ¿Que sentido tiene sacrificar la API si al fin y al cabo se tratará de hardware único?

El primer motivo es que esto les permite portar facilmente, el segundo motivo es que Microsoft a futuro cercano quiere solventar el problema de la sobrecarga de los controladores haciendo que sea el procesador de comandos y el resto del front-end el que gestione por completo las lista de comandos tanto para computación como gráficas, cosa que ahora independientemente si la API es de alto o bajo nivel se ha de hacer a nivel de CPU y en el caso de DX12 y Vulkan añaden un nivel de complejidad adicional por tener que llevar a cabo el control de varias listas de comandos al mismo tiempo, por lo general en gráficos se utiliza una sola linea de comandos pero en computación se utilizan varias.

DirectX 12 nacio de portar «Mantle» que era una API creada para las GCN de AMD, cuya arquitectura termino en Xbox One y PlayStation 4. En el caso de Xbox One esto hizo nacer DirectX 11.X donde la funcionalidad multihilo a nivel de GPU ya existía, esto se consiguió llevando en el Front-End de la GPU varios procesadores de comandos para la computación que en el caso de las arquitectura GCN de AMD son llamados ACE (Asynchronous Compute Engine).

El problema de los ACE es que incluso con estos es la CPU con el controlador el que tiene que encargarse de gestionar y manejar por completo las listas de comandos para computación y las «colas» de cada una, esto es una de las mayores pesadillas de lo desarrolladores a día de hoy. AMD empezó a solucionarlo colocando un tipo de unidad llamada HWS a partir de la AMD Fiji y estandarizandola en Polaris.

La idea de Microsoft en «Scarlett» es que la CPU solo tenga que ocuparse en mandar las listas de comandos que la gestión de recursos no dependa de un driver intermedio controlado por la CPU que le quite rendimiento a esta para otras cosas sino que a nivel de hardware en el front-end de la GPU. ¿Como lo van a conseguir? Pues pueden colocar núcleos de proposito general como núcleos ARM o hacerlo con unidades FPGA. La idea es conseguir el rendimiento de una API de bajo nivel de consola sin que los desarrolladores tengan que descender a los infiernos.

Dado que hay otros comentarios en la lista, el resto de temas a tratar en cuanto a hardware los ire respondiendo con el resto de comentarios. Lo que quiero que quede claro es que a nivel de desarrollo Microsoft va a romper las diferencias entre Xbox y Windows. Obviamente Microsoft ofrece herramientas para adaptar las aplicaciones de WIN32 a UWP (Core OS) de manera sencilla y rápida pero esto no significa que con darle a un botón sea suficiente ya que tiene que haber un periodo de adaptación, pero para los juegos pensados para «Game Core»/Windows Core OS si que va a haber un botón de port directo.

Lo que Microsoft no va a ofrecer son herramientas para trasladar juego del ERA (Exclusive OS) de Xbox One a «Scarlett».
En el plan de unificación de todas las familias de Windows lo que en Xbox One se llama Exclusive OS es un estorbo enorme pero eliminarlo eliminaba la retrocompatibilidad con la que Microsoft se ha llenado la boca pero no la pueden ofrecer de entrada en «Scarlett» por motivos obvios. ¿La solución? Lo que hizo Sony con PS3 respecto a PS4, juego en la nube… Lo que hace que todo resulte muy…

¿Es algo improvisado? No, al contrario, Microsoft ya sabía esto y lo tenía bien planeado. No es algo dejado al azar ni tampoco una chapuza como mucha gente esta pensando al leer esto. Microsoft se lo esta tomando internamente 10 veces más en serio lo del juego en la nube que no Sony donde no deja de ser una anecdota a pie de pagina su PSnow por el hecho que entra en conflicto con PlayStation 4, pero hay que tener en cuenta el trasfondo históricod e todo esto.

La división Xbox ya no existe, ha sido sutilmente asimilada por orden de Satya Nadella a quien nunca le gusto la independencia de dicha división respecto a la de Windows ya que era vista como una especie de rivalidad interna y Cainismo dentro de la mima compañía. Nadella no quiere disparidades dentro de Microsoft de ningún tipo y de ahí el cambio en el Sistema Operativo de las Xbox de cara a la siguiente generación, el cual también esta relacionado con la idea de Microsoft de cambiar su modelo de negocio a un modelo de negocio estilo Android. Dado que casi todo el catálogo de Xbox One esta en PC el hecho de portar los juegos no va a costarles casi nada. En realidad el usuario no notara que el código compilado no es el de Xbox One sino el de PC trasladado y adaptado a UWP.

Si alguna vez os habéis preguntado cual era el motivo de que los «Exclusivos» de Xbox se realizarán también para Windows 10 esto que os estoy comentando es el motivo. Microsoft ha distribuido el kit de desarrollo de «Scarlett» para que los desarrolladores porten lo juegos ya existentes. Pero en los último días me he estado informando y «Danta» tiene un secreto en estos momentos.

Tecnicamente excepto Microsoft y a la espera de que lleguen nuevos kits el año que viene nadie tiene el hardware de «Danta» con el chip Lockhart sino que lo que tienen los desarrolladores es el SDK de Xbox One X pero no están desarrollando para Xbox One X sino que el Sistema Operativo que ejecuta dicho kit de desarrollo es el «Game Core» y lo están utilizando de manera provisional para trasladar juegos ya existentes a la nueva plataforma y también los antiguos. Obviamente el hardware que ahora tienen disponible no tiene todo el potencial del hardware final, el cual si el timing es correcto deberia llegar a los desarrolladores en el primer trimestre de 2019 y estar ya listo el chipset de la nueva consola para ser distribuido junto a los desarrolladores.

Microsoft esta utilizando el mismo timing que con Xbox One X, anunciando por primera vez la consola en el E3 del año anterior a su presentación con pocos datos. En el caso de Xbox One X fue anunciada con especificaciones cerradas, en el caso de Xbox «Scarlett» no ha sido así por motivos estratégicos. Pero si Lockhart sale el año que viene entonces el chipset ya debería estar terminado como comente en la entrada anterior.

Comentario#3:

Con ps4 cerny barajaba como plan b lo mismo que Microsoft en función del coste de la memoria, edram+ddr3

Eso es una media verdad, la siguiente diapositiva del evento donde Cerny hablo de ello lo demuestra.

Olvidaos de configuraciones exóticas, el hardware de «Scarlett» es lo más generico y aburrido que te puedes tirar a la cara.

Si sigue la ram por las nubes a lo mejor ps5 y xbox 4 usan 256 mb edram (mas densa que la esram) o 128 esram a 7 nm, y 16 gb ddr3/4

En primer lugar al eDRAM esta fuera de los procesos de fabricación de chips de TSMC desde hace ya más de un lustro. Uno de los motivos por los cuales en Xbox One tuvieron que comerse una ESRAM con el triple de densidad de la eDRAM es porque TSMC no adapto el nodo para ello, si lo hubiesen podido hacer entonces el tamaño del SoC de Xbox One sería más pequeño o de igual tamaño pero con mejor GPU

En todo caso esto es algo que me toca mucho los cojones de lo foros, van a una página web donde puedes comprar piezas de recambio y que por tanto tienen lo margenes altisimos para el distribuidor y suponen que es lo que por contrato Microsoft y Sony pagaran a Samsung y SK Hynix por la RAM y se lo toman en serio.

Llevo siguiendo varios posts sobre ello y sinceramente los precios de contrato de la RAM para los fabricantes de consolas no los conocen y hablan de ellos como si tuvieran información de primera mano. ¿El motivo por el cual Microsoft escogio la DDR3? Pues porque era más barata que la GDDR5 y querian ganar más margen y porque Nick Baker es un obsesivo en diseñar sistemas con memoria embebida.

Lo que no creo es que la RAM vaya a ser tan barata como a principios de la actual generación, por eso pienso que vamos a ver configuraciones de GDDR6 384 bits con 12 chips en vez de configuraciones de 256 bits con 16 chips. Es decir, veremos 4 chips de memoria menos haciendo que tengamos configuraciones de 24 GB en la siguiente generación.

Llevo tiempo pensando que tiene sentido un pool de 4 gb de ram dedicado para la cpu con los 3 gb del s.o y duplicar el buffer de captura de video de casi un gb, tal vez reservando un poco para que opcionalmente los juegos metan allí el ejecutable y alguna cosa mas para acelerar el rendimiento por el semáforo de compartir la ram.

Puestos a meter 4 gb lo mismo meten 8 ddr3, y la pro ya tiene un gb ddr3 adicional por lo que pueden tirar por ahí
Podria haber consolas con 8 gb ddr3, 4 gb dedicados para cpu para juegos

¿Pool dedicado a la CPU? Si, y enviamos toda la I+D de AMD en conseguir un uncore con acceso completamente coherente bajo una configuración UMA a todos los elementos en el SoC y que por fin después de años han conseguido construir y que hemos visto en el Raven Ridge en PC y que va a ser la base a futuro para todo lo que haga AMD incluyendo las consolas.

Hay que tener en cuenta que la GPU de «Scarlett» va a ser muy posiblemente GFX10 y esto significa ir más allá de GFX9 por lo que todas las referencias a bajo nivel de la API DX12.X no van a funcionar en el nuevo hardware y si queréis otro motivo para conocer el motivo por el cual Microsoft va a hacer los cambios que os he comentado en la respuesta al comentario anterior aquí tenéis una más.

Precisamente dado que el hardware de Xbox One X tiene una GPU «Polaris» tanto su uncore como la ATC a nivel de GPU.

Le permite ver la memoria de dos maneras distintas activando y desactivando el ATC… Con el ATC desactivado entonces la RAM es vista por la GPU en Xbox One X de la siguiente manera:

En cambio con el ATC activado el acceso es completamente coherente.

A partir de Raven Ridge todos los uncores eliminan por completo el modo no-coherente para la GPU. Esto en el caso de «Scarlett» rompe por completo la compatibilidad hacía atrás pero al mismo tiempo es un paso indispensable para universalizar el DirectX por completo.

En cuanto al compartir la RAM, actualmente tenemo en Xbox One y Xbox One X uno 3GB para el Shared OS y el resto para el Exclusive OS, con Scarlett no vamo a tener dos sistemas operativos ejecutandose en un hypervisor/Host OS sino que vamos a tener un solo Sistema Operativo, el tema de Azure ejecutando el SO de Xbox One es para lo XBlade de la plataforma XCloud. En todo caso lo que quiere hacer Microsoft es que los juegos se ejecuten con una cantidad de recursos de memoria y procesamiento fijos dejando el resto para las aplicaciones en «modo juego» pero en modo no-juego darle toda la capacidad del hardware a las aplicaciones no-ludicas en vez de solo una porción de los recursos.

La diferencia principal del kernel de Game Core va a ser este, en PC vais a tener que ir controlando todas las aplicaciones que se ejecutan en segundo plano con los juegos, lo cual sinceramente para mi es…

Pero en «Game Core» ejecutando en Scarlett el Sistema Operativo estará pensado para que el 95% de los recursos del hardware se los lleve por completo el juego cuando este se esta ejecutando por completo. Por lo que las aplicaciones tendrán que tener un modo background en el que operar con menos recursos para seguir funcionando mientras jugamos.

Tal y como Microsoft esta planteando Scarlett, como Caballo de Troya del UWP pues no te esperes soluciones exótica de ningún tipo.

Entonces sería mas barato meter 8 gb gddr6 dedicados a la gpu y sin el cuello de botella de ancho de banda de ps4 por no compartir la ram

-8 gb ddr3
-8 gb gddr6
-128/256 mb esram/edram

El cuádruple de esram que la one por cuadruplicar la resolución si se usa 4k nativa, pero si se usa checkerboard se liberan 64 mb que sirven para los 16 de la indirection texture de virtual texturing, y cache de megatextura y de texturas normales.

Lo he explicado mil veces, el uncore utilizado en PS4 y Xbox One tiene un bug que es es muy fácil de explicar. Lo normal es que la suma de ancho de banda disponible para el acceso coherente y el no coherente fuese el total del ancho de banda en un tipo de suma cero pero no es así, el problema es que el bus coherente por cada GB/s que consume… deja sin 3GB/s al bus no-coherente.

¿Como lo ha solventado AMD? Pues haciendo que todo acceso sea coherente en los nuevos sistemas y rompiendo la compatibilidad hacía atras, como en PC no se va tan abajo en cuento acceso a la GPU (API) como para controlar los acceso a memoria de la GPU de manera manual lo del acceso coherente y no coherente no importa. ¿Pero en consolas? Es un problema del que llevo tiempo hablando y la forma en la que Microsoft va a resolverlo es muy simple y a esta punto de esta entrada ya debería quedar muy claro cual es.

En cuanto al Virtual Texturing, tenemos que comentar la posible inclusión del HBCC aparecido en la AMD Vega en la siguiente generación.

El HBCC puede funcionar en modo cache porque realmente incluye su mecanismo una Cache L3 en el sistema de la GPU pero el HBCC esta más allá del GFX de la GPU incluso más allá que el uncore de la GPU sino que se encuentra relacionado con el bus PCI Express y es un puente entre la HBM y dicho bus es que con lo que en PC las AMD Vega tienen acceso al segundo pozo de RAM para la GPU que es el de la RAM del sistema porque en PC tenemos una configuración con memria no unificada. Pero en una consola con memoria unificada este no es el problema y más si el acceso es completamente coherente. El otro tema es que la interfaz PCI Express en el chipset de Scarlett va a ser eliminada por una completamente basada en Infinity Fabric para comunicar CPU con el controlador de memoria y con la GPU.

Pero al mismo tiempo el HBCC es el controlador de memoria de la GPU y hemos de tener en cuenta que para un acceso completamente coherente es necesario que existe un último nivel de cache a nivel del controlador en un sistema heterogeneo que permita tener un acceso completamente coherente a la memoria a todos los componentes del sistema por lo que el HBCC se mantendrá en la siguiente generación actuando como una especie de cache de último nivel en conjunto para todos los componentes del chipset pero no van a utilizar memoria HBM ya que es demasiado cara sino memoria GDDR6 que esta en el punto adecuado entre coste y ancho de banda.

¿Ahora bien? ¿Que ventajas lleva consigo el HBCC? A nivel de PC el HBCC le permite a su GPU tratar la VRAM como un caché de último nivel, de modo que una solicitud de datos que no se encuentra actualmente en la VRAM puede ingresarse en el HBC de Vega para un acceso inmediato y al mismo tiempo eliminar datos que ya no son necesarios. La idea es que el HBCC traslada datos de un nivel de memoria a otro sin problemas y estos es ideal para el Virtual Texturing.

Pero el HBCC no funciona con un Disco Duro mecánico sino con menoria NV RAM (Disco Duro SSD)… ¿Y que vamos a ver? Pues muy probablemente no vais a ver un Disco Duro convencional en «Scarlett2 sino memoria SSD en un modulo SATA M.2 y un puerto de expansión para colocar un segundo módulo por si hace falta más memoria de almacenamiento.

Obviamente van a dejar la conexión con Disco Duros externos por USB pero el HBCC solo funciona con memorias NAND Flash de cara al Virtual Texturing por lo que si Microsoft quiere utilizar esta feature entonces. En todo caso la configuración de 24GB es posible con la RAM de 16Gb/2GB por chip que en el mercado se encuentra en la Nvidia Quaddro, en el caso de la de 1GB la RAM es más barata por lo que por costes una configuración de 12GB+NVRAM/SSD no se debería descartar tampoco…

Pues oye, después de pensar llegamos a la misma conclusión casi, lo que son las cosas oye y es que escribir para pensar va muy bien.

Y con esto termino, como siempre tenéis los comentario de esta misma entrada y el Discord para comentar.