Russian Qt Forum
Ноябрь 23, 2024, 10:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Widget vs View, не понимаю по поводу производительности  (Прочитано 3266 раз)
Setner
Гость
« : Январь 21, 2013, 20:57 »

Говорят, что модели на основе Widget'ов менее производительней, чем модели на основе QAbstracItemModel+Q...View. Однако, я попробовал создать свою модель, и увидел, что там те же виджеты по сути. Тогда на основе чего строится утверждение, что Widget модель лучше использовать в небольших списках, а QAbstractItemModel+View представление в крупных?
Записан
_OLEGator_
Гость
« Ответ #1 : Январь 21, 2013, 21:05 »

На основе знаний и понимания принципов работы обоих методов в Qt.
Записан
Setner
Гость
« Ответ #2 : Январь 21, 2013, 21:08 »

На основе знаний и понимания принципов работы обоих методов в Qt.

Конкретнее...
Я не понимаю что даёт различие в производительности при одной и той же структуре списков.
« Последнее редактирование: Январь 21, 2013, 21:19 от Setner » Записан
_OLEGator_
Гость
« Ответ #3 : Январь 21, 2013, 21:28 »

Много в чем производительность. Как минимум в отрисовке и объеме потребляемой памяти. Напиши тест по отображению 5000 кнопок с помощью этих 2х способов - сразу ощутишь разницу.
Записан
Setner
Гость
« Ответ #4 : Январь 21, 2013, 21:36 »

Много в чем производительность. Как минимум в отрисовке и объеме потребляемой памяти. Напиши тест по отображению 5000 кнопок с помощью этих 2х способов - сразу ощутишь разницу.

То есть Widget модель просто осталась от старых версий Qt, я правильно понимаю? По сути она не нужна, но её просто оставили для переноса приложений со старых версий на новые. С тех пор в Qt переработали код отрисовки и снизили память.

Это не очевидно сразу, на самом деле.
Записан
Bepec
Гость
« Ответ #5 : Январь 22, 2013, 07:13 »

В корне неверно.

Виджеты - для постоянного отображения информации на экране простой информации. Они не требуют высокой производительности и работы с большими массивами данных.

Модель-View - для отображения больших массивов данных, изменяющихся/добавляющихся в каждый момент времени. В них оптимизирована работа с данными.

Если и так непонятно, то:

Накидать интерфейс за 5 минут с полным функционалом и 10 минут на добавление свойств - виджеты.

Написать свою модель, отладить работу модели - 20 минут. Причём модель будет чётко ориентированной на один вид данных. (допустим структуру из стандартных типов).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.083 секунд. Запросов: 20.