OnePlus и Meizu были уличены в мошенничестве при проведении тестов. XDA расследует, как это произошло и что можно сделать, чтобы это не повторилось.
Несколько лет назад произошел серьезный скандал, когда многие крупные производители были уличены в мошенничестве с тестами. OEM-производители всех размеров (включая Samsung, ХТК, Сонии LG) приняли участие в этой гонке вооружений, пытаясь обмануть пользователей и не быть пойманными, но, к счастью, в конце концов они прекратили мошенничество в тестах после нескольких откровенных обсуждений с эксперты отрасли и журналисты.
Еще в 2013 году это было обнаруженный что Samsung искусственно повышала тактовую частоту своего графического процессора в некоторых приложениях, что вызвало серию расследования в мошенничество при тестировании среди всего спектра производителей. В то время расследование показало, что почти все производители, за исключением Google и Motorola, занимались мошенничеством при тестировании. Все они вкладывали время и деньги в попытки добиться немного большей производительности своих телефонов в тестах, причем таким образом, чтобы не окажет никакого положительного влияния на повседневное использование в попытке обмануть пользователей, заставив их думать, что их телефоны работают быстрее, чем на самом деле. были. Эти усилия по разработке охватывали весь спектр: от установки минимальной тактовой частоты до достижения максимальных значений тактовой частоты и даже создания специальных более высоких настроек. состояния питания и специальные тактовые частоты, которые были доступны только при тестировании; эти усилия часто приводили к увеличению производительности всего на пару процентных пунктов. эталон.
Когда это было обнаружено, это вызвало серьезное возмущение, поскольку эти попытки мошенничества с тестами противоречили самой сути тестов. Большинство тестов не позволяют определить теоретическую максимальную производительность телефона в лабораторных условиях. воспроизводимы в повседневном использовании, а скорее предназначены для того, чтобы дать вам точку отсчета для сравнения в реальном мире между телефоны. После небольшого публичного упрека (и некоторых частных разговоров) со стороны технологических изданий, лидеров отрасли и широкой публике, большинство производителей поняли, что мошенничество в тестах просто неприемлемо, и прекратили работу в качестве результат. Большинство из тех немногих, кто не остановился на этом этапе, прекратили работу вскоре после этого, поскольку были внесены существенные изменения. от количества запущенных тестов, в попытке препятствовать мошенничеству в тестах (за счет уменьшения выгоды от это). Многие тесты были удлинены, чтобы сразу стало очевидным тепловое регулирование, возникающее из-за максимизации тактовой частоты.
Когда мы интервью Джон Пул, создатель Geekbench, рассказал о мошенничестве в тестах и о том, что такие компании, как Primate Labs, могут сделать, чтобы предотвратить его всплывание. В частности, компания Primate Labs сделала Geekbench 4 немного длиннее, чем Geekbench 3, отчасти для того, чтобы уменьшить последствия мошенничества в тестах. Снижение пособий для того, чтобы обеспечить развитие затраты на мошенничество в тестах не стоят того.
«Проблема в том, что как только мы получим такое большое время работы, если вы начнете играть, увеличивая тактовую частоту, скорости или отключение регуляторов или что-то в этом роде, вы начнете подвергать реальную реальную опасность телефон... Если ты собираешься в это играть... вы не получите от этого столько пользы. Вы все равно можете получить пару процентов, но стоит ли оно того?» — Джон Пул
Что случилось
К сожалению, мы должны сообщить, что некоторые OEM-производители снова начали жульничать, а это означает, что нам следует снова быть начеку. К счастью, производители стали более внимательно реагировать на подобные проблемы, и если уделять этому должное внимание, это можно быстро исправить. Немного шокирует то, что производители внедряют мошенничество в тестах, учитывая, насколько серьезной была обратная реакция. в прошлый раз это было предпринято (при этом некоторые тесты полностью исключали читерские устройства из их производительности) списки). Учитывая эту негативную реакцию, контрастирующую с тем, насколько незначительным обычно является прирост производительности от мошенничества в тестах (при этом большинство попыток в прошлый раз привели к увеличению баллов менее чем на 5%), мы искренне надеялись, что все это останется позади. нас.
Время для этой попытки особенно неподходящее, поскольку пару месяцев назад мошенничество в тестах превратило мир в чисто беспокойство энтузиастов и вошел в общественную сферу, когда Volkswagen и Fiat Chrysler были пойманы на мошенничестве с выбросами. ориентиры. Обе компании внедрили программное обеспечение, позволяющее определять, когда их дизельные автомобили проходят испытания на выбросы, и переключали их в режим с низким уровнем выбросов. у которых снизилась экономия топлива в попытке конкурировать с бензиновыми автомобилями по топливной эффективности, оставаясь при этом в пределах нормативных ограничений по выбросам. тесты. На данный момент скандал привел к миллиардам штрафов, десяткам миллиардов затрат на отзыв и предъявлению обвинений - конечно, это не тот вид возмездия. OEM-производители всегда будут стремиться к завышению своих показателей, которые предназначены исключительно для сравнения пользователей и не используются для измерения каких-либо нормативных требований. требования.
Пока исследование того, как Qualcomm достигает более высокой скорости открытия приложений на тогдашнем новом процессоре Qualcomm Snapdragon 821 мы заметили что-то странное на OnePlus 3T что мы не смогли воспроизвести на Сяоми Ми Примечание 2 или Гугл Пиксель XL, среди других устройств Snapdragon 821. Наш главный редактор Марио Серраферо использовал Qualcomm Trepn и Snapdragon Performance Visualizer, чтобы отслеживать, как Qualcomm «разгоняет» процессор. тактовую частоту при открытии приложений, и заметил, что некоторые приложения на OnePlus 3T не возвращались к нормальной скорости простоя после открытие. Как правило, мы избегаем тестирования тестов с открытыми инструментами мониторинга производительности, когда это возможно, из-за дополнительных затрат на производительность, которые они приносят. (особенно на устройствах, отличных от Snapdragon, где нет официальных инструментов рабочего стола), однако в этом инциденте они помогли нам заметить некоторое странное поведение, которое мы, вероятно, пропустили бы в противном случае.
При входе в определенные приложения для тестирования частота ядер OnePlus 3T оставалась выше 0,98 ГГц для маленьких ядер и 1,29 ГГц для больших ядер, даже когда загрузка ЦП падала до 0%. Это довольно странно, ведь обычно у OnePlus 3T частота обоих наборов ядер падает до 0,31 ГГц при отсутствии нагрузки. Впервые увидев это, мы забеспокоились, что масштабирование процессора OnePlus было настроено немного странно. однако после дальнейшего тестирования мы пришли к выводу, что OnePlus должен быть ориентирован на конкретные Приложения. Наша гипотеза заключалась в том, что OnePlus ориентировался на эти тесты по названию и переходил в альтернативный режим масштабирования ЦП, чтобы повысить свои результаты в тестах. Одной из наших главных проблем было то, что OnePlus, возможно, устанавливал более слабые температурные ограничения в этом режиме, чтобы избежать проблем, которые возникли у OnePlus. One, OnePlus X и OnePlus 2, где телефоны плохо обрабатывали дополнительные ядра, подключаемые к многоядерному разделу Geekbench, и в результате время от времени существенно снижается скорость (до такой степени, что OnePlus X иногда набирает меньше баллов в многоядерном разделе, чем в одноядерном) основной раздел). Вы можете найти сильное регулирование в нашем Обзор OnePlus 2, где мы обнаружили, что устройство может потерять до 50% своего многоядерного результата в Geekbench 3. Позже, когда мы начали сравнивать троттлинг и температуру на разных устройствах, OnePlus 2 стал хрестоматийным примером того, чего следует избегать OEM-производителям.
Мы обратились к команде по адресу Примат Лаборатории (создатели Geekbench), которые сыграли важную роль в разоблачении первой волны мошенничества в тестах и сотрудничали с ними для дальнейшего тестирования. Мы привезли OnePlus 3T в офис Primate Labs в Торонто для первоначального анализа. Первоначальное тестирование включало дамп ПЗУ, который показал, что OnePlus 3T напрямую искал довольно много приложений по названию. В частности, OnePlus 3T искал Geekbench, AnTuTu, Androbench, Quadrant, Vellamo и GFXBench. Поскольку к этому моменту у нас были достаточно четкие доказательства того, что OnePlus занимается мошенничеством при тестировании, Primate Labs создала «Удар Боба в мини-гольф» версия Geekbench 4 для нас. Благодаря существенные изменения между Geekbench 3 и 4, "Мини гольф" версию пришлось пересобирать с нуля специально для этого тестирования. Эта версия Geekbench 4 разработана таким образом, чтобы избежать обнаружения каких-либо тестов и позволить Geekbench работать в обычном режиме. приложение на телефонах, которые обманывают (выходя за рамки переименования пакета, которое обманывает большинство попыток тестирования мошенничество).
Удивительный пример
Сразу после открытия приложения разница стала очевидна. OnePlus 3T работал на холостом ходу на частоте 0,31 ГГц, как в большинстве приложений, а не на частоте 1,29 ГГц для больших ядер и 0,98 ГГц для маленьких ядер, как в обычном приложении Geekbench. OnePlus сделал регулятор ЦП более агрессивным, что привело к практическому искусственному минимальному уровню тактовой частоты в Geekbench, которого не было в скрытой сборке Geekbench. Это было основано не на рабочей нагрузке процессора, а на имени пакета приложения, которое скрытая сборка могла обмануть. Хотя разница в отдельных запусках была минимальной, ослабление теплового дросселирования проявляется в нашем тесте устойчивой производительности, показанном ниже.
Судя по нашему тестированию, выяснилось, что это была «функция» Hydrogen OS уже довольно давно и не была добавлена в Oxygen OS до тех пор, пока сообщество не подготовило сборку, предшествовавшую выпуску Nougat (после два ПЗУ были объединены). Это немного разочаровывает, особенно в свете проблем с программным обеспечением, которые возникли у OnePlus в этом месяце после слияния ПЗУ с уязвимости загрузчика к Проблемы соответствия GPL. Мы надеемся, что, когда уляжется пыль после слияния двух команд, OnePlus вернется в прежнюю форму и продолжит позиционировать себя как удобный для разработчиков вариант.
С "Мини гольф" Имея в руках версию Geekbench, мы пошли и начали тестировать другие телефоны на предмет мошенничества в тестах. К счастью, наши тесты не выявили мошенничества со стороны компаний, замешанных в скандале полвека назад. HTC, Xiaomi, Huawei, Honor, Google, Sony и другие, судя по всему, имеют одинаковые оценки между обычной сборкой Geekbench и тестовой версией. "Мини гольф" использовать наши тестовые устройства.
К сожалению, мы обнаружили возможные доказательства мошенничества с тестами, которые нам пока не удалось подтвердить у пары других компаний, и которые мы будем расследовать дальше. Самый худший пример этого был в Meizu Pro 6 Plus на базе Exynos 8890, который довел мошенничество в тестах до другой крайности.
Ужасный пример
Meizu исторически устанавливала масштабирование процессора крайне консервативно. Примечательно, что они часто настраивают свои телефоны так, что большие ядра редко подключаются к сети, даже когда они находятся в «режиме производительности», поэтому флагманские процессоры (например, отличный Эксинос 8890), которые они устанавливают в свои флагманские телефоны, действуют как процессоры среднего класса. Это достигло апогея в прошлом году, когда Анандтек вызвал Meizu за плохую производительность в тестах JavaScript Anandtech на Meizu Pro 6 на базе Mediatek Helio X25, и отметил, что большие ядра оставались отключенными на протяжении большей части теста (хотя тест должен был выполняться почти исключительно на больших ядрах). ядра). На прошлой неделе Anandtech заметил, что на Meizu Pro 6 было установлено обновление программного обеспечения, которое наконец позволило Meizu использовать эти ядра в полной мере. Старший редактор Anandtech по смартфонам Мэтт Хамрик: заметил что «После обновления Flyme OS 5.2.5.0G PRO 6 работает значительно лучше. Показатели Kraken, WebXPRT 2015 и JetStream улучшаются примерно в 2–2,5 раза. Meizu, очевидно, скорректировала пороговое значение нагрузки, позволив потокам чаще мигрировать на ядра A72 для повышения производительности».
К сожалению, похоже, что вместо того, чтобы улучшать масштабирование ЦП для своих новых устройств, они получают лучшее результаты тестов, они, похоже, настроили телефон на переключение на использование больших ядер при запуске определенных приложений. бег.
При открытии приложения для тестирования наш Meizu Pro 6 Plus рекомендует вам переключиться в «Режим производительности» (который сам по себе достаточно, чтобы подтвердить, что они ищут конкретные имена пакетов), и, похоже, это имеет существенное значение. В стандартном «режиме баланса» телефон стабильно набирает около 604 и 2220 баллов в одноядерных и многоядерных разделах Geekbench, но в В «Режиме производительности» он набирает 1473 и 3906 баллов, во многом благодаря тому, что большие ядра остаются выключенными большую часть теста в «Режиме баланса» и включаются в режиме «Баланс». «Режим производительности». Meizu, похоже, фиксирует максимальную частоту маленьких ядер в 1,48 ГГц и устанавливает жесткий порог для двух больших ядер с частотой 1,46 ГГц во время работы. Geekbench в «режиме производительности» (при этом двум другим большим ядрам разрешено свободно и довольно агрессивно масштабироваться), чего мы не видим, когда управление "Мини гольф" строить.
Хотя возможность выбора между режимом высокой мощности и режимом низкого энергопотребления может быть приятной функцией, в данном случае это не более чем салонный трюк. Meizu Pro 6 Plus показывает приличные результаты в «режиме производительности» для обычного приложения Geekbench, но при использовании "Мини гольф" сборки Geekbench, он снова падает до того же уровня производительности, который был в «Режиме баланса». Более высокая производительность Meizu Pro 6 Plus предназначена только для тестирования, а не для повседневного использования.
Следует отметить, что когда мы тестировали Meizu Pro 6 Plus в «режиме производительности» с секретным сборка Geekbench, большие ядра подключались, если мы записывали тактовую частоту с помощью Qualcomm Трепн. Мы еще не определили, распознает ли Meizu, что Trepn работает, и включает ли большие ядра в частично из-за этого, или он просто включает большие ядра из-за дополнительной нагрузки на процессор, которую он создает. Хотя может показаться нелогичным, что дополнительная нагрузка в фоновом режиме (например, когда мы включали графики производительности во время теста) может увеличивать Согласно результатам теста, консервативное масштабирование Meizu может означать, что дополнительные накладные расходы были достаточно, чтобы довести его до предела и вызвать в действие большие ядра, тем самым улучшая производительность для всех задания.
Когда восприимчивые OEM-производители обращаются к отзывам...
После тестирования мы обратились в OnePlus по поводу обнаруженных проблем. В ответ, OnePlus быстро пообещал прекратить нацеливаться на приложения для тестирования с помощью мошенничества в тестах, но по-прежнему намерен сохранить его для игр (которые также проходят тестирование). В будущей сборке OxygenOS этот механизм не будет запускаться тестами.. OnePlus воспринял наше предложение добавить переключатель, чтобы пользователи знали, что происходит. под капотом, и, по крайней мере, несправедливое и вводящее в заблуждение преимущество в тестах должно быть исправленный. Однако из-за китайского Нового года и большого количества невыполненных функций может пройти некоторое время, прежде чем мы увидим возможности настройки этой функции производительности, ориентированные на пользователя. Хотя исправление поведения само по себе является улучшением, все же немного разочаровывает то, что регулярно приложения (например, игры), поскольку это мешает нацеливаться на конкретные приложения вместо улучшения фактической производительности. масштабирование. Искусственно повышая агрессивность процессора и, следовательно, тактовую частоту для конкретных приложений вместо улучшения способности телефонов определять, когда действительно требуется более высокая частота. тактовые частоты, OnePlus создает нестабильную производительность своих телефонов, что становится все более очевидным по мере того, как телефон становится старше и появляется все больше игр, на которые OnePlus не нацелен. выпущенный. Однако в настоящее время реализация позволяет играм работать лучше. OnePlus также предоставил заявление для этой статьи, которое вы можете прочитать ниже:
«Чтобы предоставить пользователям лучший пользовательский опыт в ресурсоемких приложениях и играх, особенно графически насыщенных мы внедрили в сообществе и сборках Nougat определенные механизмы, позволяющие процессору запускать больше агрессивно. Процесс запуска для тестирования приложений не будет присутствовать в будущих сборках OxygenOS на OnePlus 3 и OnePlus 3T».
Мы рады слышать, что OnePlus уберет мошенничество с тестами на своих телефонах. В дальнейшем мы продолжим попытки оказывать давление на OEM-производителей, чтобы они были более дружелюбными к потребителям, когда это возможно, и будем следить за будущими мошенничествами в тестах.
К сожалению, единственный реальный ответ на этот вид обмана – это постоянная бдительность.. Как сообщество энтузиастов смартфонов, мы должны следить за попытками обмануть пользователей подобным образом. Нас интересуют не сами результаты тестов, а то, что они говорят о производительности телефона. Хотя мошенничество в тестах еще не было активным на OnePlus 3 когда мы рассмотрели его, простого обновления программного обеспечения было достаточно, чтобы добавить эту вводящую в заблуждение «функцию», и наглядно иллюстрирует, что проверка устройств на предмет мошенничества при первом запуске не является достаточно. Подобные проблемы могут быть добавлены искусственно через несколько дней, недель, месяцев или даже лет после запуска устройства. завышение глобальных средних показателей, собранных с помощью контрольных показателей за несколько месяцев, что повлияет на окончательную базу данных результат. Следует отметить, что даже несмотря на эти настройки, на разработку которых производителям приходилось вкладывать время и деньги, обычно мы наблюдаем увеличение показателей тестов всего на пару процентных пунктов. (исключая пару второстепенных случаев, таких как Meizu, где мошенничество скрывает гораздо более серьезные проблемы). Пара процентных пунктов, что намного меньше, чем разрыв между самыми производительными и худшими устройствами. Однако мы утверждаем, что, поскольку устройства используют все более похожее оборудование, эти дополнительные процентные пункты могут стать решающим фактором в рейтинговых диаграммах, которые в конечном итоге просматривают пользователи. Лучшая оптимизация драйверов и более разумное масштабирование ЦП могут оказать огромное влияние на производительность устройства, причем разница между Оценка самого производительного устройства на базе Qualcomm Snapdragon 820 и самого худшего устройства (от крупного OEM-производителя) превышает 20 % на Гикбенч. Двадцать процентов от оптимизации драйверов, а не пара процентных пунктов от траты времени и денег на обман ваших пользователей. И это всего лишь разговоры об усилиях по разработке, которые могут повлиять на результаты тестов. Многие из самых больших преимуществ инвестиций в улучшение программного обеспечения устройства не всегда отображаются в тестах, а OnePlus предлагает отличную производительность в реальных условиях на своих устройствах. Действительно, должно быть ясно, на чем в этом случае следует сосредоточить усилия компании по развитию. Мы обращаемся к большему количеству компаний, которые обманывают тесты по мере их обнаружения, и надеемся, что они так же восприимчивы, как OnePlus.
Мы хотели бы еще раз поблагодарить команду Primate Labs за работу с нами над раскрытием этой проблемы. Без версии Geekbench «Мини-гольф» было бы значительно сложнее правильно протестировать бенчмарк на предмет мошенничества.