Почему браузер потребляет много оперативной памяти? — groundwartanks

Любой современный браузер довольно много потребляет оперативной памяти, а, иногда, еще и грузит процессор на 100%. Для тех, кто не знаком с технологиями HTML + CSS, это потребление выглядит странно, ведь сам браузер при установке занимает всего ничего, не более 100МБ, а типичная страница сайта «весит» всего 2-3 Мб, а с обилием рекламы 5-10 Мб — максимум. А ведь в диспетчере задач вкладки браузер могут занимать более гигабайт памяти.
Начнем с того, что веб-документ состоит из объектов. Объектами являются абзацы, выделенные текстовые фрагменты, блоки, ячейки и строки таблиц, пункты списка, сам список — словом все, что можно описать отдельным тегом. И у каждого объекта есть свои свойства — высота, ширина, цвет рамки, стиль и толщина рамки, заполнение и целая куча других. Все эти объекты с их свойствами браузер хранит в памяти компьютера. Зайдите на любую страницу, нажмите Ctrl + U в браузере Хром и посчитайте сколько там тегов div, например. Так вот, на каждый объект в памяти сохраняется целый ворох свойств. Все эти объекты между собой взаимодействуют — по вертикали, как главный раздел и подразделы и по горизонтали — в геометрическом плане, какой блок и сколько площади занимает у вас на экране и какую позицию имеет относительно других.
Далее — поддержка стандартов.

Язык разметки HTML появилась еще в начале 90-х, а с тех пор появляются новые стандарты и браузер должен их поддерживать.
Продвижение сайта в кратчайшие сроки.

Сейчас актуальны HTML версии 5 и CSS 3.

 

Но если вы зайдете на старый сайт, написанный на HTML 4 или 3, с предыдущими версиями CSS — браузер все равно отобразит этот сайт правильно, так как рассчитан на такое и умеет разбирать коды различных версий. Но браузер поддерживает не только HTML и CSS, он еще поддерживает всякие другие форматы — открывает рисунки в JPEG, PNG, GIF, SVG и других форматах. В новых версиях, поддерживающих HTML 5, можно смотреть видео без всякого флеша. В ближайшем времени через браузер можно будет осуществлять видеозвонки. Все эти функции также отъедают свой кусок от вашей оперативной памяти.
Выполнение скриптов, написанных на интерпретируемых языках программирования также потребляет много ресурсов. В частности, JavaScript, который поддерживается всеми браузерами. Но, как известно, интерпретация кода происходит несколько медленнее, чем выполнение заранее скомпилированного программы. Кроме того, у браузера Firefox есть свое собственный язык — XUL, с помощью которой он выполнят различные действия.
Также на потребление памяти влияет оптимизация Windows, лень программистов, или достаточно сжатые сроки для выполнения проекта. Это заставляет использовать различные библиотеки для упрощения создания сайта. Например, библиотека jQuery позволяет веб-разработчикам легко и просто разрабатывать страницы с модными нынче AJAX-функциями. Причем, функционал сайта не обязательно будет использовать всю библиотеку, но она загружается полностью. Эти библиотеки занимают большую половину от размера страницы, а в памяти браузера, когда выполняются интерпретатором, потребляют еще больше ресурсов.

Кеширование данных страницы в память — это практически бесконечный объем информации, которые браузер может грузить в оперативную память.

Суть в том, что браузер загружает в память информацию и забывает ее оттуда потом почистить. Поэтому когда вы загрузили несколько десятков вкладок с рисунками, флешем и другими технологиями, то для каждой вкладки будет подгружаться множество различных данных.

Если компьютер поработает с открытым браузером, который активно используется, 2-3 дня без закрытия браузера, то вы можете не досчитаться 2-3 Гб оперативной памяти, исходя из этого компьютер медленно работает.

Источник: nanofakt.ru