RinniX писал(а):
есть у неё процесс "plugin-container.exe", который иногда может подвесить процессор, а памяти занимать может и больше самого браузераЭтот процесс подгружает всё тот же тормозной и глюкавый Adobe Flash, Java и прочих.
Что касается потребления памяти, то оно сопоставимо со всеми остальными браузерами, нагрузка на процессор немного выше, так как в хромах и опере используется более эффективная компиляция скриптов реального времени.
Видимо, следует ещё больше углубиться в технические дебри, чтобы стало понятно, почему современные браузеры кардинально не различаются по экономичности. Во время загрузки страницы происходит компиляция скриптов в исполнимый код с развёрнутыми циклами и вклеиванием процедур. Если коротко, то это когда в коде оставлен минимум переходов ценой геометрического потребления памяти. На основании статистического исследования прежней активности этого сайта браузер заранее отрезает и выдаёт скомпилированным скриптам кусок чистой памяти прозапас, для работы. После этого начинается рендер каскадных таблиц стилей, html-кода и изображений в огромные массивы изображений (текстуры). Если скрипты на странице меняют что-то в её отображении, старые текстуры кэшируются и начинается перерисовка заново. Причём раньше кэширование было малыми участками, сейчас же всё чаще браузеры кэшируют огромные блоки. Естественно, никакого сжатия графики в памяти не применяется. Если на странице есть анимация в десять кадров, в память распакуется десять 32-хбитных битмапов с предварительно просчитанной "прозрачностью". Так же все шрифты, все элементы таблиц, фигуры и т.п. превращаются в текстуры и наполняют библиотеку в памяти. Хром и опера в добавок заранее рендерят (опера - сперва из кэша, хром может и из сети грузить заранее) в память страницы по ссылкам на той, которую мы открыли. Про мозиллу не скажу, новые версии сильно похожи на хром, могли и это позаимствовать.
Кстати, Хром забавен тем, что он пытается определить процедуры скрипта, выдающие одинаковые результаты во времени, кэширует их результат и на будущее подставляет его из памяти не вызывая процедуру. В Опере это давным давно есть, но не относится к операциям с графическими объектами, в Хроме же может кэшироваться и скриптовая графика.
Таким образом, основное место в памяти занимают предварительно распакованные в память массивы графики. Даже если у вас чисто текстовая страница высотой в сто экранов, в памяти будет висеть её двухсотметровый "скриншот", который плавно скроллируется графическим ускорителем видеокарты, работающим с ним как с текстурой.
Если в системе есть свободная память, то наглеют абсолютно все ведущие браузеры. Если памяти не хватает, вступает в игру продуманность дискового кэша. Раньше лидером была Опера, но последняя версия старается выиграть в скорости ценою занятия памяти и поднятия собственного приоритета во время критических операций. То есть ведёт себя как Хром. Мозилла и хром пишутся с оглядкой на код друг друга, иногда даже одними и теми же людьми, так что в нём используются те же самые технологии, только менее профессионально реализованные (у Корпорации Добра несколько больше людских и материальных ресурсов). А Опера пишется с оглядкой на код обоих. Есть мнение, что, если бы ещё и оперный код открыли, разница между ядрами браузеров устремилась к нулю.



Поиск
Друзья
Администрация