Screen Test Pro

El mismo Mac, cinco navegadores, cinco puntuaciones

Por Screen Test ProPublicado el

Un Mac Studio con M4 Max sacó 10.630 en nuestro benchmark en una Apple Store. El MacBook Pro con el que lo comparamos —un M2 Max más antiguo— había sacado unos 12.900 en casa. El chip más nuevo y más grande perdió por un 18%, y los sospechosos obvios (36 GB de RAM frente a 96, una unidad de exposición en reposo frente a una máquina de desarrollo en plena faena) no explican nada.

Así que pasamos una sola máquina —ese mismo M2 Max, la misma pantalla, la misma tarde— por cinco navegadores:

Safari 26 Edge 152 Opera 131 Firefox 156 Chrome 151
Puntuación 11.443 11.713 12.801 6.275 ~12.900

Mismo silicio, misma pantalla, un factor de dos entre el mejor y el peor. Las cifras por escena son aún más raras que los totales. Nuestra escena de raymarching, Cromo líquido, sostuvo 25.523 unidades en Safari y 5.622 en Firefox, en la misma GPU. Círculos en Canvas 2D: 64.476 en Opera, 9.960 en Firefox. Nuestra escena de física en CPU fue un 29% más rápida en Safari que en cualquier navegador Chromium, porque a JavaScriptCore ese código le sienta mejor que a V8.

Y el resultado de la tienda resultó ser la misma historia con otro disfraz. En Safari, un M2 Max sostuvo 25.523 unidades del raymarcher, pero el M4 Max de la tienda sostuvo 6.222 y un M5 Pro, 2.628. Mismo navegador, misma escena, y GPU más nuevas y más rápidas rindiendo entre cuatro y diez veces peor. El shader tenía un bucle de 180 iteraciones, y alguna combinación de las generaciones de GPU más nuevas y el compilador de Metal se atragantaba con él, mientras que las anteriores no. Esa escena ya no medía el rendimiento de fragmentos. Medía la suerte del compilador.

Lo que un benchmark de navegador mide honestamente

El número que produce este sitio no es una nota del chip. Es una medición de toda la pila que usas de verdad: silicio, controlador, compilador de shaders, motor de JavaScript, rasterizador de canvas y compositor. Eso es una virtud —es el rendimiento que obtienes al abrir una página—, pero significa que al comparar importan dos reglas:

Compara dentro de un mismo navegador. Una puntuación de Safari y una de Chrome son mediciones de dos pilas distintas que resultan compartir chip. Nuestra tabla de mejores puntuaciones lleva tiempo mostrando el navegador en cada fila; ahora la hoja de resultados también muestra la mediana del mismo hardware por navegador, cuando hay suficientes muestras.

Un benchmark no debería amplificar las rarezas de la pila. Que la pila forme parte de la medición es honesto. Que una escena se hunda 10× porque a un compilador no le gusta la forma de un bucle no lo es: eso es un benchmark frágil, y arreglarlo nos toca a nosotros.

Qué cambió en el benchmark 2.3.0

El raymarcher ahora dibuja en pasadas pequeñas. En lugar de un shader que recorre un bucle hasta 180 muestras, Cromo líquido acumula pasadas repetidas de cuatro muestras: las mismas posiciones de muestreo, el mismo trabajo total y la aritmética intacta hasta el último dígito. Un bucle de cuatro iteraciones es justo el tipo de shader que todos los motores compilan bien; si eso devuelve a las GPU de Apple más nuevas a la tendencia de su rendimiento de fragmentos es lo que mostrará la próxima visita a la tienda. Firefox no se movió —5.622 también con el shader nuevo— porque su coste está en el trabajo que hace cada muestra, no en el bucle que la rodea, y arreglar eso cambiaría la propia carga de trabajo.

Un único presupuesto sostenido para todas las pantallas. Las marcas de tiempo reales de vsync resultan más desordenadas que el modelo pulcro que publicamos con la 2.2.0, y a los equipos con pantallas de frecuencia fija se les permitía, sin que nadie lo notara, un presupuesto sostenido por fotograma un ~9% más blando que a los portátiles con sincronización adaptativa. Ahora todos responden a la misma media recortada de 17,5 ms.

Los arranques en frío dejaron de producir basura. Las primeras pruebas en un navegador recién abierto solían ser brutales: un Mac de exposición marcó 77 y, pocos minutos después, 8.553; nuestras propias primeras pruebas en Safari en casa dieron 304 y 1.149 antes de un 11.443. Tres arreglos: el benchmark ahora comprueba si tu equipo está ocupado antes de gastar tres minutos, espera en cada escena a que pasen los tirones de compilación de shaders de la primera visita y da a una escena que no midió nada un intento más al final de la prueba si el equipo se ha calmado. No se inventa nada: un reintento es solo una segunda medición.

Las marcas ahora dicen la verdad. Una prueba en la que todas las escenas midieron, pero un nivel no pudo confirmarse tres ventanas seguidas, antes se hundía hasta el mínimo y se quedaba por completo fuera de la tabla. Nuestros datos de producción muestran que esos niveles quedan alrededor de un 13% por debajo de lo que miden los dispositivos estables —es hardware que sufre y lo dice con honestidad, no un número amañado—, así que ahora se publican con una marca, y cada marca de escena dice exactamente cuál de tres cosas ocurrió.

Y los resultados viajan. Copiar enlace ahora mete el resultado completo —puntuación, cargas por escena, tiempos de fotograma, marcas— en el propio enlace. No se sube nada; ábrelo en cualquier sitio y se muestra en modo de solo lectura. Si alguna vez mides un ordenador que no es tuyo, ya no tienes que fotografiar la pantalla. Lo sabemos. Fotografiamos muchas pantallas.

Las puntuaciones de la 2.3.0 nunca se mezclan con versiones anteriores, así que la tabla empieza de cero. Si quieres la versión larga de cómo funciona la medición —las ventanas de tiempo de fotograma, la escalera de carga, lo que puede invalidar una prueba—, la página de metodología lo tiene todo. O simplemente ejecuta la prueba: tarda unos tres minutos y ahora te avisa de entrada si tu equipo no está para trotes.

Compartir esta página
DiscusiónUn hilo por idioma, compartido en todo el sitio. Inicia sesión con Google para publicar.
Discusión