С выходом 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 работает над другой функцией «Спящий режим вкладок», которая представит дополнительные улучшения управления памятью.
Обновления программ, что нового
• Релиз 7-Zip 25.00: Архиватор теперь использует более 64 потоков при сжатии в форматы ZIP, 7Z, XZ
• Сбои в работе Telegram и WhatsApp в России продолжаются с конца июня
• Google Earth отмечает 20 лет: от стартапа до глобального инструмента
• Samsung One UI 8 улучшит Audio Eraser для подавления шума в реальном времени
• Яндекс обновил ИИ-сервис «Нейроэксперт» на базе YandexGPT: режим рассуждений, командная работа и анализ всего сайта
• Microsoft Edge для iOS получил поддержку расширений