Las trampas de referencia contraatacan: cómo OnePlus y otros fueron sorprendidos con las manos en la masa y qué han hecho al respecto

OnePlus y Meizu han sido sorprendidos haciendo trampa en los puntos de referencia. XDA investiga cómo sucedió y qué se puede hacer para evitar que vuelva a suceder.

Hace unos años hubo un gran revuelo cuando numerosos fabricantes importantes fueron sorprendidos haciendo trampa en los puntos de referencia. OEM de todos los tamaños (incluidos Samsung, HTC, sony, y LG) participaron en esta carrera armamentista para intentar engañar a los usuarios sin ser descubiertos, pero afortunadamente finalmente dejaron de hacer trampa en el punto de referencia después de algunas conversaciones francas con expertos de la industria y periodistas.

En 2013, era descubierto que Samsung estaba aumentando artificialmente las velocidades de reloj de su GPU en ciertas aplicaciones, lo que provocó una serie de investigaciones en trampas de referencia en toda la gama de fabricantes. En ese momento, la investigación encontró que casi todos los fabricantes, excepto Google/Motorola, estaban haciendo trampa en los benchmarks. Todos estaban invirtiendo tiempo y dinero en intentos de obtener un poco más de rendimiento de sus teléfonos en pruebas comparativas, de manera que no tendría ningún efecto positivo en el uso diario, en un intento de engañar a los usuarios haciéndoles pensar que sus teléfonos eran más rápidos de lo que realmente eran. Estos esfuerzos de desarrollo abarcaron toda la gama, desde establecer velocidades mínimas de reloj hasta forzar las velocidades del reloj a sus configuraciones máximas, e incluso crear programas especiales más altos. estados de energía y velocidades de reloj especiales que solo estaban disponibles cuando se realizaban evaluaciones comparativas, y estos esfuerzos a menudo resultaban en aumentos de solo un par de puntos porcentuales en punto de referencia.

Hubo una gran indignación cuando se descubrió, ya que estos intentos de hacer trampa en los puntos de referencia iban en contra de la esencia de los propios puntos de referencia. La mayoría de los puntos de referencia no están ahí para indicarle el rendimiento máximo teórico de un teléfono en condiciones de laboratorio que no son reproducibles en el uso diario, sino que están ahí para brindarle un punto de referencia para comparaciones del mundo real entre Los telefonos. Después de una pequeña reprimenda pública (y algunas conversaciones privadas) por parte de publicaciones tecnológicas, líderes de la industria y el público en general, la mayoría de los fabricantes entendieron el mensaje de que hacer trampa en los índices de referencia simplemente no era aceptable y dejaron de hacerlo como una medida resultado. La mayoría de los pocos que no se detuvieron en ese punto lo hicieron poco después, ya que se realizaron cambios sustanciales. cuántos puntos de referencia se ejecutan, en un intento de desalentar el fraude en los puntos de referencia (al reducir el beneficio de él). Muchos puntos de referencia se hicieron más largos para que la limitación térmica al maximizar las velocidades del reloj se hiciera evidente de inmediato.

Cuando nosotros entrevistado John Poole, el creador de Geekbench, surgió el tema de las trampas en los índices de referencia y lo que empresas como Primate Labs pueden hacer para evitarlo. Primate Labs en particular hizo que Geekbench 4 fuera un poco más largo que Geekbench 3, en parte para reducir los efectos de las trampas en los benchmarks. Reducir los beneficios para asegurar que el desarrollo Los costos de hacer trampa en los índices de referencia no valen la pena..

"El problema es que una vez que tengamos estos tiempos de ejecución grandes, si comienzas a jugar aumentando el reloj, velocidades o desactivar reguladores o algo así, vas a empezar a poner un peligro real en el teléfono... Si vas a jugar... no sacarás tanto provecho de ello. Es posible que aún obtengas un par de porcentajes, pero ¿realmente vale la pena?" - John Poole


Qué pasó

Desafortunadamente, debemos informar que algunos fabricantes de equipos originales han comenzado a hacer trampa nuevamente, lo que significa que debemos estar atentos una vez más. Afortunadamente, los fabricantes se han vuelto cada vez más receptivos a problemas como este y, si se les presta la atención adecuada, esto se puede solucionar rápidamente. Es un poco impactante ver a los fabricantes implementar trampas en los puntos de referencia a la luz de lo grave que fue la reacción. la última vez que se intentó (con algunos puntos de referencia excluyendo por completo los dispositivos tramposos de su rendimiento liza). Con esa reacción en contraste con lo pequeñas que suelen ser las ganancias de rendimiento derivadas de las trampas en los puntos de referencia (con la mayoría de los intentos que resultaron en un aumento de puntaje de menos del 5% la última vez), realmente esperábamos que todo esto quedara atrás a nosotros.

El momento de este intento es especialmente inoportuno, ya que hace un par de meses las trampas de referencia dejaron al mundo como puramente un preocupación entusiasta, y entró en la esfera pública cuando Volkswagen y Fiat Chrysler fueron sorprendidos haciendo trampa en sus emisiones puntos de referencia. Ambas compañías implementaron un software para detectar cuándo sus automóviles diésel se sometían a pruebas de emisiones y los pusieron en modo de bajas emisiones. que vieron caer su economía de combustible, en un intento de competir con los automóviles de gasolina en eficiencia de combustible y al mismo tiempo mantenerse dentro de los límites regulatorios de emisiones. pruebas. Hasta ahora, el escándalo ha resultado en miles de millones en multas, decenas de miles de millones en costos de retiro del mercado y la presentación de cargos; ciertamente no es el tipo de represalia Los fabricantes de equipos originales jamás verían inflar sus puntajes de referencia, que son puramente para comparaciones de usuarios y no se utilizan para medir ningún tipo de reglamentación. requisitos.

Mientras investigando cómo Qualcomm logra velocidades de apertura de aplicaciones más rápidas En el entonces nuevo Qualcomm Snapdragon 821, notamos algo extraño en el OnePlus 3T que no pudimos reproducir en el Xiaomi Mi Nota 2 o el Google Píxel XL, entre otros dispositivos Snapdragon 821. Nuestro editor en jefe, Mario Serrafero, estaba utilizando Qualcomm Trepn y Snapdragon Performance Visualizer para monitorear cómo Qualcomm "impulsa" la CPU. velocidad del reloj al abrir aplicaciones y noté que ciertas aplicaciones en el OnePlus 3T no volvían a bajar a sus velocidades de ralentí normales después apertura. Como regla general, evitamos probar puntos de referencia con herramientas de monitoreo de rendimiento abiertas siempre que sea posible debido a la sobrecarga de rendimiento adicional que conllevan. (particularmente en dispositivos que no son de Snapdragon donde no hay herramientas de escritorio oficiales), sin embargo, en este incidente nos ayudaron a notar un comportamiento extraño que probablemente hubiéramos pasado por alto. de lo contrario.

Al ingresar a ciertas aplicaciones de evaluación comparativa, los núcleos del OnePlus 3T se mantendrían por encima de 0,98 GHz para los núcleos pequeños y 1,29 GHz para los núcleos grandes, incluso cuando la carga de la CPU cayera al 0%. Esto es bastante extraño, ya que normalmente ambos conjuntos de núcleos bajan a 0,31 GHz en el OnePlus 3T cuando no hay carga. Al ver esto por primera vez, nos preocupamos que la escala de CPU de OnePlus simplemente estuviera configurada de manera un poco extraña. sin embargo, tras realizar más pruebas llegamos a la conclusión de que OnePlus debe apuntar a objetivos específicos. aplicaciones. Nuestra hipótesis era que OnePlus apuntaba a estos puntos de referencia por su nombre y estaba ingresando a un modo de escala de CPU alternativo para aumentar sus puntajes de referencia. Una de nuestras principales preocupaciones era que OnePlus posiblemente estaba estableciendo restricciones térmicas más flexibles en este modo para evitar los problemas que tuvieron con OnePlus. Uno, OnePlus X y OnePlus 2, donde los teléfonos manejaban mal los núcleos adicionales que se conectaban para la sección de múltiples núcleos de Geekbench, y Como resultado, ocasionalmente se desaceleró sustancialmente (hasta el punto en que el OnePlus X a veces obtuvo una puntuación más baja en la sección de múltiples núcleos que en la de un solo núcleo). sección central). Puede encontrar una fuerte aceleración en nuestro Revisión de OnePlus 2, donde descubrimos que el dispositivo podía perder hasta el 50% de su puntuación multinúcleo Geekbench 3. Más tarde, cuando comenzamos a comparar la aceleración y las temperaturas entre dispositivos, el OnePlus 2 se convirtió en un ejemplo de libro de texto de lo que los OEM deberían evitar.

Nos comunicamos con el equipo en Laboratorios de primates (los creadores de Geekbench), quienes contribuyeron decisivamente a exponer la primera ola de trampas en los benchmarks y se asociaron con ellos para realizar más pruebas. Llevamos un OnePlus 3T a la oficina de Primate Labs en Toronto para un análisis inicial. La prueba inicial incluyó un volcado de ROM que encontró que el OnePlus 3T estaba buscando directamente bastantes aplicaciones por nombre. En particular, el OnePlus 3T buscaba Geekbench, AnTuTu, Androbench, Quadrant, Vellamo y GFXBench. Como en este punto teníamos evidencia bastante clara de que OnePlus estaba haciendo trampa en los puntos de referencia, Primate Labs construyó un “El minigolf de Bob” versión de Geekbench 4 para nosotros. Gracias a cambios sustanciales entre Geekbench 3 y 4, el "Mini golf" La versión tuvo que ser reconstruida desde cero específicamente para esta prueba. Esta versión de Geekbench 4 está diseñada para evitar cualquier detección de referencia, para permitir que Geekbench se ejecute normalmente. aplicación en teléfonos que hacen trampa (yendo más allá del cambio de nombre del paquete que engaña a la mayoría de los intentos de evaluación comparativa) infiel).


Un ejemplo sorprendente

Inmediatamente después de abrir la aplicación, la diferencia fue clara. El OnePlus 3T estaba inactivo a 0,31 GHz, como lo hace en la mayoría de las aplicaciones, en lugar de 1,29 GHz para los núcleos grandes y 0,98 GHz para los núcleos pequeños, como lo hace en la aplicación Geekbench normal. OnePlus estaba haciendo que el regulador de la CPU fuera más agresivo, lo que resultó en un piso de velocidad de reloj artificial práctico en Geekbench que no estaba allí en la versión oculta de Geekbench. No se basó en la carga de trabajo de la CPU, sino en el nombre del paquete de la aplicación, que la compilación oculta podría engañar. Si bien la diferencia en las ejecuciones individuales fue mínima, las relajaciones de la regulación térmica brillan en nuestra prueba de rendimiento sostenido, que se muestra a continuación.

Según nuestras pruebas, parece que esto ha sido una "característica" de Hydrogen OS desde hace bastante tiempo, y no se agregó a Oxygen OS hasta que la comunidad se desarrolló antes del lanzamiento de Nougat (después de la Se fusionaron dos ROM.). Es un poco decepcionante verlo, especialmente a la luz de los problemas de software que OnePlus ha tenido este mes tras la fusión de las ROM, de vulnerabilidades del gestor de arranque a Problemas de cumplimiento de GPL. Tenemos la esperanza de que, a medida que el polvo se calme tras la fusión de los dos equipos, OnePlus vuelva a estar en forma y continúe posicionándose como una opción amigable para los desarrolladores.

Con el "Mini golf" Con la versión de Geekbench en la mano, salimos y comenzamos a probar otros teléfonos para hacer trampa en los puntos de referencia también. Afortunadamente, nuestras pruebas no muestran trampas por parte de las empresas involucradas en el escándalo hace media década. HTC, Xiaomi, Huawei, Honor, Google, Sony y otros parecen tener puntuaciones consistentes entre la versión normal de Geekbench y la "Mini golf" construir sobre nuestros dispositivos de prueba.

Desafortunadamente, encontramos posible evidencia de fraude en los índices de referencia que aún no hemos podido confirmar en un par de otras compañías, las cuales investigaremos más a fondo. El peor ejemplo de esto fue el Meizu Pro 6 Plus con motor Exynos 8890, que llevó el engaño de referencia a otro extremo.


Un terrible ejemplo

Históricamente, Meizu ha establecido el escalado de su CPU de manera extremadamente conservadora. En particular, a menudo configuran sus teléfonos de manera que los núcleos grandes rara vez se conectan, incluso cuando están en su “modo de rendimiento”, lo que hace que los procesadores insignia (como el excelente Exynos 8890) que ponen en sus teléfonos insignia actúan como procesadores de gama media. Esto llegó a un punto crítico el año pasado cuando anandtech llamó a Meizu por su pobre desempeño en los puntos de referencia de JavaScript de Anandtech en el Meizu Pro 6 basado en Mediatek Helio X25, y notó que los núcleos grandes permanecieron fuera de línea durante la mayor parte de la prueba (cuando la prueba debería haberse ejecutado casi exclusivamente en los núcleos grandes). núcleos). Anandtech notó la semana pasada que se había enviado una actualización de software al Meizu Pro 6 que finalmente permitía al Meizu usar esos núcleos al máximo. Matt Humrick, editor sénior de teléfonos inteligentes de Anandtech, comentó eso "Después de actualizar a Flyme OS 5.2.5.0G, el PRO 6 funciona sustancialmente mejor. Las puntuaciones de Kraken, WebXPRT 2015 y JetStream mejoran entre 2 y 2,5 veces. Meizu aparentemente ajustó el valor del umbral de carga, permitiendo que los hilos migren a los núcleos A72 con más frecuencia para un mejor rendimiento".

Desafortunadamente, parece que en lugar de mejorar la escala de CPU de sus nuevos dispositivos para obtener mejores puntuaciones de referencia, parecen haber configurado el teléfono para cambiar al uso de núcleos grandes cuando ciertas aplicaciones son correr.

Al abrir una aplicación de evaluación comparativa, nuestro Meizu Pro 6 Plus recomienda que cambie al "Modo de rendimiento" (que es el único es suficiente para confirmar que están buscando nombres de paquetes específicos), y parece marcar una diferencia sustancial. Cuando está en el "Modo de equilibrio" estándar, el teléfono obtiene constantemente una puntuación de alrededor de 604 y 2220 en las secciones de un solo núcleo y de múltiples núcleos de Geekbench, pero en En el “Modo de rendimiento” obtiene una puntuación de 1473 y 3906, en gran parte gracias a que los núcleos grandes permanecen apagados durante la mayor parte de la prueba en el “Modo de equilibrio” y se encienden en "Modo de desempeño". Meizu parece bloquear los pequeños núcleos a su velocidad máxima de 1,48 GHz y establecer un piso duro para dos de sus grandes núcleos de 1,46 GHz cuando están en funcionamiento. Geekbench mientras está en “Modo de rendimiento” (con los otros dos núcleos grandes pudiendo escalar libremente y de manera bastante agresiva), lo cual no vemos cuando ejecutando el "Mini golf" construir.

Si bien poder elegir entre un modo de alta potencia y un modo de baja potencia puede ser una buena característica, en este caso parece no ser más que un truco de salón. El Meizu Pro 6 Plus obtiene puntuaciones decentes en el "Modo de rendimiento" para la aplicación Geekbench normal, pero cuando se usa el "Mini golf" compilación de Geekbench, vuelve a bajar al mismo nivel de rendimiento que cuando está configurado en "Modo de equilibrio". El estado de mayor rendimiento del Meizu Pro 6 Plus es sólo para evaluación comparativa, no para el uso diario real.

Una cosa a tener en cuenta es que cuando probamos el Meizu Pro 6 Plus en "Modo de rendimiento" con el secreto compilación de Geekbench, los grandes núcleos se conectaron si estuviéramos registrando las velocidades del reloj con Qualcomm Trepán. Aún no hemos determinado si Meizu reconoce que Trepn se está ejecutando y activando los núcleos grandes en parte debido a esto, o si simplemente está activando los núcleos grandes debido a la carga adicional de CPU que crea. Si bien puede parecer contrario a la intuición que una carga adicional en segundo plano (como cuando mantuvimos los gráficos de rendimiento activados durante la prueba) aumentar Según los resultados de un punto de referencia, la escala conservadora de Meizu podría significar que los gastos generales adicionales fueron suficiente para llevarlo al límite y llamar a los grandes núcleos a la acción, mejorando así el rendimiento para todos tareas.


Cuando los OEM receptivos abordan los comentarios...

Después de nuestras pruebas, nos comunicamos con OnePlus sobre los problemas que encontramos. En respuesta, OnePlus prometió rápidamente dejar de apuntar a las aplicaciones de evaluación comparativa con sus trampas de evaluación comparativa, pero aún tiene la intención de conservarlo para los juegos (que también se comparan). En una versión futura de OxygenOS, este mecanismo no se activará mediante puntos de referencia.. OnePlus ha sido receptivo a nuestra sugerencia de agregar también un interruptor para que los usuarios sepan lo que está sucediendo. bajo el capó, y al menos la ventaja injusta y engañosa en los puntos de referencia debería ser corregido. Sin embargo, debido a las vacaciones del Año Nuevo chino y su acumulación de funciones, puede pasar un tiempo antes de que veamos opciones de personalización para el usuario para esta función de rendimiento. Si bien corregir el comportamiento por sí solo es una mejora, sigue siendo un poco decepcionante verlo en la práctica habitual. aplicaciones (como juegos), ya que es una muleta para apuntar a aplicaciones específicas, en lugar de mejorar el rendimiento real escalada. Al aumentar artificialmente la agresividad del procesador y, por lo tanto, la velocidad del reloj para aplicaciones específicas, en lugar de mejorar la capacidad de sus teléfonos para identificar cuándo realmente se necesita más velocidad. velocidades de reloj, OnePlus crea un rendimiento inconsistente para sus teléfonos, lo que solo se hará más evidente a medida que el teléfono envejece y se lanzan más juegos a los que OnePlus no se ha dirigido. liberado. Sin embargo, la implementación actualmente permite que los juegos funcionen mejor. OnePlus también proporcionó una declaración para este artículo, que puede leer a continuación:

 'Con el fin de brindar a los usuarios una mejor experiencia de usuario en aplicaciones y juegos que requieren muchos recursos, especialmente gráficos algunos, implementamos ciertos mecanismos en la comunidad y compilaciones de Nougat para hacer que el procesador ejecute más agresivamente. El proceso de activación para aplicaciones de evaluación comparativa no estará presente en las próximas versiones de OxygenOS en OnePlus 3 y OnePlus 3T.

Nos complace saber que OnePlus eliminará las trampas de referencia de sus teléfonos. En el futuro, seguiremos intentando presionar a los fabricantes de equipos originales para que sean más amigables con el consumidor siempre que sea posible y estaremos atentos a futuras trampas en los índices de referencia.

Lamentablemente, la única respuesta real a este tipo de engaño es la vigilancia constante.. Como comunidad de entusiastas de los teléfonos inteligentes, debemos estar atentos a intentos de engañar a los usuarios de esta manera. No son las puntuaciones de las pruebas en sí lo que nos interesa, sino lo que dicen las pruebas sobre el rendimiento del teléfono. Si bien el fraude de referencia aún no estaba activo en el OnePlus 3 cuando lo revisamos, una simple actualización de software fue suficiente para agregar esta “característica” engañosa, y ilustra claramente que verificar los dispositivos para detectar trampas en los puntos de referencia cuando se inician por primera vez no es suficiente. Problemas como este pueden agregarse días, semanas, meses o incluso años después del lanzamiento del dispositivo, de forma artificial. inflar los promedios globales recopilados por los puntos de referencia meses después, lo que influye en la base de datos final resultado. Cabe señalar que incluso con estos ajustes que los fabricantes tuvieron que invertir tiempo y dinero para desarrollar, normalmente solo vemos un aumento de un par de puntos porcentuales en las puntuaciones de referencia (excluyendo un par de casos marginales como Meizu, donde el engaño encubre problemas mucho mayores). Un par de puntos porcentuales, que es mucho menor que la brecha entre los dispositivos con mejor y peor rendimiento. Sin embargo, diríamos que con dispositivos que ejecutan hardware cada vez más similar, esos puntos porcentuales adicionales podrían ser el factor decisivo en las tablas de clasificación que los usuarios finalmente buscan. Una mejor optimización del controlador y un escalado más inteligente de la CPU pueden tener un efecto absolutamente enorme en el rendimiento del dispositivo, con la diferencia entre la puntuación del dispositivo basado en Qualcomm Snapdragon 820 con mejor rendimiento y el de peor rendimiento (de un importante fabricante de equipos originales) supera el 20 % en Banco Geek. Veinte por ciento de la optimización del controlador, en lugar de un par de puntos porcentuales de gastar tiempo y dinero para engañar a sus usuarios. Y eso es sólo hablando de los esfuerzos de desarrollo que pueden afectar los puntajes de referencia. Muchos de los mayores beneficios de invertir en mejorar el software de un dispositivo no siempre aparece en los puntos de referencia, y OnePlus ofrece un excelente rendimiento en el mundo real en sus dispositivos. Realmente debería quedar claro dónde deberían centrarse los esfuerzos de desarrollo de una empresa en este caso. Nos estamos acercando a más empresas que hacen trampa en los puntos de referencia a medida que los encontramos, y esperamos que sean tan receptivas como OnePlus.


Nos gustaría agradecer una vez más al equipo de Primate Labs por trabajar con nosotros para descubrir este problema. Habría sido mucho más difícil realizar pruebas adecuadas de Benchmark Cheating sin la edición “Mini Golf” de Geekbench.