Google покращує продуктивність Chrome, оцінюючи приховані вікна

Google покращує продуктивність Chrome, оцінюючи приховані вікна

У новому блозі для своєї серії називають швидкий і цікавий, розробник Chrome David Bienvenu деталі деяких вдосконалень Google зробив свій браузер Chrome нещодавно. Це включає в себе глибоке занурення до того, що компанія називає природним вікном оклюзії.

Повідомлення в блозі пояснює роботу Google, щоб зменшити споживання ресурсів непотрібними вкладами та Windows у Chrome, який він говорить, дозволив Chrome похвалитися більшю швидкістю швидшого запуску, а також відчути 4,5 відсотка менше аварій. Він також відзначає, що компанія працює протягом багатьох років за методами, щоб краще зрозуміти, як з'ясувати, який Chrome Windows та вкладки видно користувачеві, тому він може виділити ресурси системи.

Природно, що вкладки, які не зосереджені, відомі як "Фонові вкладиші", зменшили пріоритет для ресурсів процесора та графічних процесорів, але як щодо закупорених вікон - Windows, але повністю або частково покриті іншими вікнами? Bienvenu пише, що при вивченні цієї проблеми Google дізнався, що "20% хромових вікон повністю покриваються іншими вікнами, тобто, закупореним. Якщо ці оклюзіровані вікна розглядалися як фонові вклади, наша гіпотеза полягала в тому, що ми будемо бачити значні вигоди.

Таким чином, почалося нове вікно оклюзійного проекту, який дозволить Google зрозуміти стану оклюзії будь-якого відкритого вікна Chrome. Однак, щоб зрозуміти це, вони повинні були знати розташування не-хромових вікон теж, що не є інформацією про те, що Windows OS легко надає. Це стає навіть складним, коли враховуються такі фактори, як багаторазові налаштування та віртуальні настільні комп'ютери. Щоб зрозуміти, він створив "Розрахунок оклюзії", який працює в окремому потоці з інтерфейсу користувача, спочатку обчислюючи загальну видиму область до користувача, а потім віднімаючи всі Chrome Windows від видимої області у віртуальному робочому столі як "замкнуто". Потім він розглядає кожне відкрите вікно, від фронту до спини, віднімаючи будь-яке відкрите вікно з загальної кількості, і якщо його вікно Chrome він перевіряє, чи є його область, збігається з зоною On-ocCluded. Якщо це не було, це означає, що вікно Chrome повністю охоплюється попереднім вікном, тому він закупорюється. Програмне забезпечення зберігає розрахунок, доки всі Windows Chrome не позначені як закупорене, тобто, що залишилося, потрібно видно користувачеві. За допомогою цієї інформації, завдання розміщено до планувальника, щоб оновити видимість Windows.

Google покращує продуктивність Chrome, оцінюючи приховані вікна

Де це стає цікавим, - наступний крок, який задає питання: "Як часто ми хочемо запустити цей розрахунок?" Як зазначає автор, запустіть його постійно погіршить продуктивність, тому вони повинні бути вибірковими. На щастя, Windows дозволяє додаткам відстежувати події, такі як переміщення або зміна розміру відкритих вікон, тому Chrome підключено до цих повідомлень, тому, коли ви переміщуєте або змінюєте розмір Chrome Windows, і вирішує, чи слід робити нову обчислення оклюзії. Блог ПРИМІТКА Цей розрахунок працює на таймері 16MS, що відповідає інтервалу між кадрами при демонстрації 60 кадрів у секунду (FPS).

Google виконував цю зміну до 100 відсотків користувачів Chrome у 2020 році, і тепер, коли деякий час пройшов, компанія здатна поділитися результатами свого "експерименту", який включає:

  • 8,5% до 25,8% швидше запуску
  • 3.1% Зменшення використання пам'яті GPU
  • 20,4% менше рамок рендери
  • 4.5% менше клієнтів, які переживають рендеринг аварії
  • 3.0% поліпшення в першій затримці введення
  • 6.7% Поліпшення в першій сумісному фарбі та найбільшій сумісному фарбі (це, коли ви вперше зможе побачити щось на екрані, і коли видно основний вміст сторінки)

Хоча жодна з цього не розбиває новини, цікаво читати про те, що відбувається за сценами, як з нашими браузерами, так і з командою Chrome.