Я подключил медленный Android-телефон к бета-версии google chrome 33 на рабочем столе, чтобы выяснить, почему он работает медленно для одной конкретной функции на странице, которая включает в себя ожидание загрузки изображения (с помощью плагина imagesLoaded).
К моему удивлению, существует много длительных "растеризованных" событий, которые происходят параллельно с остальными событиями (такими как js и рендеринг). Что это такое и почему они так долго?
Вот экспортированные данные временной шкалы: https://gist.github.com/thehappycoder/a089562b13e028766e82/raw/53f0425c5f4756c7f5c7662711c4e4d3c6d3ba56/TimelineRawData-20140130T152139.json
И когда я не использую imagesLoaded, это работает так:https://gist.github.com/thehappycoder/dc3023a78dbcd486d33d/raw/4b07a650895bdea12ffbc27d60d68f33a7e78c45/TimelineRawData-20140130T153800.json
Код очень прост:
$("#divWithImage img").imagesLoaded(function() {
// No-op
});
Демо отлично работает на телефоне http://imagesloaded.desandro.com, поэтому речь не идет о библиотеке.