Russian Qt Forum
Июля 06, 2025, 14:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Тормозит QGraphicsView. Пример - 40000 chips  (Прочитано 13312 раз)
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« : Августа 21, 2008, 09:47 »

В QtDemo есть пример - 40000 chips. После запуска текст на чипах не прорисовываеться и чипы скролиться быстро. Если пошагого увеличивать картинку до тех пор пока не начнет прорисовываться текст и потом попробывать подвигать скрол - то чипы жутко тормозят. Я в своем приложении столкнулся с той-же проблемой. Мне кажеться что это из-за текста.
Как можно сделать, чтоб QGraphicsView не тормозил, если он отображает сцену с  элементами QGraphicsTextItem?
Может возможно преобразовать QGraphicsTextItem в примитивы линии и дули, тогда может не будет тормозить?
Записан
BaltikS
Гость
« Ответ #1 : Августа 26, 2008, 12:27 »

У меня не тормозит, мне кажется дело в дровах или железяках....
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #2 : Августа 29, 2008, 14:46 »

Цитировать
У меня не тормозит, мне кажется дело в дровах или железяках....

А одно из четырех окошек в "40000 чипах" растянуть на весь экран, потом увелич до тех пор, пока текст не начнет прорисовываться. И подвигай. Тормозит?

Я не думаю что это проблема в железе или в дровах. Пробывал на ЭВМ атлон-4600+ х2, 2 Гб озу, джефорс 8800. Пробывал в FreeBSD7.0 и в Windows XP. Результат одинаковый Я бы мог предположить что под FreeBSD дрова не те, но под винду - и винда лицинзеонная, и дрова родные.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Августа 29, 2008, 18:56 »

неа не тормозит, совсем не тормозит.
AMD Sempron 2600
ОЗУ: 512 MB
NVidia GeForce 5200 (128 MB)
Windows 2000SP4

по диспетчеру задач при постоянном перемещении chip.exe 12МБ(ОЗУ) 42МБ(виртуалки) 82%(проц)
Записан

Юра.
kamre
Частый гость
***
Offline Offline

Сообщений: 233


Просмотр профиля
« Ответ #4 : Сентября 03, 2008, 06:26 »

Действительно, томозит! Правда только когда все повернуто на некоторый угол. Если не поворачивать, то не томозит при появлении текста.
Если включить OpenGL, то на 9600GT этих тормозов не появляется.

P.S. зато когда полный zoom out сделаешь - всгеда офигенно тормозит Улыбающийся
Записан
BaltikS
Гость
« Ответ #5 : Сентября 15, 2008, 10:35 »

Не тормозит,
Intel Core 2 Duo 6400,
2 Гб Оперативки
7300 Gt, 256Mb GeForce
Windows XP.

Дома проверил на
AMD Athlon 2500+
1 Gb/4200
ATI Radeon 9800SE, 128 Mb
Windows XP - тоже не тормозит!!! Подмигивающий
Записан
Karl-Philipp
Гость
« Ответ #6 : Сентября 15, 2008, 21:41 »

Celeron 1.1/512 ОЗУ/8mb Video встроенного - не тормозит   Улыбающийся
Записан
_OLEGator_
Гость
« Ответ #7 : Ноября 25, 2008, 12:36 »

Попробуй отображать текст вместо painter->drawText() так:

QPainterPath path;
path.addText(0, 0, textFont, text);

painter->fillPath(path, color);
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #8 : Февраля 14, 2009, 09:58 »

в FreeBSD7.0 в некой программе есть второй процесс работающий с компортом, работающий параллельно xorg. Если двигать GUI программы то все ресурсы процессора заняты и комп не успевает работать с компортом. Обмен сбивается. Да и вообще как-то медленно происходит перерисовка окна QT-эшных приложений при изменении размера окна.

Поэксперементировал на одной эвм в 4-х ОС: атлон 5000+, gforce 7600gs, 2 Гб озу. Эксперементировал с qt demo/Demonstrations "4000 chips" и "Affine Transformations"

FreeBSD 7.0:

40000 chips - тормозит при появлении текста на чипах
Affine Transformations - ЖУТКО тормозит при нажатии "Use OpenGL"


Mandriva Free 2008.1 и Mandriva Flash 4G:

40000 chips - вообще не тормозит
Affine Transformations - подтормаживает при нажатии "Use OpenGL"


Windows XP Home:

40000 chips - тормозит при появлении текста на чипах
Affine Transformations - Вообще не тормозит, хоть использовать "Use OpenGL", хоть нет


Меня больше всего интересует FreeBSD. Почему на таком компе Qt тормозит? Может xorg как-то не так настроен? Почему OpenGL в юниксах тормозит, а винде нет?
В FreeBSD xorg руками настраевается, а в Mandriva автоматически. Разницу работы графики Linux и Windows я допускаю. Но вот Linux и FreeBSD - нет. Тaже xorg, тот же kde, тотже qt для х11, один и тотже видеодрайвер используется - nv. Почему такая разница? Мне кажется что xorg в Mandriva как-то хитро настроен поэтому 40000 чипов не тормозят. Может кто знает какие  хитрые настройки нужно сделать в FreeBSD, чтоб работало без тормозов?

ps что-то слишком большая разница в работе одной и той же программы на разных платформах. Возникают большие сомнения в кроссплатформенности Qt. ((
« Последнее редактирование: Февраля 14, 2009, 10:00 от juvf » Записан
Dendy
Гость
« Ответ #9 : Февраля 14, 2009, 11:06 »

Скорее всего дело не в Qt, а в иксах и драйвере OpenGL. Ускорение отрисовки через OpenGL имеет смысл только при наличии Direct Rendering, коего в драйвере nv нет. Вместо него используется программный драйвер Mesa, который существует только для совместимости OpenGL API и естесственно гораздо медленнее растрового движка Qt. Разница в тесте 40000 чипов наверняка из-за иксов.
Записан
sir_KIR
Гость
« Ответ #10 : Февраля 18, 2009, 21:16 »

Также полагаю, что дело не в Qt.
Вот под "ужасонаводящей" ОС МСВС (клон Linux бох знает какого года) ужасные тормоза начинаются при растягивании окна приложения на второй экран (двухмониторная видяха). Причем, после уменьшения до исходных размеров, тормоза уже не проходят до перезагрузки приложения )) Считаем, что дело в дровишках, а может и в иксах.

П.С. Кстати, если сталкивался с такой проблемой и знает как лечить - с меня пиво ).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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