С выходом Windows 10 May 2020 Update (версия 2004) Microsoft улучшила функцию «Куча сегмента» (Segment Heap) и расширила ее поддержку на классические приложения Win32, в том числе и на браузеры.
В начале осени поддержка Segment Heap была реализована в открытом проекте Chromium. Google решил использовать данную технологию, чтобы исправить давнюю проблему с излишней «прожорливостью» Chrome в отношении потребления оперативной памяти. Однако, в Google Chrome 85 разработчики отключили оптимизацию памяти в Windows 10 из-за увеличения нагрузки на процессор, и теперь команда Google решила отказаться от реализации Segment Heap в пользу новой функции «ParitionAlloc-Everywhere».
Функция «ParitionAlloc-Everywhere» находится в разработке с августа и постоянно развивается. PartitionAlloc-Everywhere имеет ряд преимуществ, а именно снижение потребления оперативной памяти, оптимизация распределения памяти в Chrome и повышение безопасности.
В результате Google Chrome будет более эффективно использовать память, что приведет к снижения потребления ОЗУ и к профилактике потенциальных проблем безопасности.
Уровень безопасности в Chrome будет повышен с помощью проекта MiraclePtr, для которого требуется PartitionAlloc.
Google описал предстоящие изменения в отдельном документе, которые пока не является общедоступным. Сложно предсказать, когда мы увидим эти изменения в Chrome, но больше подробностей может появиться в первой половине 2021 года.
Google исправляет сбои в Chrome
Кроме улучшения потребления памяти, тесты Google показали, что функция TerminateProcess, в случае применения для большего типов процессов, сможет уменьшить количество сбоев браузера.
Google отмечает, что «чистое» завершение процесса является сложной и дорогой задачей, особенно в случаях со сложным программным обеспечением.
Chrome постепенно расширит применение TerminateProcess на большее количество типов процессов. Компания предложила новое изменение, которое позволит применить TerminateProcess для headless-браузеров. Это может привести к снижению количества браузерных сбоев.
Брюс Доусон (Bruce Dawson), разработчик из Google пояснил:
Это позволит избежать сбоев некоторых служебных процессов в Windows. Применение этой политики ко всем типам headless-процессов — стоящий эксперимент. TerminateProcess подтвердил свою эффективность со многими типами процессов.
Как Microsoft, так и Google сошлись в том, что сокращение потребления ОЗУ браузерами является важной задачей, но реализации Segment Heap и ParitionAlloc будут различаться на разных компьютерах.
Отметим, что Microsoft уже включила «современную реализацию кучи», чтобы сократить использование памяти. Команда Edge работает над другой функцией «Спящий режим вкладок», которая представит дополнительные улучшения управления памятью.
Обновления программ, что нового
• Apple выпустила iOS 18.6.2 с важными исправлениями безопасности
• One UI 8.0 Beta 5 для Samsung Galaxy S25 получила функцию адаптивных часов
• Google представила Pixel 10 с тройной камерой, процессором Tensor G5 и Android 16
• Xbox Ally и Ally X получат систему совместимости игр и индикатор производительности
• LibreOffice 25.8: поддержка PDF 2.0, ускорение работы и обновления в Writer и Calc
• Что нового в Firefox 142: исключения защиты от отслеживания, группы вкладок и улучшения расширений