Выбрать главу

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

Времени на разработку отводилось весьма мало, поскольку Microsoft планирует сорвать куш, выпустив новую приставку перед рождественскими каникулами:

Мы сразу знали, что наше время сильно ограничено. С другой стороны, нам предоставлялись все преимущества совместной работы с Microsoft Research, их технические знания и прежний опыт.

Основные консультации группе Бамджи давали старший специалист отдела прикладных исследований Microsoft Research Эял Крупка (Eyal Krupka) и его коллега Трэвис Перри (Travis Perry). Именно благодаря их вкладу затянувшаяся доработка Kinect 2.0 была завершена в срок.

К оглавлению

Браузер Mozilla Firefox получил долгожданную оптимизацию кода

Андрей Васильков

Опубликовано 04 октября 2013

Про Mozilla Firefox иронично говорят, что это «браузер, который навсегда останется в памяти». Речь о его рекордных аппетитах в отношении оперативной памяти и вредной привычке висеть в ней как зомби-процесс. Однако в последнее время разработчики уделяют большое внимание оптимизации его кода — повышают стабильность работы и успешно снижают его потребности в объёмах ОЗУ.

Впервые работа с оперативной памятью была серьёзно оптимизирована в текущей версии за номером двадцать четыре. Главным образом изменения кода затронули способ работы с изображениями. До двадцать третьей версии включительно все картинки со всех страниц загружались и оставались в памяти постоянно, пока не закрывались соответствующие им вкладки.

Во время тестирования журналист немецкого издания Ghacks Technology News Мартин Бринкман (Martin Brinkmann) легко воссоздавал ситуации, когда браузер отъедал до 3 ГБ оперативной памяти. Даже не пытаясь имитировать тяжёлую нагрузку, я просто посмотрел, сколько в данный момент, пока пишу статью для «Компьютерры», требуется двадцать четвёртой версии. Получилось, около гигабайта.

Mozilla Firefox v. 24 занимает около гигабайта в ОЗУ при открытии 19 вкладок (скриншот).

Как понять — это объективно много или просто страницы подобрались такие тяжёлые? Попробуем открыть их в другом браузере. Те же самые вкладки в Opera 12.16 занимают… да примерно столько же и занимают! Разница, что называется, в пределах погрешности методики измерения.

Opera 12.16 занимает столько же оперативной памяти при открытии тех же вкладок (скриншот).

В текущей версии Firefox за номером 24 из памяти постепенно стали удаляться изображения, которые не принадлежат текущей странице. При загрузке браузера с кучей вкладок (восстановление сеанса) отмечается, как и прежде, пик выделения ОЗУ, но теперь он быстро спадает из-за выгрузки изображений. Уже через несколько секунд работа становится комфортной. Пока я писал эти строки, процесс firefox.exe стал занимать 575 МБ, в то время как «Опера» «похудела» совсем незначительно — в пределах пары десятков мегабайт.

Оптимизация работы с памятью в разных версиях Mozilla Firefox (изображение: cdn.ghacks.net).

По данным StatCounter, сейчас доля всех версий Firefox составляет чуть больше восемнадцати процентов от общего числа браузеров, а «Оперой» пользуются единицы её давних фанатов. 

Статистика популярности браузеров по данным за сентябрь 2013 года (изображение: gs.statcounter.com).

Лидирует Google Chrome, о грамотной работе которого с системными ресурсами слагают легенды. Давайте сравним.

Google Chrome работает с оперативной памятью ничуть не лучше других браузеров (скриншот).