Краткая сводка
Команда разработчиков Яндекс.Браузера обнаружила, что драйверы 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-драйверы. В результате, пользователи получают более быстрый и стабильный браузер, обеспечивающий удобное взаимодействие с веб-страницами.
Обновления программ, что нового
• Батареи свыше 6000 мАч: тренд смартфонов 2025 года
• Intel XeSS теперь поддерживается в более чем 200 играх — XeSS 2 доступна в 19 проектах
• Ограничение мобильного интернета в России из-за мер безопасности к 9 мая
• Intel Ethernet Adapter Complete Driver Pack 30.1: Поддержка Ubuntu для ARM
• Релиз Ashampoo WinOptimizer 28: Управление фаерволом Windows, ускоренная очистка и защита приватности
• Как Google разрабатывал Material 3 Expressive — детали крупнейшего обновления в истории Material Design