Другой класс для последнего элемента в ng-repeat

Профилисты - это, безусловно, хороший способ получить номера, но, по моему опыту, воспринимаемая производительность - это все, что важно для пользователя / клиента. Например, у нас был проект с расширенным аккордеонным расширением, чтобы показать некоторые данные, а затем несколько вложенных сеток Ext. Все было на самом деле очень быстро, ни одна операция не занимала много времени, было всего лишь много информации, которая была сделана сразу, поэтому она стала медленной для пользователя.

Мы исправили это, не переключаясь на более быстрый компонент или не оптимизируя какой-либо метод, а сначала представляя данные, а затем представляя сетки с помощью setTimeout. Таким образом, информация появилась первой, затем сетки появятся на месте второй позже. В целом, для этого потребовалось немного больше времени на обработку, но для пользователя улучшенная воспринимаемая производительность была улучшена.


EDIT: этот ответ теперь составляет 7 лет. В наши дни профилировщик Chrome и другие инструменты универсально доступны и просты в использовании, а также console.time() , console.profile() и performance.now() . Chrome также предоставляет вам представление временной шкалы, которое может показать вам, что убивает вашу частоту кадров, где пользователь может ждать, и т. Д.

Поиск документации для всех этих инструментов очень прост, вам не нужно Ответьте на это. 7 лет спустя, я еще повторю совет моего первоначального ответа и укажу, что вы можете иметь медленный код навсегда, где пользователь этого не заметит, и довольно быстрый код работает там, где они есть, и они будут жаловаться на довольно быстрый код не достаточно быстро. Или ваш запрос к API-интерфейсу сервера занимает 220 мс. Или что-то еще подобное. Дело в том, что если вы возьмете профилировщик и ищите работу, вы найдете ее, но это может быть не то, что вам нужно.

148
задан Rahul 29 January 2013 в 11:17
поделиться