Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: cvy7 от Апрель 17, 2011, 09:51



Название: Qlabel- медленная отрисовка
Отправлено: cvy7 от Апрель 17, 2011, 09:51
Проблема в следующем:

Отрисовка обычного текста (2500 символов) в Qlabel под Linux
занимает  200-250 ms и грузит проц (нехилый, в десктопе) на 100%
(правильнее конечно- одно из ядер проца на 100%)

Есть ли какое решение, позволяющее снизить ресурсоемкость этой задачи?
Сглаживание текста конечно-же выключил, это не повлияло.

Прогу потом планируется использовать на планшете- нетбуке.


Название: Re: Qlabel- медленная отрисовка
Отправлено: blood_shadow от Апрель 17, 2011, 10:46
отрисовка QLabel в отдельном потоке, заглянь в раздел "Многопоточное программирование, процессы"


Название: Re: Qlabel- медленная отрисовка
Отправлено: GreatSnake от Апрель 17, 2011, 11:35
Попробуй QStaticText
Цитировать
The QStaticText class enables optimized drawing of text when the text and its layout is updated rarely.


Название: Re: Qlabel- медленная отрисовка
Отправлено: cvy7 от Апрель 17, 2011, 16:15
Так проблема не в том, что тормозит основной поток-
в данном случае - это вообще отладочное-

проблема в том, что отрисовка требует слишком больших ресурсов от системы
которых заведомо  не будет на планшете

Самое интересное, что такая прога на билдере 10 лет назад работала на 166 пне :)

попробовал QStaticText,
статический текст (тот, что при инициализации, из примера) выводит

при попытке сделать ему setText сегфолтится :(




Название: Re: Qlabel- медленная отрисовка
Отправлено: cvy7 от Апрель 17, 2011, 22:29
Понял, почему сегфолтилось,
заработало,
но проблемы это всё-равно не решило!
загрузку хоть drawText, хоть drawStaticText создает
как и здесь: http://www.prog.org.ru/topic_17091_0.html


Название: Re: Qlabel- медленная отрисовка
Отправлено: p166 от Апрель 18, 2011, 15:27
Понял, почему сегфолтилось,
заработало,
но проблемы это всё-равно не решило!
загрузку хоть drawText, хоть drawStaticText создает
как и здесь: http://www.prog.org.ru/topic_17091_0.html
Отключи сглаживание текста, выглядит немного коряво, но на слабых компах будет все летать!


Название: Re: Qlabel- медленная отрисовка
Отправлено: cvy7 от Апрель 18, 2011, 18:51
Так сглаживание я сразу и выключил,
первое, что сделал,

попробовал сейчас FreeType
один фиг..


Название: Re: Qlabel- медленная отрисовка
Отправлено: ufna от Апрель 18, 2011, 19:42
может проблема в ОС? На планшетах будет она же?


Название: Re: Qlabel- медленная отрисовка
Отправлено: p166 от Апрель 19, 2011, 10:44
Так сглаживание я сразу и выключил,
первое, что сделал,

попробовал сейчас FreeType
один фиг..

Была в свое время проблема с планшетником на хилом AMD GEODE 400, помогло следующее:
1. отключил сглаживание
2. использование не TrueType шрифтов
3. подбор размера шрифта кратному оригинальному

На растеризацию и изменение размера шрифта тратится много системных ресурсов, что становится критично на медленных машинах.


Название: Re: Qlabel- медленная отрисовка
Отправлено: cvy7 от Апрель 21, 2011, 08:30
Отвлекся маленько... (в связит с событиями в Екате)

Прав оказался ufna. собрал под виндой,
мой проектный нетбук на атоме- работает, все в порядке,
даже особенно проц то не грузит...

Попробую конечно, то что рекомендовал p166,
только еще надо разобраться, как растровые шрифты там включить...


Название: Re: Qlabel- медленная отрисовка
Отправлено: frostyland от Апрель 22, 2011, 09:37
Отвлекся маленько... (в связит с событиями в Екате)
А что тут у нас в Екате? )) разве что холодно ))


Название: Re: Qlabel- медленная отрисовка
Отправлено: cvy7 от Апрель 25, 2011, 16:22
Попробовал с растровым шрифтом- ничего не дает это совершенно
включил сглаживание- пошустрей
вот такая парадоксальная ОС

Цитировать
А что тут у нас в Екате? )) разве что холодно ))
в первый класс записывались 20-ого :)[/sub]