Почему современные браузеры тормозят на старых компьютерах?

Ни для кого не секрет, что старые компьютеры в состоянии эффективно работать только с Windows 7, но не более новыми ОС. В то же время они достаточно быстро работали с различными браузерами еще 3-4 года назад, но сильно тормозят с современными версиями тех же браузеров. Почему так происходит? Ответ в этой статье.

Особенности старых компьютеров

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

Ядра и наборы команд

Одноядерные процессоры не заточены под многопоточность, это означает, что они не могут выполнять множество процессов эффективно и параллельно. Наличие виртуальных ядер типа Hyper-Threading не равносильно наличию двух ядер — все равно поочередно используются ресурсы одного и того же ядра, просто чуть в более оптимизированном порядке. Это приводит к проблемам, когда запущено много приложений, а разные приложения еще и создают несколько потоков. Особенно это хорошо заметно на процессорах Intel Atom и аналогичных.

Наборы команд Intel SSE4.1, Intel SSE4.2, Intel AVX2 также очень важны для увеличения производительности, особенно при работе с мультимедиа. Эти команды, поддержка которых реализована аппаратно, позволяют выполнять различные операции с плавающей запятой быстрее, задействуя меньше ресурсов процессора. Однако, эти команды не используются в коде работы браузера.

Также относительно недавно появилась поддержка технологии Intel TSX-NI. Она появилась в процессорах Intel Core 4-го поколения (2014 г.) и подразумевает под собой надстройку над системой работы с кэшем процессора, оптимизирующую среду исполнения многопоточных приложений, но, конечно, только в том случае, если эти приложения используют программные интерфейсы TSX-NI. Соответственно, приложения, чей код написан с учетом этого набора команд, будут работать значительно быстрее. 

TSX работает поверх механизма кешей. У cache line появляется дополнительный бит — что этот cache line в данный момент используется транзакцией. Поток начинает транзакцию специальной инструкцией. После этого и до комита транзакции все операции, работающие с памятью, помечают соответствующий cache line как участвующий в транзакции. А если соответствующий cache line уже занят другой транзакцией, то процессор делает переход по специальному адресу, который задаётся в начале транзакции.

Процессоры Intel новых поколений поддерживают Intel Speed Shift Technology. Эта технология использует контролируемые состоянии энергопотребления процессора (P-states) и позволяет  динамически частотой ядра, напряжением питания и энергопотребления. Это очень серьезно влияет на производительность однопоточных и кратковременных задач, таких как поток, созданный закладкой браузера. Эта функция появилась в 2015 году и доступна только на процессорах с архитектурой Skylake и более новых.

Кэш и память

Любая программа при запуске занимает какое-то пространство в оперативной памяти, а при исполнении её кода, процессор часть данных берет из оперативной памяти, а части располагает у себя в кэше для более быстрого доступа. Упрощенно говоря, туда попадают части кода (инструкции процессора), которые чаще всего используются программой. Более сложен алгоритм размещения данных в кэше. Если процессор нашел необходимые данные и инструкции в кэше, то говорят о «попадании в кэш». Это очень хорошо для производительности, ведь доступ к кэшу CPU в десятки раз быстрее, чем к оперативной памяти. Собственно, алгоритмы работы с кэшем в разных поколениях процессоров постоянно совершенствуются, потому может быть значительная разница в производительности (скажем, до 50% между 4 и 8 поколениями Intel Core при работе браузера).

Увеличение объема самого кэша позволило компилировать код программ таким образом, чтобы больше данных попадало в кэш.

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

Особенности современных браузеров

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

Например, 25 открытых закладок в браузере Google Chrome потребуют 1.5-1.8 Гбайт оперативной памяти и 5-10% процессорного времени процессоров последних поколений в простое, 20-50% процессорного времени более старых поколений процессоров и до 100% при нагрузке. Internet Explorer при такой загрузке просто зависает, так как в его архитектуре каждая закладка не является отдельным процессом.

Важная особенность в том, что если на одной из открытых закладок есть открытое видео или flash объекты сайта, то такая закладка будет потреблять больше ресурсов и может даже подвесить браузер целиком, потому что процессор будет испытывать трудности при переключении между процессами.

Кроме того, современные браузеры очень активно используют дисковый кэш, размер которого может вырастать до нескольких гигабайт. Каждая закладка сохраняет изображения, cookies, файлы стилей css, js скрипты в кэш. Все это считывается с диска при обращении к такой закладке, например, при запуске браузера, если он запускает ранее открытые закладки. И здесь мы упираемся в производительность диска, которая на старых компьютерах очень мала.

Именно поэтому при запуске браузера на старых компьютерах с сохраненными вкладками, запуск происходит по 10-30 секунд.

Как увеличить производительность старых компьютеров

Здесь имеется два направления, в которых необходимо двигаться: увеличение производительности самого компьютера и настройка браузера.

Чтобы увеличить производительность вашего компьютера без замены материнской платы сделайте следующее:

  1. Установите CPU c максимальным числом ядер и потоков для вашего сокета платы, а также с максимальным кэшем
  2. Установите не менее 2 Гбайт оперативной памяти для комфортной работы
  3. Установите модули памяти в двухканальном симметрично режиме (одинаковые по частоте и слоты разных каналов)
  4. Установите модули памяти максимальной частоты, которая позволяет ваша шина памяти
  5. Убедитесь, что на жестком диске не менее 5 Гбайт свободного места, чем больше — тем лучше.
  6. Удалите временные файлы с диска (они хранятся в разных папках — используйте CCleaner) и после выполните дефрагментацию диска.
  7. Если есть возможность — замените HDD на SDD — очень выиграете во времени запуска браузеров.

С точки зрения самих браузеров можно сделать следующее:

  1. Почистите кэш браузеров (Ctrl+Shift+Del) и настройте браузер чистить кэш регулярно
  2. Не оставляйте открытые закладки, закрывая браузер. Настройте браузер на запуск с чистой страницы. Любимые закладки добавьте в избранные, они будут у вас в быстром доступе.
  3. Удалите все расширения браузера, которая вам не нужны, а та, что не используете сейчас — отключите.
  4. Удалите вспомогательные поисковые панели браузера, в том числе от Яндекс.

Самые быстрые браузеры

Скорость работы всех браузеров разная. На данный момент самыми быстрыми браузерами являются Opera и Mozilla Firefox. Google Chrome в последних версиях стал гораздо «тяжелее», а Firefox — наоборот. Меньше всего в памяти занимает Opera (разница достигает сотен мегабайт).

Если вам все это не помогло, или у вас совсем старый и слабый компьютер (до появления Intel Core), то вам придется использовать использовать специальные прощенные альтернативные браузеры:

  1. Opera версии 12. После этой версии архитектура приложения сильно изменилась, что привело к утяжелению браузера.
  2. Otter Browser. Этот браузер разработан на основе классической Opera (V.12). Хочу сразу же заметить, что этот обозреватель ни 100% копия самой Opera — а хорошо проработанная и изменённая до неузнаваемости версия.
  3. Palemoon. Отличный браузер, разработанный специально для устаревших компьютеров (хорошо работает даже на Pentium IV или Athlon 64). Является несколько изменённой и доработанной копией Mozilla Firefox. Но благодаря доработкам разработчиков, браузер потребляет существенно меньше ресурсов и работает на порядок быстрее своего старшего брата (по заверениям разработчиков до 25%). Сохранена полная совместимость с расширениями для Firefox.
  4. Maxthon Nitro. Этот браузер младший брат Maxthon. Отличается он от полноценного своего брата тем, что удалены некоторые ресурсы и функции, за счет которых снижаются системные требования программы. На самом деле, браузер получился легким и быстрым.

Популярность: 1%

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

Обсуждение закрыто.