Название: Widget vs View, не понимаю по поводу производительности Отправлено: Setner от Январь 21, 2013, 20:57 Говорят, что модели на основе Widget'ов менее производительней, чем модели на основе QAbstracItemModel+Q...View. Однако, я попробовал создать свою модель, и увидел, что там те же виджеты по сути. Тогда на основе чего строится утверждение, что Widget модель лучше использовать в небольших списках, а QAbstractItemModel+View представление в крупных?
Название: Re: Widget vs View, не понимаю по поводу производительности Отправлено: _OLEGator_ от Январь 21, 2013, 21:05 На основе знаний и понимания принципов работы обоих методов в Qt.
Название: Re: Widget vs View, не понимаю по поводу производительности Отправлено: Setner от Январь 21, 2013, 21:08 На основе знаний и понимания принципов работы обоих методов в Qt. Конкретнее... Я не понимаю что даёт различие в производительности при одной и той же структуре списков. Название: Re: Widget vs View, не понимаю по поводу производительности Отправлено: _OLEGator_ от Январь 21, 2013, 21:28 Много в чем производительность. Как минимум в отрисовке и объеме потребляемой памяти. Напиши тест по отображению 5000 кнопок с помощью этих 2х способов - сразу ощутишь разницу.
Название: Re: Widget vs View, не понимаю по поводу производительности Отправлено: Setner от Январь 21, 2013, 21:36 Много в чем производительность. Как минимум в отрисовке и объеме потребляемой памяти. Напиши тест по отображению 5000 кнопок с помощью этих 2х способов - сразу ощутишь разницу. То есть Widget модель просто осталась от старых версий Qt, я правильно понимаю? По сути она не нужна, но её просто оставили для переноса приложений со старых версий на новые. С тех пор в Qt переработали код отрисовки и снизили память. Это не очевидно сразу, на самом деле. Название: Re: Widget vs View, не понимаю по поводу производительности Отправлено: Bepec от Январь 22, 2013, 07:13 В корне неверно.
Виджеты - для постоянного отображения информации на экране простой информации. Они не требуют высокой производительности и работы с большими массивами данных. Модель-View - для отображения больших массивов данных, изменяющихся/добавляющихся в каждый момент времени. В них оптимизирована работа с данными. Если и так непонятно, то: Накидать интерфейс за 5 минут с полным функционалом и 10 минут на добавление свойств - виджеты. Написать свою модель, отладить работу модели - 20 минут. Причём модель будет чётко ориентированной на один вид данных. (допустим структуру из стандартных типов). |