Название: Кто как борется с большим объемом данных Отправлено: BuRn от Август 10, 2014, 18:29 Добрый день. Интересует кто как выкручивается из ситуации, когда репитор к примеру имеет модель из 400 000 элементов и ему нужно все это отрисовать. Встала проблема размещения огромного количества элементов на Flickable, склоняюсь к варианту отображения лишь 100, к примеру, и пересоздании модели с новыми элементами. А как выкручиваетесь вы ?
Название: Re: Кто как борется с большим объемом данных Отправлено: navrocky от Август 10, 2014, 18:57 ListView предназначен для этого. Он создает элементы только видимые на экране.
Название: Re: Кто как борется с большим объемом данных Отправлено: BuRn от Август 12, 2014, 22:57 ListView предназначен для этого. Он создает элементы только видимые на экране. 5.3 Вы его пробовали хотя бы на 1000 элементах ? Название: Re: Кто как борется с большим объемом данных Отправлено: navrocky от Август 13, 2014, 08:54 ListView предназначен для этого. Он создает элементы только видимые на экране. 5.3 Вы его пробовали хотя бы на 1000 элементах ? Этим вопросом прямо меня смутили. В доке эта ситуация отдельно расписана: Цитировать The Repeater type creates all of its delegate items when the repeater is first created. This can be inefficient if there are a large number of delegate items and not all of the items are required to be visible at the same time. If this is the case, consider using other view types like ListView (which only creates delegate items when they are scrolled into view) or use the Dynamic Object Creation methods to create items as they are required. Вот проверка, ваши 400 000 элементов плавно скроллируются как и положено: Код
Название: Re: Кто как борется с большим объемом данных Отправлено: BuRn от Август 13, 2014, 23:36 Все бы хорошо, а попробуйте теперь переделать его так, вставить внутрь репитор, который будет создавать объекты, репитор по модели из 100+к элементов, не просто квадратов , а что - то посерьезнее, словите креш
Название: Re: Кто как борется с большим объемом данных Отправлено: navrocky от Август 14, 2014, 08:24 Все бы хорошо, а попробуйте теперь переделать его так, вставить внутрь репитор, который будет создавать объекты, репитор по модели из 100+к элементов, не просто квадратов , а что - то посерьезнее, словите креш Я не понимаю, зачем вам сдался этот Repeater, он явно же не расчитан на большое количество элементов, т.к. сразу все создает.Если надо ListView внутри итема в ListView - не проблема, это работает. Название: Re: Кто как борется с большим объемом данных Отправлено: BuRn от Август 14, 2014, 20:05 Все бы хорошо, а попробуйте теперь переделать его так, вставить внутрь репитор, который будет создавать объекты, репитор по модели из 100+к элементов, не просто квадратов , а что - то посерьезнее, словите креш Я не понимаю, зачем вам сдался этот Repeater, он явно же не расчитан на большое количество элементов, т.к. сразу все создает.Если надо ListView внутри итема в ListView - не проблема, это работает. Название: Re: Кто как борется с большим объемом данных Отправлено: gil9red от Август 14, 2014, 20:13 Все бы хорошо, а попробуйте теперь переделать его так, вставить внутрь репитор, который будет создавать объекты, репитор по модели из 100+к элементов, не просто квадратов , а что - то посерьезнее, словите креш Я не понимаю, зачем вам сдался этот Repeater, он явно же не расчитан на большое количество элементов, т.к. сразу все создает.Если надо ListView внутри итема в ListView - не проблема, это работает. Создать элементы можно через модель ;) Название: Re: Кто как борется с большим объемом данных Отправлено: BuRn от Август 14, 2014, 20:47 Все бы хорошо, а попробуйте теперь переделать его так, вставить внутрь репитор, который будет создавать объекты, репитор по модели из 100+к элементов, не просто квадратов , а что - то посерьезнее, словите креш Я не понимаю, зачем вам сдался этот Repeater, он явно же не расчитан на большое количество элементов, т.к. сразу все создает.Если надо ListView внутри итема в ListView - не проблема, это работает. Создать элементы можно через модель ;) Название: Re: Кто как борется с большим объемом данных Отправлено: gil9red от Август 14, 2014, 23:15 Все бы хорошо, а попробуйте теперь переделать его так, вставить внутрь репитор, который будет создавать объекты, репитор по модели из 100+к элементов, не просто квадратов , а что - то посерьезнее, словите креш Я не понимаю, зачем вам сдался этот Repeater, он явно же не расчитан на большое количество элементов, т.к. сразу все создает.Если надо ListView внутри итема в ListView - не проблема, это работает. Создать элементы можно через модель ;) Например, создайте собственную модель с нужными Вам ролями, после отображайте в делегате как захотите :) https://github.com/gil9red/ListFiles (https://github.com/gil9red/ListFiles) -- сама модель написана на с++ И Вам уже ответили в чем причина торможения: ListView предназначен для этого. Он создает элементы только видимые на экране. 5.3 Вы его пробовали хотя бы на 1000 элементах ? Цитировать The Repeater type creates all of its delegate items when the repeater is first created. This can be inefficient if there are a large number of delegate items and not all of the items are required to be visible at the same time. If this is the case, consider using other view types like ListView (which only creates delegate items when they are scrolled into view) or use the Dynamic Object Creation methods to create items as they are required. ...The Repeater type creates all of its delegate items when the repeater is first created. This can be inefficient if there are a large number of delegate items and not all of the items are required to be visible at the same time. If this is the case, consider using other view types like ListView (which only creates delegate items when they are scrolled into view) or use the Dynamic Object Creation methods to create items as they are required. Update. В https://github.com/gil9red/ListFiles (https://github.com/gil9red/ListFiles), ради теста временно изменил (коммит не отправлял) код загрузки из xml на добавление всех файлов из корня диска, а также поставил счетчик на ограничение в 450к файлов, все очень шустро, без лагов скролило. |