Название: Оптимизировать код... Отправлено: kibsoft от Ноябрь 09, 2009, 14:25 Код: QApplication app(argc,argv); Название: Re: Оптимизировать код... Отправлено: Alex Custov от Ноябрь 09, 2009, 14:29 Код: QApplication app(argc,argv); Код
И поробуй s.setUniformItemSizes(true); Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 09, 2009, 14:43 setUniformItemSizes(true) сработало! теперь за секунду выводит..прочитал в документации, что это свойство дожно быть тру, только когда все элементы одинакового размера..что это значит? у меня же все строки разного размера...
Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 14:19 Один товарищ зае...л меня с WPF и C#, написали прогу, которая выводит сумму предыдущих элементов, но он создает уже инициализированный массив, т.е. string[] str=new string[150000] и естественно она работает быстрее... у меня тормоз проявляется в строке lw->addItems(str), подскажите, как можно ускорить работы программы, чтобы он от меня отстал наконец :)
Код: QListWidget *lw; Название: Re: Оптимизировать код... Отправлено: Авварон от Ноябрь 10, 2009, 14:27 QVector vector (150000);
блаблабла QStringList str(QList<QString>::fromVector(vector)); и сделай таки QString("Number: %1, Sum: %2").arg(i).arg(sum); Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 14:42 Если вы имели ввиду так:
Код: QVector<QString> vector(150000); Название: Re: Оптимизировать код... Отправлено: Авварон от Ноябрь 10, 2009, 14:49 имхо тут уже ограничение вьюхи... Можно попробовать сделать QStringListModel, запихать ее во QListView и настроить его как в примере fetchMore. Да, и показывать вьюху после добавления
Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 14:55 Представление+модель ускорило работу приложения :) спасибо! еще наверное можно использовать не QString, а массивы char ;D
Название: Re: Оптимизировать код... Отправлено: Авварон от Ноябрь 10, 2009, 15:00 не QString ты не засунешь в модель... Я думал о QLatin1String, но ее все равно надо конвертировать в QString
а ты делал fetch? Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 15:10 Не, я так делал:
Код: uint sum=0; Название: Re: Оптимизировать код... Отправлено: Авварон от Ноябрь 10, 2009, 15:12 попробуй дополнительно глянуть этот пример. По идее должно сделать мгновенной работу
Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 15:22 Не совсем понимаю, что мне оттуда может помочь? Там же элементы добавляются во время скрола?
Название: Re: Оптимизировать код... Отправлено: Авварон от Ноябрь 10, 2009, 15:38 да, я тоже глянул, там надо модель переделывать... Работы минут на 10, отнаследовавшись от QStringListModel. В том-то и вся фича, что грузить не все, а частями (к примеру Ворд так делает). Заставь лучше того чела сделать аналогично и посмотрите у кого больше кода выйдет
Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 15:41 Нашел хорошее решение :)
Код: QStringList str; Название: Re: Оптимизировать код... Отправлено: Авварон от Ноябрь 10, 2009, 15:45 а шарп сколько?
Название: Re: Оптимизировать код... Отправлено: kibsoft от Ноябрь 10, 2009, 15:48 Незнаю точно, просто я у себя в Process Explorer мерял, а у друга прога сама выводит мс, вывела 500, но я чето не очень верю этим цифрам, как его увижу сравним, отпишусь :)
P.S. Если еще есть какие-нибудь идеи насчет оптимизации, пишите :) |