Spiderman Zephyrus Duo BannerPCS BTS Banner
Un nuevo parche para Linux mejora hasta un 31,8% los frame-times mínimos en juegos con CPU AMD

Un nuevo parche para Linux mejora hasta un 31,8% los frame-times mínimos en juegos con CPU AMD

por Edgar Otero

Un conjunto de parches enviados a la lista de correo del kernel de Linux propone una mejora dirigida específicamente al rendimiento en juegos sobre procesadores AMD. La función, bautizada como epp_boost, ajusta de forma dinámica el comportamiento del driver AMD P-State y consigue mejorar hasta un 31,8% los fotogramas por segundo mínimos (1% low) en la Steam Deck, según las pruebas de su autor.

El desarrollo corre a cargo de David Vernet, ingeniero del kernel de Linux que trabaja en Meta, y ataca un problema muy concreto del sistema de escalado de frecuencia actual. En el modo activo de EPP (Energy Performance Preference), es la propia plataforma quien decide el punto de rendimiento entre el mínimo y el máximo configurados, sin que el kernel intervenga salvo cuando cambian los límites de la política. El problema surge con cargas de trabajo como los videojuegos, donde un hilo principal se bloquea brevemente en cada fotograma esperando a la GPU, lo que hace que la señal de rendimiento del hardware decaiga constantemente y cada ráfaga posterior arranque desde un punto de rendimiento más bajo de lo necesario.

Un ajuste quirúrgico núcleo por núcleo

Vernet descartó las soluciones más obvias antes de llegar a esta propuesta. Forzar el modo de máximo rendimiento de forma global soluciona el problema, pero dispara el consumo en todos los núcleos para cualquier tipo de carga, algo especialmente problemático en dispositivos portátiles donde CPU y GPU comparten un presupuesto energético limitado. Subir directamente el rendimiento mínimo del núcleo ocupado tampoco funcionó, ya que interfiere con la gestión conjunta de CPU y GPU del propio chip, empeorando en la práctica los tiempos de fotograma en las pruebas realizadas sobre el APU Van Gogh de la Steam Deck.

La solución final consiste en un sistema opcional que monitoriza cada núcleo por separado. Cada 10 milisegundos como máximo, el sistema comprueba si un núcleo ha estado ocupado al menos un 50% del tiempo. Si es así, fuerza su EPP al valor de máximo rendimiento y lo mantiene así hasta que pasen 300 milisegundos sin actividad relevante, momento en el que se restaura la configuración habitual gestionada por el sistema.

Los resultados con el benchmark de Civilization VI muestran una mejora del 31,8% en los frame-times del 1% más bajo, la métrica que mide los peores momentos de fluidez durante una partida, junto a una mejora del 4,1% en el percentil 99 de tiempo de fotograma. Se trata de las cifras más relevantes para la sensación de fluidez percibida, incluso por encima de la tasa media de FPS.

La función todavía no forma parte del kernel oficial y deberá pasar antes por la revisión de los ingenieros de AMD encargados del soporte en Linux. Una vez integrada, su activación requerirá tanto un kernel con estos parches como establecer el parámetro amd_pstate.epp_boost=1, pudiendo consultarse o modificarse en tiempo real a través de /sys/module/amd_pstate/parameters/epp_boost. Aunque las pruebas se han centrado en Civilization VI por su facilidad para reproducir resultados, la mejora debería notarse en un abanico más amplio de juegos, tanto en la Steam Deck como en otros portátiles y equipos de sobremesa con procesadores Ryzen.

Fin del Artículo. ¡Cuéntanos algo en los Comentarios!

Redactor del Artículo: Edgar Otero

Edgar Otero

Soy técnico en sistemas informáticos, empecé a experimentar un Pentium II, aunque lo mío siempre ha sido el software. Desde que actualicé de Windows 95 a Windows 98 no he dejado de instalar sistemas. Tuve mi época Linuxera y fui de los que pidió el CD gratuito de Canonical. Actualmente uso macOS para trabajar y tengo un portátil con Windows 11 en el que también he instalado Chrome OS Flex. En definitiva, experimentar, probar y presionar botones.

Comentarios y opiniones sobre: Un nuevo parche para Linux mejora hasta un 31,8% los frame-times mínimos en juegos con CPU AMD ¿Qué opinas? ¿Alguna pregunta?
NitroV16 AI Banner