Компания Google всё ещё пытается исправить самую большую проблему фирменного браузера Chrome в операционной системе Windows 10. Речь идёт о прожорливости браузера — Chrome использует слишком много ресурсов оперативной памяти.
С релизом Chrome 87 компания существенно повысила производительность браузера, но он по-прежнему потребляет слишком много ОЗУ. Теперь Google предпринимает новую попытку справиться с напастью. Инженеры работают над функцией PartitionAlloc FastMalloc, которая позволит даже в самых «тяжёлых» случаях удерживать использование ОЗУ для определённых процессов в пределах 10%. Другими словами, Google улучшит управление ОЗУ и кэширование, чтобы повысить общую производительность браузера.
Изначально Google планировала использовать новую функцию Windows 10 под названием SegmentHeap, которая представляет собой современную реализацию так называемой «кучи» (структура данных, с помощью организована динамическое распределение памяти). Когда Microsoft активировала поддержку SegmentHeap в фирменном браузере Edge на основе движка Chromium, она заявила, что использование памяти в браузере в результате этого шага сократилось на 27%.
Судя по всему, Google полностью отказалась от SegmentHeap, поскольку Microsoft оказалась не способна «управлять типами «кучи». По словам Google, без контроля типов «кучи» в Windows 10 она не может активировать SegmentHeap для некоторых процессов. Кроме того, отмечается, что SegmentHeap снижает производительность для процессов, требовательных к ресурсам CPU.
В итоге, Google решила закрыть проект SegmentHeap вообще и начать разрабатывать функцию PartitionAlloc FastMalloc, которая позволит распределять память, повышая при этом безопасность и производительность. Функция уже включена в ранней тестовой сборке Chrome Canary и запланирована к релизу для простых пользователей в 2021 году.
Источник: iXBT