Почему отклик HTML/веб-интерфейса медленнее, чем нативный?

Я не могу понять, почему Отклик HTML/веб-интерфейса медленнее, чем WinForms/WPF/Android View/собственный пользовательский интерфейс?

Собственный пользовательский интерфейс также имеет стили, вложенные элементы, события, чем события CSS, DOM, javascript веб-интерфейса.

Время отклика события. включает в себя: изменение фокуса, раскрывающийся список, прокрутку, перемещение анимации, изменение размера анимации и т. д.

Вставка/замена дерева DOM также выполняется медленно, в установка 10000 символов html будет стоить 100 мс в google chrome в android 4.0, а анализ его шаблона будет стоить всего 20 мс (микрошаблон jQuery).

Возможно, самым большим фактором замедления отклика на событие является:

  1. блокировка пользовательского интерфейса между параллельными процессами javascript;
  2. Механизм рендеринга слишком медленный для обработки сообщений об изменении нового пользовательского интерфейса от javascript-воркеров, особенно когда механизм рендеринга браузера занят последним обновлением пользовательского интерфейса (из-за пункта 3);
  3. Метод макета HTML (например, каскадирование CSS, встроенный макет, адаптивный макет и т. д.) может замедлять частичное обновление пользовательского интерфейса.
  4. Парсинг html/xml требует много времени, подсказка: инфляция представления Android в значительной степени зависит от предварительной обработки файлов XML, которая выполняется во время сборки (http://developer.android.com/reference/android/ view/LayoutInflater.html)

Подмножество стандартов HTML и CSS может стать будущим решением для разработки веб-приложений:

http://www.silexlabs.org/haxe/cocktail/

http: //www.terrainformatica.com/htmlayout/

http://www.nativecss.com/

http://www.pixate.com/

https://github.com/tombenner/nui

http://steelratstory.com/steelrat-products/wrathwebkit

http://trac.webkit.org/wiki/EFLWebKit

https://github.com/WebKitNix/webkitnix

http ://qt-project.org/doc/qt-4.8/richtext-html-subset.html

http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/

Куча нативных языков разметки пользовательского интерфейса: http://en.wikipedia.org/wiki/User_interface_markup_language

почему нет упрощенного стандарта HTML и упрощенного W Механизм компоновки ebcore для замены этих родных UIML?

Возможно, мы могли бы реализовать подмножество html в проекте kivy.org.

ПК, браузер Android = поток приложения + поток пользовательского интерфейса

Браузер iOS = поток приложения + поток данных пользовательского интерфейса + аппаратный поток пользовательского интерфейса (CoreAnimation/OpenGL ES)

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

17
задан 24 revs 26 November 2014 в 07:35
поделиться