Пользователь
0,0
рейтинг
4 марта 2015 в 15:43

Разработка → И Internet Explorer может быть полезным

Всем привет!

Я хочу рассказать о том, какое применение нашел для Internet Explorer.



Я использую файрфокс для просмотра страниц, а хром — для разработки.

Интернет експлорер не заменил мне ни файрфокс, ни хром. Я нашел ему особое применение. В нем я работаю со сложными утилитами, в которых много больших картинок.

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


Мы наблюдаем новый виток в войне браузеров — перезапуск Оперы, Вивальди, отделение Блинк от ВебКита, Спартан.

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

После выпуска нового интерфейса Australis файрфокс стал стабильно падать раз в 1-2 часа. С выпуском обновлений ситуация улучшилась, но не исправилась. Файрфокс все так же падает, но уже реже, 2-3 раза за день.

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

Так уж вышло, что для моей работы нужны утилиты, работающие с большим количеством картинок, и все эти картинки большие.

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



Как видите, картинок на самом деле много, 69 страниц по 20 картинок.

Изначально это было Single Page Application, а при нажатии на кнопки с цифрами просто менялся список картинок. Хром при этом падал спустя какое то количество переключений страниц. Он мог упасть сразу, а мог проработать 30 минут без проблем, а потом упасть.

Мне пришлось отказаться от идеи Single Page Application и добавить реальные переходы по ссылкам. Так проблема была решена, но неприятный осадок остался.

Вторая утилита сравнивает скриншоты страниц между собой, используя Resemble.js. И снова это Single Page Application, и снова хром падает. Файрфокс я даже пробовать не стал, поскольку тот и на обычных сайтах умирает, а тут нагрузка большая.



И тут мне пришла в голову идея попробовать IE.

И я попробовал. Испытуемая версия — 11. В целом, Internet Explorer работает медленнее, по ощущениям, может подвисать, но не падает. В нем можно комфортно работать с очень большими страницами, на опасаясь, что он умрет до того, как вы закончите работу.

Для браузера с такой репутацией, я считаю, это достижение.

Браво, интернет експлорер!

Иллюстрация отсюда: http://www.downwithdesign.com/web-design/fall-love-internet-explorer/
@grimalschi
карма
32,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (82)

  • 0
    А что за утилита для определения цвета картинки?
    • +1
      Делалась для внутреннего использования, на основе www.maxnov.com/getimagedata/#examples-2
      • +46
        А эта утилита поможет цвет платья узнать? )))
        • +5
          Суть драмы
          image
  • +5
    Мне вообще прорисовка IE11 нравится, достаточно быстрая. Работа с множеством закладок, лично мне, кажется более комфортная, чем у конкурентов.
    • 0
      >Мне вообще прорисовка IE11 нравится, достаточно быстрая

      Но не всегда. Есть некоторые моменты, в которых IE начинает испытывать жуткие тормоза.
      Сталкивался с одной страничкой(страничка очень большая) в работе, так страница рисовалась 20 с. В сравнение в Chrome порядка 2с. В результате выяснилась плохая оптимизация большой вложенности таблиц. И проблема наблюдалась во всех IE от 8-го до 11-го.
  • –14
    Просто поставьте 64 битный хром.
    • +9
      Все дело в том, что хром использует рандомизацию выделяемой памяти, чтобы осложнить эксплуатацию уязвимостей. В результате память фрагментируется и большой массив выделить не удается — вкладка падает. Разработчиков Firefox и IE максимальная безопасность пользователей не интересует, поэтому они рандомизацией выделямой памяти на 32-битных системах не занимаются. Если бы Firefox включил эту рандомизацию, у них бы asm.js не заработал.
      • +17
        Такая мера безопасности выглядит как костыль.
        • +10
          А много вы знаете мер безопасности, не выглядящих, как костыль?
      • +3
        По-моему ASLR включен даже на 32-битных системах, так как его отключение приводит к неработоспособности IE.
        • +2
          ASLR — это рандомизация расположения библиотек, а есть еще рандомизация выделяемой памяти.
  • +2
    palemoon попробуйте. Это ФФ оптимизированный по памяти. Я его использую для приложений которые должны висеть часами в броузере.
    • 0
      Бледнолунный кончено хорош, но он неадекватно работает с некоторыми, очень нужными расширениями, он их просто не выводит на панель или в контекстное меню.
      • 0
        Тут уж или\или. Там где расширения там только полноценный ФФ со всеми вытекающими утекающими из памяти последствиями.
      • 0
        а WaterFox?
  • +15
    Никогда не думал что скажу этого, но я использую IE11 для просмотра страниц, то есть он у меня является основным браузером.
    • +6
      Кстати, на планшете под windows 8 у ie, по сравнению с другими браузерами, производительность на высоте
  • –4
    Iceweasel 31.5.0, debian 8.
    Ничего не падает, открыто за 100 вкладок. ЧЯДНТ?
    По поводу IE — последняя версия, которую я щупал (к сожалению, не помню мажорный номер) дичайше тормозила при попытке открыть инструмент разработчика. Не внушает мне этот продукт доверия. Да и код у него закрытый, не люблю проприетарщину.
    • +14
      Вероятно, пользуетесь линуксом :)
      • 0
        Верно) И судя по минусам на моем комменте, тут это почему-то не любят)
        • +10
          Ваш комент показывает, как у вас все хорошо, но не предлагает альтернативное решение проблем автора поста, который работает в других условиях и ваши варианты ему могут по тем или иным условиям не подходить.
          • +12
            Мой комментарий показывает, что проблема кроется не в файрфоксе, поскольку Iceweasel — это его форк. Могу предположить, что в случае автора может быть виновата как операционная система, так и какой-либо набор в чем либо конфликтующего софта. В любом случае, для постановки диагноза исходных данных недостаточно, поэтому я сообщил, что в файрфоксе, работающим под другой ОС, все хорошо. И потом, разве в комментариях на хабре дают только советы, и совсем не делятся своим личным мнением на тот или иной вопрос?
            • 0
              Работа с памятью, полагаю, может отличаться на разных ОС. В комментариях так же говорят, что на 64 битныъ системах все ок.

              Так что проблема не универсальная, а появляется только на определенной ОС и архитектуре, судя по всему.

              Тем не менее на 32 битной винде сидят очень многие, поэтому проблема может быть актуально для многих.
              • +2
                Так что проблема не универсальная, а появляется только на определенной ОС и архитектуре,

                О чем и речь, именно это я и пытаюсь донести. В любом случае, недостаточно входных данных для решения вашей проблемы.
                • 0
                  Предложение сменить ОС это как предложение сменить страну проживания. Вам не нравится зима в средней полосе России? Я живу в Зимбабве и у меня все ок!
              • 0
                Да ладно вам. Какой уж год на дворе-то? ⅘ даже пользователей Windows уже перешли на 64 бита. Так что это вполне себе выход. Особенно если нужно открывать «тяжёлые» картинки.
                • 0
                  4/5 пользователей Steam на Windows. А пользователи Steam имеют в среднем значительно лучшие компы.
                  • 0
                    Лучшие чем разработчики? Позвольте мне не поверить. Тут же не про секретарш речь идёт!
                    • 0
                      Я про конкретно приведенное в пример исследование говорил, что пользователи стима в среднем, имеют лучшие по железу компы, чем в среднем все население. Как минимум потому что современные игры, опять таки в среднем, гораздо более прожорливы до железа. Есть даже игры, которые требуют 64-бит.
                      Но то что идет повальная 64-битизация — это невооруженным взглядом ясно.
        • +1
          Ваш рецепт автору — поставить Линукс, так чтоли?
          • –1
            Каждому свое. С чего вы взяли, что я вообще предлагаю какой-то рецепт? О_о
    • 0
      Ну, я вот тоже на линуксе, и у меня тоже iceweasel. 31.5.0esr-1. Сказать, что я сильно счастлив его стабильностью — это погорячиться. Любая таба может начать жрать процессор и тогда даже между табами не переключиться. Случайное открытие 200-300Мб html'а превращает процесс в очень мучительный (память есть — но вот отзывчивость всего, пока идёт рендеринг, никакая).
      • 0
        Между делом говоря, за html'ку в 200-300 Мб я бы руки обрывал разработчику…
        • 0
          Разработчику локального дампа всякой фигни, на которую я решил посмотреть? Почему vim 100Мб файл на SSD открывает за единицы секунд, а браузер на набор ссылок без всяких гигантских блоков реагирует как на смерть всему живому?
          • +1
            А какая надобность «локальный дамп всякой фигни» делать в html? Тем более, если кроме ссылок там нет разметки?

            Я разделяю ваше негодование, но на всё, наверняка, есть свои причины.
            • +1
              Посмотреть на html-based лог из jenkins, например.
  • +4
    Запустите, ради интереса, на старой опере :)
  • +2
    Вы указывайте битность OS и количество оперативки. В 32битах эксплорер действительно приятнее работает с памятью в картинках, а вот в 64 это совсем не так. При чем поведение и хрома chrome://chrome-urls/ и файерфокса можно настроить. В сети есть рекомендации по уменьшению потребления памяти и для хрома и решения для фаерфокса.
    Давно накидал за час просмотрщик медиа галереи, который 21 gb картинок отдает при просмотре, и это отлично жужжит на chrome64 и 16gb RAM. IE64 тоже показывает. ie32 показывает только часть картинок.
    • 0
      32 битная windows 7, 4gb RAM.
      • 0
        С 4gb Ram имеет смысл ставить windows 64bit-а. Это позволяет использовать 64битные приложения и получить доступ ко всем 4гб из одного приложения. В 32-битных приложениях объем максимальной памяти ограничен 2 гигабайтами.
    • +14
      >просмотрщик медиа галереи, который 21 gb картинок отдает при просмотре
      image

      • +1
        ну да там явно что то не так, если ~1500 оригинальных фото отдается… :)
        • 0
          Конечно не так. BASH файл на 3 строчки + ожидание открытия на много быстрее чем искать какую-то пикассу, чтобы найти синюю рожу на желтом фоне ;)
  • +2
    Я использую FF, жена больше любит Хром.
    А в IE беспалевно смотрю порн, не засоряя историю и избранное.
    • +6
      Порн смотреть в ie это не умная идея. По причине того, что с безопасностью большие проблемы (за исключением последнего ie). И часто Вы переустанавливаете win?
      • +10
        Эх ладно, неудачная шутка, наврал.
        У жены свой ноут.
        IE у меня нет.
        Win не переставлял давно, у меня Lubuntu.
        Порн смотрю в FF.
      • 0
        Можно и в ИЕ, но в какой нибудь песочнице типа Виртуалбокса.
    • +3
      Для этого в хроме и файрфоксе даже специальный режим придумали (инкогнито).
      • –5
        в хроме и файрфоксе
        Действительно!
    • –5
      Зачем вам жена, если есть прон? А если смотрите с женой, то зачем «беспалевно»?
  • +2
    Тоже заметил, что IE11, при длительном просмотре Flickr с тоннами фотографий, не начинает со временем тормозить и виснуть, как Chrome или Opera 12.17. Правда, на десктопе мне его UI все равно пока не нравится.
  • +1
    Почему-то у меня файрфокс esr не падает. Может я не по тем интернетам брожу и есть какой-нибудь урл который его гарантированно обваливает?
  • +2
    Возможно мой совет может показаться глупым, но может для работы с картинками вам станет удобнее работать в специальном ПО для обработки изображений?
    • +1
      Удобнее в браузере, потому что я веб разработчик :)

      А обработка специфичная, готового ПО для моих целей нет.
  • 0
    Файрфокс все так же падает, но уже реже, 2-3 раза за день.

    Вы что-то делаете не так, уверены что с профилем лисы и\или системой все в порядке? У меня что дома что на работе браузер неделями не закрывается, Win7 x64 8Gb RAM.

    Что действительно падает (в т.ч. и в хроме) так это флэш, если видео часов 10-20 смотреть. У меня по крайней мере.
    • 0
      Возможно, дело в битности ОС. У меня 32 битная WIn 7.

      Память 4гб, но дело точно не в ней.
      • +3
        В 32-разрядной Windows по умолчанию процессу доступно адресное пространство всего 2 гигабайта. Причём он может освобождать корректно память, но для очередной здоровой картинки может не найтись непрерывного свободного участка из-за фрагментации. Отследите у себя параметр Virtual Size у процесса Firefox:
        image
        Как только это число доходило до примерно 1950 мегабайт, Firefox падал у меня. В 32-разрядной Windows можно повысить этот лимит до 3 гигабайт. Я так и делал когда-то, и это сильно улучшало ситуацию. Дело в том, что чем больше адресное пространство, тем меньше проявляет себя проблема. Но всё равно бывало. Сейчас у меня 64-разрядная система, и здесь 32-разрядным процессам доступны все 4 гигабайта адресного пространства. Сейчас браузер сутками работает — никаких проблем, не падает. До 2 гигабайт добирается за несколько часов очень активного сёрфинга, а дальше медленно-медленно, даже если очень активно сёрфить и открывать по сто вкладок. До лимита в 4 гигабайта за 6 месяцев ещё не добирался. А вскоре, судя по всему, выйдет релиз 64-разрядной версии Firefox — там вообще про проблему можно будет забыть.
        • 0
          С таким чётким описанием вам прямая дорога в багтрекер! bugzilla.mozilla.org/
          • 0
            Но где здесь баг? Программе не удалось выделить нужное количество непрерывной памяти — она дальше не может работать. Тут либо переход на 64 бита поможет, либо на раздельные процессы для каждой вкладки, либо и то и другое одновременно. Разделение на процессы в Mozilla давно делают, только вот расширения не спешат адаптироваться под это, поэтому и не спешат с внедрением в релиз. Релизные 64-разрядные сборки для Windows вроде как совсем скоро должны появиться. Но в принципе на 64-разрядной системе для меня и сейчас проблемы можно считать нет. Но выполнение разных вкладок в разных процессах или потоках очень жду, а то раздражает, что кривой сайт может подвесить весь браузер.
            • 0
              На мобильных и того меньше, но браузеры как-то справляются (правда, у Файрфокса по отзывам всё плохо). На окно просмотра ресурсов заведомо должно хватить, а то, что не видно, можно оптимизировать.
              • 0
                Пользуюсь мобильным Firefox. У него всё хорошо. Но там я не открываю по 100 вкладок. Так, одну или две. А вы открываете на мобильнике по 100 вкладок? :)
                • +1
                  А почему бы и нет? Не знаю как там с Firefox'ом, но мобильный Chrome при открытии 100 вкладок будет хранить в памяти пяток примерно. Остальные будут тихо и незаметно выгружены, а когда вы на них переключитесь — так же тихо и незаметно загружены обратно. И на ChromeOS всё так же. А вот на desktop'е прямо беда какая-то…
        • –2
          Скажите пожалуйста, а что вы такое делаете с FF что он 2 гигабайта отъедает?
          Я сколько не пробовал, в среднем 400-600 метров, когда открыл во вкладках вообще все закладки было чуть меньше гига.
          • +1
            А как вы смотрите сколько он у вас есть? Дело в том, что можно разные параметры смотреть :)
            image
            Вы можете во всём адресном пространстве вплоть до 2Гб через один мегабайт занять по 64 килобайта, в сумме у вас будет занято 131 мегабайт, но попробуйте после этого выделить массив объёмом в мегабайт — упадёте, потому что из-за фрагментации просто нет столько свободной непрерывной памяти.

            Правда, всё равно наверное многовато кажется… Ну так это 33 активных расширения и страсть открывать по 100 вкладок за раз :)
            • –1
              Я честно скажу, я не пользуюсь никакими отдельными диспетчерами, и ориентировался по стандартному виндовскому.
              Я думаю, вся разница заключается как раз в
              >33 активных расширения и страсть открывать по 100 вкладок за раз

              P.S. Искренне прошу прощения если кого-то настолько обидел своим комментом что мне аж в карму минуснули.
  • 0
    а експлорер тужится, подвисает, но работу не завершает.

    Это шутка или опечатка?
    • +3
      Не завершает работу в смысле продолжает работать. Без шуток.
      • –1
        тогда было бы логичней использовать «не останавливает»,
        а то «завершить» значит «сделать»
        • +2
          Заменил на «но не умирает», спасибо.
  • 0
    Win 7 x64, Firefox закрывается достаточно редко, в основном, при выключении компьютера (а выключением тоже довольно-таки редко пользуюсь, больше сном и гибернацией). Вкладок около 200 сейчас.
    Последнее падение уже не помню, вообще за последние полгода падал от силы пару раз (на trello.com, там почему-то случается падение у FF, практически сразу, не только у меня).
    • 0
      с 32х битным обстоит похуже. Но тут многое зависит еще и от аддонов. Они сильно влияют на утечки памяти и общую стойкость ФФ.
  • +1
    После того, как старушка Opera перестала корректно открывать некоторые жизненно важные сайты, мне пришлось тестировать новые браузеры на старых компьютерах (P4, 2 Гбайт ОЗУ, встроенное видео — десяток рабочих лошадок почти 10-летнего возраста; на апгрейд денег не дают). Сам был слегка удивлён, когда самым адекватным в плане быстродействия оказался именно IE11. Ради удобства пользователей установил SlimBrowser. Получилось вполне юзабельно.
    • 0
      SlimBrowser — это надстройка над IE какая-то? Сайт стрёмноватый какой-то, не доверяю выкрикам «Самый мощный и универсальный, лучший браузер во вселенной». Я бы сам пользовался IE как основным — он банально куда шустрее и с безопасностью (в т.ч. с защитой персональных данных) у него давно уже всё хорошо. Фичи тоже все устраивают, всё в облаке сохраняется, по взрослому. Но вот в интерфейсе не хватает пары фишечек…
  • 0
    Windows 8.1/10 x64, Firefox вообще не зависает и не падает. Вообще от слова совсем, для меня даже дико было от вас такое читать.
    Потратьте время на переустановку ОС и забудьте о проблемах =)

    Перешел на 64-битный Windows с Vista RC1 и ни разу с тех пор не сталкивался с проблемами.
  • +1
    Годный наброс :)

    Фаерфокс с 1к вкладок что на винде х64 что на фрибсд х64 пашет нормально.
    Под виндой чуть хуже — там он был х32 и в памяти был ограничен, плюс там какой то другой менеджер памяти, это приводило фаерфокс к тому что за месяц-два он исчерпывал память и сессии переставали автоматом сохранятся.
    На фре он собран как х64 и ему доступно больше 2-3гб памяти, пока до трёх не добрался даже.

    ИЕ, новая Опера, Хром — пашут хреново, потому что они на каждую вкладку создают отдельный процесс, после 100-300 вкладок система теряет стабильность и занимается только переключениями между всеми этими процессами. Отдельно заслуживает внимание факт что все этим процессы жрут памяти ощутимо больше, чем если бы вкладки были все в одном процессе.
    А ещё хром любит выжирать все доступные GDI описатели, лимит в семёрке на одну оконную станцию — 10к, после чего оконную станцию начинает дико колбасить, вплоть до того что все оконные станции могут помереть, но система продолжает работать. Иногда везёт и можно сменить пользователя.
  • +1
    IE как показала статистика — основной браузер посетителей сайта моей компании. Поэтому тоже уделяем особое внимание.
  • –1
    Чтобы убить Chrome, достаточно одной строчки:
    new Image().src = "...очень длнинная строка...";  // больше мегабайта
    

    • +1
      Чтобы убить хром и все Webkit, достаточно завести массив с отрицательными ключами.
      Дело в том, что хром показывает длину массива по последний элемент +1… А отрицательные элементы в счет не идут. При этом (по логике) это не ассоциативные элементы, однако, при попытке вывести весь массив в консоль — выводятся все без отрицательных… Итого 10000 элементов с числом от 0-9 после двух перезагрузок роняют браузер, потому что хром не умеет их очищать.

      Затрекил этот баг больше года назад — все еще не исправлен.
  • +3
    А еще современные браузеры на Маке (кроме Сафари, который у меня хоть убей не приживается) плевать хотели на батарею. Я уже давно привык что хром не слезает с первого места по энергопотреблению (в os x есть отчёт по energy impact), а тут недавно ноут за утро разрядился. Открываю монитор – вижу аномальные показатели поедания цпу. Закрываю Google Inbox, который я как раз пробовал – оппачки, сразу всё хорошо.

    Ну как можно позволять фоновой вкладке жрать целое ядро?
  • +1
    Вот тикет по поводу хрома и больших картинок(особенно гифок) — code.google.com/p/chromium/issues/detail?id=430940
    Так что возможно, что через пару версий таки пофиксят. Наплюсуйте там его(звёздочка слева, вверху), что бы наверняка :)
  • 0
    Ставьте 64-битный Firefox. Как раз недавно Developer сборка официальная вышла. Я вообще уже несколько лет сижу на Nightly. Пробемы существенные были всего пару недель, я тогда на какой-то другой браузер переключался.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.