Archive for November, 2008

Проверка кроссбраузерности

November 28, 08 by TracKer

Все кто имеет дело с разработкой или верствой для Web когда-нибудь сталкивался с проблемой несовместимости разных браузеров со стандартом CSS. Одним из самых заядлых на сегодняшний день является Internet Explorer 6, про него мы еще не скоро забудем.

Есть много способов проверять сверстанные страницы на кроссбраузерность. В Dreamweaver, например, есть функция позволяющая проверить кроссбраузерность используя списки сответствия CSS, однако я очень сомневаюсь что эти списки так хороши и в них учтены все специфические моменты. Microsoft, предлагает образы операционных систем с установленными на них разными версиями IE, давольно таки громозткое решение, но получше чем у Adobe, хотя бы тем что результат можно увидеть и оценить. До недавнего времени сам я пользовался VMWare с установленным на нее Windows XP со старым IE. Но каждый раз загружать VM, аппетитно поедающую память и процессорное время, начало надоедать и я начал искать альтернативу.

Вместо всех этих громоздких комбайнов можно воспользоваться одним сервисом – Browser Shots. Суть проста: вы вводите адрес сайта (или страницы) выбераете Браузеры и получаете скриншоты страницы. Браузеры возможно выбрать для нескольких операционных систем (сейчас доступно 4: Linux, Windows, Mac OS, BSD), то есть, например, можно выбрать Opera 9.62 для Linux и Windows или Safari 3.2 для Mac OS и Windows. После выбора браузеров вас поставят в очередь, скорость продвижения в ней зависит от колличества скриншотов и загрузки серверов, но она всегда долгая :( , наверно это самый не приятный момент (чтобы не ждать в очереди можно заплатить 30$ и месяц наслаждаться :) ). Иногда страницы могут загружаться так долго что очередь кончится, для этого есть кнопка продления времени “Продлить”.

Еще одна проблема в том, что не все скриншоты могут быть загружены, как показано на картинке выше. Так происходит потому что “фабрики” используемые для создания скриншотов создаются самими пользователями и некоторые не совсем правильно настроены. Однако при повторной загрузке эта проблема решается, так как фабрик много.

Сервис очень удобен если нет возможности запускать кучу виртуальных машин или устанавливать комбайны типа Dreamweaver с целью проверки одной страницы на кроссбарузерность. Единственное условеи – страница должна находиться в интернете.

Прожорливый Firefox и диета для него

November 07, 08 by TracKer

Уже давно маюсь с проблемой прожорливости Firefox к памяти. Иногда даже доходило до маразма, Firefox жрал практически гигабайт памяти. Страниц было открыто где-то 10-15. Вот пара скринов:

При этом загрузка процессора шла на 50% (если бы не Hyper-Threading, были бы все 100%). Вот как это выглядело на самом пике:

А вот так когда процесс я прибил :)

В поисках решения я обнаружил что это довольно частая проблема которая тянется еще с 2005 года, ну не может же Memory Leak быть не исправленым уже три года. В общем ближе к теме решения :)

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

Второе, необходимо зайти на страинцу “about:config” и произвести следующие действия:

  • Уменьшить значение переменной browser.sessionhistory.max_entries с 50 до, например, 10. Эта переменная отвечает за количество страниц в кеше, на которое можно вернуться без перечитывания их из Интернета (в каждом табе);
  • Установить browser.sessionhistory.max_total_viewers в 0. Эта переменная отвечает за количество уже “распарсенных” страниц из предыдущего пункта, хранящихся в памяти. Если нужной страницы в памяти нет, она читается из кеша на диске и парсится заново. Поскольку такое действие выполняется редко, держать такие страницы в памяти не имеет смысла;
  • Создать новую переменную типа bool, config.trim_on_minimize, и установить её в true. После этого Firefox будет освобождать неиспользуемую память при минимизации окна;
  • Установить network.prefetch-next в false. При этом Firefox не будет никогда читать заранее страницы, ссылки на которые есть на текущей странице.

Также такие тормоза возможны из-за старой версии Google Bar‘а, однако в этом я не уверен, но все таки обновил его до последней бэты.

Ну и конечно выключить ненужные плагины, у меня их было два.

В общем-то все. Есть еще пара пунктов которые я не применял (их можно прочитать по ссылке на источник внизу поста), но и без них все работает. Уже два дня Firefox не кушает больше 150 мегабайт. :)

Часть информации взята отсюда.