Physics Islands: qué cambió realmente en el procesamiento de iRacing

Physics Islands: qué cambió realmente en el procesamiento de iRacing

9 Vistas
0

Un experimento de ARC Simracing sobre la nueva arquitectura multihilo de físicas de iRacing

El lanzamiento de Season 4 2026 de iRacing trajo muchas novedades visibles: autos nuevos, circuitos reconstruidos, nuevas herramientas de interfaz y diferentes mejoras gráficas.

Pero para quienes utilizamos hardware que ya tiene algunos años —y especialmente para quienes corremos en realidad virtual— probablemente una de las modificaciones técnicamente más interesantes está bastante escondida.

iRacing modificó la arquitectura de procesamiento de su núcleo de físicas.

La compañía denomina internamente a este proyecto “Physics Islands” y explica que el bucle central de actualización de físicas fue refactorizado para trabajar de manera multihilo. Según iRacing, esto permite dividir parte de la carga de físicas y paralelizar el final de cada physics tick, distribuyendo los cálculos entre los hilos disponibles del procesador.

La afirmación de iRacing es especialmente ambiciosa: en carreras con parrillas completas, tráfico intenso y grandes grupos de vehículos, la compañía indica que el overhead de procesamiento de físicas puede reducirse en un 50% o más, dependiendo del hardware.

Pero aquí aparece una pregunta mucho más interesante:

¿Podemos observar ese cambio en un computador real utilizado para correr iRacing en VR?

En ARC Simracing decidimos intentar responderla.


Primero, una precisión importante: no es un “nuevo motor de físicas”

Aunque en ocasiones se ha descrito informalmente esta actualización como un “nuevo motor de físicas”, técnicamente no es exactamente eso.

El modelo físico de los autos no fue reemplazado por otro completamente diferente.

Lo que cambió en esta primera etapa es la arquitectura utilizada para procesar el trabajo de físicas.

Antes de Season 4, gran parte de ese trabajo estaba mucho más concentrada en unos pocos hilos del procesador.

Con Physics Islands, iRacing comenzó a distribuir una parte de ese trabajo entre más hilos disponibles.

La propia compañía explica que esta modificación representa el primer gran hito de una hoja de ruta más amplia para modernizar la arquitectura de su motor de físicas. Además, señala que esta nueva base permitirá en el futuro aumentar las frecuencias de actualización de físicas, mejorar el muestreo de entradas y acelerar los ciclos de actualización del force feedback.

Por eso, probablemente sea más correcto pensar en Physics Islands como una nueva forma de ejecutar las mismas tareas de físicas, y no simplemente como “físicas nuevas”.


El problema que iRacing llevaba años arrastrando

Para entender la importancia del cambio hay que mirar un problema muy conocido por los usuarios de iRacing.

El simulador puede utilizar varios núcleos del procesador, pero eso no significa que todos los trabajos que realiza el simulador puedan distribuirse libremente entre todos los núcleos.

En determinadas situaciones, una parte importante del trabajo terminaba concentrándose en pocos hilos.

Esto genera una situación bastante contraintuitiva:

podemos tener un procesador de muchos núcleos y observar una utilización total relativamente baja, pero al mismo tiempo estar limitados por uno o varios hilos que están trabajando mucho más que los demás.

Para el usuario esto puede resultar difícil de interpretar.

El Administrador de tareas puede mostrar, por ejemplo, un 30% o 40% de utilización total de CPU.

Pero ese número no significa necesariamente que tengamos una enorme cantidad de capacidad disponible para generar el siguiente frame.

El problema puede estar en cómo está distribuido el trabajo, y no en cuánto trabajo total está haciendo el procesador.


Nuestro laboratorio

Para realizar la prueba utilizamos el mismo PC que venimos utilizando durante nuestra serie de optimización de iRacing:

AMD Ryzen 7 5800X3D
Radeon RX 7700 XT 12 GB
32 GB DDR4
HP Reverb G2
OpenXR

Es importante señalar esto porque nuestro objetivo no era realizar un benchmark de laboratorio con un procesador de 16 o 32 núcleos.

Queríamos saber qué ocurría en un PC que un piloto de simracing real podría seguir utilizando actualmente.

Y además queríamos hacerlo en VR, donde mantener una frecuencia de frames estable es considerablemente más exigente que simplemente obtener una buena media de FPS en un monitor.

El experimento

Nuestro objetivo fue muy concreto:

comparar cómo se distribuía la carga de CPU durante los momentos de mayor concentración de trabajo antes y después de la incorporación de Physics Islands.

Para ello utilizamos los registros obtenidos con el mismo equipo y comparamos los períodos de mayor actividad del motor anterior con los correspondientes al nuevo motor.

En lugar de analizar el porcentaje total de utilización del Ryzen 7 5800X3D, clasificamos permanentemente sus 16 hilos lógicos según la carga que estaban soportando.

En cada instante separamos:

los 4 hilos más utilizados

de

los otros 12 hilos.

Esto nos permite observar algo que el porcentaje global de CPU no muestra: qué tan concentrado está realmente el trabajo en los hilos que están soportando la mayor carga.

Para hacer comparables los dos registros, alineamos temporalmente los períodos de máxima concentración de trabajo y trasladamos el eje temporal a una escala común. De esta manera podemos comparar la evolución del pico de carga aun cuando los eventos no hayan ocurrido exactamente en el mismo segundo de cada prueba.


¿Qué esperábamos encontrar?

La explicación oficial de iRacing nos daba una hipótesis bastante clara.

Con Physics Islands, iRacing modificó el bucle central de actualización de físicas, dividiendo el trabajo y haciendo posible ejecutar en paralelo parte del procesamiento que anteriormente estaba más concentrado. Según la compañía, las operaciones pasan ahora a distribuirse entre los hilos de CPU disponibles y, en escenarios con tráfico intenso, el overhead de físicas puede reducirse en un 50% o más.

Por lo tanto, no esperábamos necesariamente que los 16 hilos terminaran trabajando al mismo nivel.

Lo que esperábamos era algo más específico:

que los hilos que anteriormente absorbían una gran parte de la carga dejaran de estar tan separados del resto.

Y eso es precisamente lo que quisimos medir.


El resultado: el patrón de concentración sí cambió

El gráfico comparativo muestra una diferencia bastante clara entre ambas arquitecturas.

Picos de concentración: motor anterior vs nuevo

En el motor anterior, los cuatro hilos principales permanecen durante prácticamente todo el período de máxima concentración en valores elevados, aproximadamente en la zona de 43–50% de utilización media.

Los otros doce hilos, en cambio, se mantienen en valores considerablemente inferiores, generalmente en torno a 13–20%.

El nuevo motor presenta un comportamiento diferente.

Los cuatro hilos principales comienzan alrededor de 34%, bajan progresivamente hasta valores cercanos a 17–18% durante una parte importante del período de máxima concentración y posteriormente vuelven a subir, terminando cerca del 44%.

Los otros doce hilos también cambian su comportamiento: después de comenzar alrededor de 23%, descienden hasta aproximadamente 8–10% y posteriormente vuelven a aumentar hacia el final.

Lo importante no es simplemente que una línea esté más arriba o más abajo.

Lo importante es la relación entre ambas.


La concentración se redujo durante buena parte del pico

Para visualizar mejor esa diferencia, calculamos un índice sencillo:

Índice de concentración = utilización media de los 4 hilos más utilizados / utilización media de los otros 12 hilos

No pretende ser una métrica oficial de iRacing ni una medida directa del rendimiento del motor.

Es simplemente una forma de responder una pregunta muy concreta:

¿Cuánto más ocupados están los cuatro hilos principales respecto de los otros doce?

Cuando el índice aumenta, significa que el trabajo está más concentrado.

Cuando disminuye, significa que la diferencia entre ambos grupos se reduce.

Y aquí aparece uno de los resultados más interesantes de nuestro experimento.

Con el motor anterior, la separación entre ambos grupos se mantiene elevada durante prácticamente todo el período observado.

Con el motor nuevo, esa separación se reduce notablemente durante una parte importante del pico.

En otras palabras:

el nuevo motor no eliminó la concentración, pero sí modificó claramente su distribución.


Lo que muestra realmente el gráfico

Una forma sencilla de leer el gráfico es imaginar dos situaciones.

Motor anterior

Una cantidad importante del trabajo se mantiene concentrada en un pequeño grupo de hilos.

El patrón es relativamente estable:

4 hilos muy ocupados + 12 hilos considerablemente menos ocupados.

Motor nuevo

El patrón se vuelve más dinámico.

Los cuatro hilos principales dejan de mantener permanentemente la misma ventaja sobre los otros doce y, durante parte del período crítico, la diferencia se reduce considerablemente.

Esto es particularmente visible en la zona central del gráfico, donde los cuatro hilos principales del motor nuevo caen desde aproximadamente 30–35% hasta menos de 20%, mientras que el motor anterior conserva sus cuatro hilos principales aproximadamente entre 43 y 47%.

Ese comportamiento es consistente con la idea fundamental detrás de Physics Islands:

sacar parte del trabajo de una pequeña cantidad de hilos y permitir que el sistema disponga de más recursos de CPU para ejecutarlo en paralelo.


Pero aquí aparece un detalle importante

Sería incorrecto interpretar el resultado como:

“Ahora iRacing utiliza los 16 hilos por igual”.

Eso no ocurrió.

El nuevo motor sigue presentando una concentración significativa de trabajo.

De hecho, en nuestro análisis posterior de tres pruebas con el nuevo sistema, el índice medio 4/12 estuvo aproximadamente en torno a 2.

Es decir, los cuatro hilos más utilizados continuaron trabajando, en promedio, alrededor del doble que cada uno de los otros doce.

Y esto es perfectamente compatible con lo que esperaríamos de una aplicación compleja como iRacing.

No todo el trabajo que realiza un simulador puede dividirse infinitamente entre todos los núcleos.

Siempre existen dependencias, tareas secuenciales, sincronización entre procesos y trabajos que tienen características diferentes.

Por eso, la distribución perfectamente uniforme no es el objetivo realista.

El objetivo es poder utilizar más capacidad de procesamiento allí donde la arquitectura anterior encontraba una limitación.


La diferencia está en los picos

Este punto es fundamental.

No estamos comparando simplemente el promedio de utilización de CPU de una sesión completa.

Estamos mirando los períodos en que el trabajo se concentra especialmente.

Esto es importante porque son precisamente esos momentos los que pueden determinar si el procesador consigue preparar el siguiente frame a tiempo.

Una utilización media de CPU relativamente baja puede coexistir con un hilo que alcanza una carga mucho mayor y que termina convirtiéndose en el factor limitante.

Por eso nuestro análisis se concentró deliberadamente en los picos de concentración.

Y es justamente ahí donde aparece la diferencia más interesante entre ambas arquitecturas.


¿Qué significa esto para un Ryzen 7 5800X3D?

Probablemente esta sea la parte más interesante para quienes utilizan hardware similar.

Nuestro procesador tiene 8 núcleos y 16 hilos, y no es una CPU de última generación.

Sin embargo, Physics Islands no necesitó que cambiáramos el procesador para modificar la manera en que iRacing utiliza esos recursos.

El cambio ocurrió en el propio simulador.

Eso significa que una parte de la capacidad que ya estaba disponible en el procesador puede ahora utilizarse de una manera diferente.

Y esta observación tiene una consecuencia importante.

Cuando alguien mira un procesador de 16 hilos y ve una utilización global de CPU relativamente baja, podría concluir:

“Me sobra muchísimo procesador.”

Pero esa conclusión puede ser equivocada.

Antes de Physics Islands, una parte importante del problema podía estar en cómo estaba distribuido el trabajo entre los hilos, no simplemente en cuánto trabajo total estaba realizando la CPU.

La nueva arquitectura ataca precisamente ese problema.


Esto también cambia la forma de interpretar el rendimiento

Durante años hemos tendido a analizar el rendimiento de un PC utilizando una pregunta muy sencilla:

¿Cuánto porcentaje de CPU estoy utilizando?

Pero para simuladores complejos esa pregunta puede ser insuficiente.

Es mucho más interesante preguntar:

¿Cómo está distribuido ese porcentaje de utilización?

Dos aplicaciones pueden mostrar exactamente un 40% de uso total de CPU y comportarse de manera muy diferente.

Una podría estar utilizando los 16 hilos de forma relativamente equilibrada.

La otra podría estar utilizando intensamente cuatro hilos mientras mantiene los otros doce mucho menos ocupados.

El porcentaje total sería similar.

La capacidad real para absorber un pico de trabajo puede no serlo.


¿Y qué dice esto sobre la promesa de “50% menos de overhead”?

Aquí debemos separar cuidadosamente dos cosas.

iRacing afirma oficialmente que, en carreras con parrillas completas, batallas con muchos autos y grandes parrillas de IA, el CPU physics overhead puede caer en 50% o más, dependiendo del hardware.

Nuestro experimento no demuestra ese 50%.

No medimos directamente el tiempo interno de procesamiento de cada physics tick, por lo que sería incorrecto convertir nuestro índice de concentración en una cifra equivalente a esa reducción.

Nuestro experimento responde una pregunta diferente:

¿Cambió la distribución de la carga entre los hilos del procesador?

Y la respuesta que obtenemos de nuestros registros es .

El patrón observado después de la actualización es claramente distinto al que medimos con el motor anterior, especialmente durante el período de máxima concentración.


Una mejora de arquitectura, no simplemente de “FPS”

Quizás la conclusión más importante sea que Physics Islands no debería analizarse solamente mirando cuántos FPS adicionales aparecen en el contador.

El cambio tiene un significado más profundo.

Si una determinada carga de físicas anteriormente necesitaba concentrarse en unos pocos hilos y ahora puede repartirse mejor, el beneficio puede aparecer de distintas maneras:

más margen de CPU, menor probabilidad de alcanzar un límite en un hilo determinado, mayor capacidad para absorber aumentos repentinos de carga y, potencialmente, una mejor estabilidad durante escenarios exigentes.

Eso es especialmente interesante en simracing porque las condiciones de carrera son muy variables.

Una vuelta con pista vacía puede tener una carga.

La largada de una carrera puede tener otra completamente diferente.

Y una batalla con numerosos autos puede producir otro patrón completamente distinto.


Lo más interesante de nuestro resultado

Para nosotros, el valor del experimento no está en demostrar que un Ryzen 7 5800X3D se convirtió mágicamente en un procesador nuevo.

Tampoco en demostrar que ahora todos los núcleos trabajan de la misma manera.

El valor está en haber podido ver el cambio de arquitectura reflejado en el comportamiento real del procesador.

El motor anterior mostraba una concentración muy marcada y relativamente persistente en cuatro hilos.

El motor nuevo muestra una concentración más dinámica y, durante una parte importante del pico analizado, considerablemente menor.

Es exactamente el tipo de cambio que esperaríamos al pasar de un procesamiento más concentrado a uno con mayor grado de paralelización.


La conclusión de ARC Simracing

Después de analizar los datos, nuestra interpretación es bastante prudente.

No podemos afirmar que nuestro PC haya obtenido exactamente un 50% más de rendimiento de físicas.

No tenemos una medición interna del motor que permita calcular eso.

Pero sí podemos afirmar algo mucho más concreto:

En nuestro Ryzen 7 5800X3D observamos un cambio claro en la concentración del trabajo de CPU entre el motor anterior y el nuevo.

Los cuatro hilos que anteriormente concentraban una parte muy importante de la carga dejaron de mantener el mismo nivel de concentración durante una parte significativa del pico analizado.

El trabajo no pasó a distribuirse perfectamente entre los 16 hilos, pero la diferencia entre los cuatro hilos principales y los otros doce se redujo durante buena parte del período de máxima carga.

Y justamente ahí creemos que está la importancia de Physics Islands.

No se trata simplemente de hacer que el procesador muestre un porcentaje menor de utilización.

Se trata de usar de manera más eficiente los recursos que ya existen dentro del procesador.


El experimento completo

La prueba que dio origen a este análisis quedó registrada en nuestro canal ARC Simracing, donde se puede observar la sesión utilizada como parte del proceso de evaluación.

ARC Simracing — iRacing con el nuevo sistema de procesamiento de físicas


Nota de metodología

Este análisis corresponde a una prueba realizada sobre un único sistema: Ryzen 7 5800X3D, 16 hilos lógicos, Radeon RX 7700 XT y HP Reverb G2.

El índice 4/12 utilizado en el análisis es una métrica elaborada por ARC Simracing para estudiar la concentración relativa de carga entre grupos de hilos. No corresponde a un indicador oficial de iRacing.

Por lo tanto, los resultados deben interpretarse como evidencia experimental de un cambio en el patrón de utilización de CPU en nuestro sistema, y no como una medición universal del rendimiento de Physics Islands.

La conclusión de iRacing sobre una reducción de 50% o más del CPU physics overhead corresponde a sus propias mediciones y escenarios de prueba.