(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

JavaScript: повышение производительности при запуске IE с помощью Visual Studio

Источник: microsoft

  • При разработке веб-сайтов на VS я всегда запускаю IE, нажимая F5 или щелкая HTML-страницу правой кнопкой мыши и выбирая пункт View in Browser (Просмотреть в браузере).
  • В ходе моих недавних экспериментов с HTML5 я пытался написать код, который копирует кадры видеозаписи в формате MP4, переворачивает изображение вверх ногами и затем снова визуализирует эти кадры на полотне.
  • В этом коде для обработки кадров используется метод requestAnimationFrame, с его помощью также отображается достигнутый показатель количества кадров в секунду (кадр/с).
  • Вот мой результат:

  • Всего четыре кадра в секунду. Пытаясь проанализировать эту проблему, я применил  xperf следующим образом:
    • Откройте окно командной строки с правами администратора.
    • Задайте значения следующих переменных среды:
      • set _NT_SYMBOL_PATH=SRV*C:\websymbols*http://msdl.microsoft.com/downloads/symbols
      • set _NT_SYMCACHE_PATH=C:\websymbols
    • Откройте веб-сайт с помощью IE.
    • Выполните команду:
      • xperf -on base
      • ...здесь выполняется профилирование, подождите несколько секунд...
      • xperf -d trace.etl
      • ...выполняется сохранение файла трассировки...
    • Откройте файл трассировки в средстве просмотра:
      • xperf trace.etl
    • В средстве просмотра:
      • Щелкните Trace (Трассировка) --> Load Symbols (Загрузить символы).
      • Откройте кадр: CPU Sampling by Process --> iexplorer.exe  (Thread ID that shows high CPU usage) (Данные ЦП по процессам  --> iexplorer.exe (идентификатор потока, отображающий высокую загрузку ЦП)).
      • Выберите область графика с высокой нагрузкой на ЦП, затем щелкните ее правой кнопкой мыши и выберите пункт Summary Table (Сводная таблица).
      • Дождитесь окончания загрузки символов и появления окна:

  • Отсортируйте таблицу, щелкнув столбец Weight (Вес).
  • На снимке экрана видно, что 40,57 % вычислительной мощности ЦП было израсходовано на библиотеку jscript9.dll (Chakra, механизм поддержки JavaScript в IE), а 15,24 % расходуется на вызовы функций к Js::InterpreterStackFrame::ProcessWithDebugging.
  • Слова ProcessWithDebugging указывают, что происходит отладка, которая также требует дополнительных вычислительных мощностей при выполнении сценария.
  • Чтобы протестировать код JavaScript в браузере IE в режиме release mode нельзя просто указать для собранной программы VS режим Release (Релиз), поскольку это не приведет к изменению клиентского кода.
  • Вместо этого оставьте открытое окно IE и просто приостановите исполнение кода JavaScript, например, нажав какую-нибудь кнопку добавления или приостановки видеозаписи.
  • Затем откройте новый экземпляр IE. В операционных системах Windows 7 или 8 это делается следующим образом: щелкните правой кнопкой мыши значок IE и затем щелкните значок Internet Explorer в контекстном меню.
  • Скопируйте URL-адрес из первого окна IE в новое окно и посмотрите, что произойдет:

  • Теперь этот код достигает 54 кадров в секунду из 60 возможных!
  • Если взглянуть на результаты трассировки этого нового окна, то можно увидеть, что время выполнения кода JavaScript стало практически незначительным:

  • Вместо этого большая часть времени тратится на обработку матричных операций полотном:

  • Сравнительный анализ различий в производительности кода можно найти в моей статье под названием  JS: Dots are bad, M'kay? ("JS: когда точки вредны"):
  • Запуск IE из VS
    array.length: 5881
    len: 4678

    Math.floor: 6537
    / 0: 4566

    документ не кэширован: 6452
    документ кэширован: 2831

    Запуск новой копии IE отдельно от VS
    array.length: 786
    len: 664

    Math.floor: 869
    / 0: 714

    документ не кэширован: 3729
    документ кэширован: 44

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 29.10.2014 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft 365 Business Basic (corporate)
Microsoft 365 Business Standard (corporate)
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100