Qualcomm está preparando la llegada del primer Snapdragon X Elite al mercado dentro de portátiles con Windows, y como buen procesador de arquitectura ARM precisa de una capa de traducción optimizada. Durante la GDC, uno de sus ingenieros ha querido dejar claro que el impacto de esa emulación será mínimo en lo referente a la GPU, aunque obviamente afectará más o menos a la CPU según cómo esté programado el juego.
Según ha indicado Issam Khalil, el sistema de emulación creada por Qualcomm incluye una capa de caché para que la primera traducción de un bloque de código tenga ese impacto de traducción, pero no las subsiguientes. Por tanto, asegura que los juegos funcionarán con máxima utilización de la GPU porque en la emulación no son un problema.
Según cómo se está dando la noticia en todos los medios basándose en lo dicho por The Verge, parece que todo va a ser ideal y que la emulación va a ser perfecta. Bueno, eso hay que verlo. Ni siquiera Apple lo ha conseguido teniendo el control del sistema operativo y del hardware. Siempre hay un impacto, porque hay que traducir las primitivas de x86 a la arquitectura de las Adreno de Qualcomm.
La afirmación de este ingeniero podría ser correcta porque la Adreno está pensada para DirectX 12 y Vulkan a nivel físico —y ambas en la práctica no se diferencian tanto—, mientras que la de Apple solo está pensada para la biblioteca gráfica Metal. Qualcomm tiene que hacer una transformación directa de código compilado de DX12 a DX12, en lugar de DX12 a Metal como tiene que hacer Apple. Hay posibilidad de que el impacto sea bajo, y principalmente en el lado de la CPU, que es quien hará la conversión. Si el juego fuera muy exigente de CPU y hubiera que hacer mucha traducción, pues pasaría a limitar a la GPU que no se utilizaría totalmente. Bueno, es una afirmación que como digo podría ser correcta y no una bravuconada de Qualcomm.
Durante la sesión de la GDC también se ha indicado que los juegos con código antitrampas probablemente no funcionarán porque detectan y bloquean su uso en estos entornos de emulación. Al Steam Deck le ocurre lo mismo. Tampoco los que usen instrucciones del conjunto de instrucciones AVX. Los desarrolladores podrán optar por portar nativamente los juegos, que no sería necesario con la emulación que ha desarrollado Qualcomm salvo en casos concretos, o podrían crear una aplicación híbrida ARM64EC en el que Windows y los controladores de Qualcomm se ejecutan nativamente, pero la aplicación se emula para minizar la traducción.
La ventaja del portado de los juegos sería la eliminación de la traducción x86 a ARM, pero que principalmente afecta a la CPU. Pero a su vez, al reducir el uso de CPU se reduce el consumo del dispositivo, por lo que para jugar con batería sería buena idea hacerlo.
Vía: EnGadget.