Яндекс: Драйверы AMD оптимизируют работу с Google Chrome и Microsoft Edge, игнорируя другие Chromium-браузеры

Команда разработчиков Яндекс.Браузера обнаружила, что драйверы AMD для Windows оптимизируют работу с Google Chrome и Microsoft Edge, в то время как аналогичные оптимизации не применялись для других браузеров на базе Chromium.

Краткая сводка

Команда разработчиков Яндекс.Браузера обнаружила, что драйверы AMD для Windows оптимизируют работу с Google Chrome и Microsoft Edge, в то время как аналогичные оптимизации не применялись для Яндекс.Браузера. Решение заключалось в использовании функции "мимикрии" под Google Chrome, что позволило улучшить производительность и стабильность работы Яндекс Браузера. Этот опыт может быть полезен для других браузеров на базе Chromium, которые еще не встроены в GPU-драйверы.

Информация о том, что драйверы AMD для Windows оптимизируют работу с браузерами Google Chrome и Microsoft Edge, позволила команде Яндекса улучшить производительность и стабильность собственного браузера, применив необычное решение. В этой статье мы расскажем о процессе исследования и оптимизации работы Яндекс Браузера.

Обнаружение проблемы

Разработчики Яндекс.Браузера постоянно ищут способы оптимизации и улучшения работы своего продукта. В ходе одного из обсуждений они заметили проблему с нестабильностью GPU-процесса, ответственного за быстрый рендеринг содержимого в браузере. Используя опыт предыдущих исследований, команда предположила, что драйверы AMD могут содержать оптимизации для Google Chrome и Microsoft Edge.

Чтобы проверить свою гипотезу, разработчики использовали особенность архитектуры Chromium. GPU-процесс работает в специальной песочнице, которая позволяет устанавливать хуки для перехватывания вызовов системных API и обрабатывать их в своем коде. Таким образом, они смогли подменить подстроку browser.exe на chrome.exe в значениях, возвращаемых функциями GetModuleFilenameA/GetModuleFilenameW и GetModuleFilenameExA/GetModuleFilenameExW.

После внедрения изменений, команда провела A/B-тестирование, включив оптимизацию для одной группы пользователей и отключив для другой. Результаты эксперимента были удивительны: у пользователей с видеокартами AMD из экспериментальной группы число падений GPU-процесса уменьшилось в 5,5 раз, потребление памяти GPU-процессом снизилось в среднем на 8%, а также незначительно ускорилось открытие веб-страниц в браузере и отзывчивость интерфейса.

Внедрение оптимизации в Яндекс.Браузер

Подтвержденная гипотеза указывала на то, что драйверы AMD действительно содержат оптимизации, применяющиеся в зависимости от названия исполняемого файла приложения – в данном случае для chrome.exe. Разработчики обратились к AMD с просьбой добавить Яндекс.Браузер в список приложений, к которым применяются данные оптимизации. Однако, такие изменения могут быть внедрены только в новых версиях драйверов, и это займет некоторое время.

Команда Яндекса не хотела ждать внедрения изменений со стороны AMD и приняла решение активировать функцию "мимикрии" под Google Chrome в GPU-процессе для всех пользователей на Windows. Если пользователь хочет проверить, работает ли данная оптимизация на его компьютере, достаточно посмотреть в графу Executable Path на служебной странице browser://gpu в Яндекс.Браузере (доступно с версии 22.9.0).

Заключение

Любое программное обеспечение работает в определенной среде и взаимодействует с другими компонентами, такими как операционная система, драйверы и другие программы. Учитывая особенности работы окружения, можно адаптировать свое программное обеспечение для получения улучшений в производительности и стабильности, подобно тому, как это сделала команда Яндекс.Браузера. Этот опыт может быть полезным также для других браузеров, основанных на Chromium, идентификация которых еще не встроена в GPU-драйверы. В результате, пользователи получают более быстрый и стабильный браузер, обеспечивающий удобное взаимодействие с веб-страницами.

Комментарии: 12
Ваш комментарий

Эхх сейчас бы яндекс браузером обмазаться.

2

Монополия, чего они хотели.

1

не знаю, что они там оптимизируют, но у меня с последними дровами эдж моргает белым, особенно когда ютуб смотрю, и ни один гайд в нете не помогает

0

У меня плеер Твич белым покрывается, когда переключаешься в нём.

Как-то такое уже было, но потом само прошло...

0

А кто нибудь в курсе , когда в Яндекс добавят RTX Video Super Resolution ?

А в хроме и edge очень приятно сомтреть с ним стримы , он с Гов.а 720р-1080р в норм картинку превращает стрим !

0

Когда Nvidia начнет с ним сотрудничать, т.е. никогда.

0

так никто не будет что-то там для Яндекса оптимизировать.

0

А ты ещё раз прочитай статью и поймёшь что это не только яндекса касается. Но главное приплести

0

Не знаю, что там AMD оптимизирует, но пришлось самому лезть и руками что-то править в реестре. Для видео на Ютубе.

Спасибо Реддиту, что он существует. Лучшая техподдержка.

0

Ну хз... У меня всё отлично работает

0

Разработайте браузер сами.

0

Кривые АМД драйвера из-за которых лаги в браузере я терпел более полугода.Благо сменил карту на зеленую и теперь все работает нормально.Подумайте 10 раз,перед тем как покупать карты от АМД,сто раз потом пожалеете.Везде и постоянно какие-то баги,косяки,мелкие фризы и прочая херня.А люди ведутся на чуть большую производительность за те же деньги.

-1