2013-05-30 2 views
1

У меня есть скрипт fullcalendar, но мне нужно отображать от 2000 до 3000 событий.Fullcalendar rendering 2000 событий

Я уже read this post, и я это сделал (загружайте события только между датой начала и окончания). Затем я сделал вызов JSON, чтобы Javascript должен был отправить его на fullcalender. Кроме того, я не использую renderEvent.

Но рендеринг событий все еще очень медленный. Вызов ajax занимает около 400 миллисекунд после успешного вызова браузером занимает от 5 до 10 секунд, чтобы отобразить все события.

Где еще я могу получить скорость?

ответ

0

Предположим, что данные получены в течение нескольких сотен миллисекунд, нет узкого места в соединении. По моему опыту, если у вас есть страница с более чем 4000 элементами DOM, браузер значительно замедлится из-за того, что механизм рендеринга браузера не способен отображать большое количество элементов. Таким образом, с 2000 до 3000 событий раз, когда он на 3 или более зависит от того, как вы структурируете html для каждого события, такого как DIV, SPAN, BR ..., это было бы как минимум 12000 элементов DOM на странице.

Решение разделяет данные. Разбейте его на мелкие кусочки и покажите события, когда это необходимо.

+0

Я понимаю, что вы имеете в виду, но я думаю, что я уже сделал это, или вы говорите, я должен сломать fullcalender? Как удаление div .content в событии div? – Mad

+0

Другой вопрос (я просто думал), если я верну данные json, я поместил его в массив javascrupt, поэтому, если я нажму на календарь, я проверю, нажал ли я на событие en, ​​а не добавил tiptop (jq-плагин) к нему с помощью данные из массива i, сделанного ранее. Является ли этот массив замедлением? – Mad

+0

он может быть довольно медленным, если у вас есть большой объем данных в массиве, потому что он хранится в памяти. Я думаю, вам стоит подумать о том, как показывать события в календаре, т. Е. Отображать события на человека, группу или категорию. – Lance

0

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

+0

Но задача не ограничивать события, а ограничивать элементы в событиях. – Mad

Смежные вопросы