Быстрая графика средствами QT3 (Требуется совет)

Модератор: Модераторы разделов

Аватара пользователя
Sunder
Сообщения: 630
Статус: Гордый пользователь нелегального софта
ОС: OpenSuSE 10.3 x64, Fedora 7

Быстрая графика средствами QT3

Сообщение Sunder »

Вопрос, такой кто нибудь может пробовал или знает наиболее оптимальный способ скоростного вывода картинки из примитивов (линий, прямоугольников) и конечно текста ? Прочитал много по QT3, сейчас использую:
1. Рисую в QPixmap
2. В событии paintEvent bitblt его на виджет.

Экспериментально выяснил что операция блиттинга практически не требует процессорного времени, основное время процессора тратится на рисование в самом QPixmap. (выводится много-много линий, прямоугольников и текст) Притом, оказалось что вывод текста с помощью drawText - очень затратная операция :)

Что хочу достичь.
Хочу знать оптимальный по быстродействию способ отображения часто изменяющейся информации в данном случае. Не обращаясь к библиотеке OpenGL конечно :)
Есть ли способ ускорить вывод текста ?
Может есть способ более быстрого рисования линий, например имеет ли смысл помещать все координаты линий в массив и выводить пару тысяч линий одним вызовом drawLineSegments ?

Пишите ваши советы, ссылки на интересные доки по теме и вообще все что знаете.
Jabber: sunder@jabber.ru
Настоящий Операман должен построить дом, посадить дерево и сделать из лисы чучело !
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Быстрая графика средствами QT3

Сообщение uptime »

Эх, давно это было...
Вывод текста можно значительно ускорить если использовать растровый фонт и выводить его тем-же битблитом...
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: Быстрая графика средствами QT3

Сообщение Shura »

А чем не нравится OpenGL?

Всю эту графику надо выводить в отдельное окно или в окно с GUI? Может попробовать SDL? Там можно получить прямой доступ к поверхности, скорость отрисовки довольно высока.
Rock'n'roll мертв © БГ
Спасибо сказали:
Аватара пользователя
Sunder
Сообщения: 630
Статус: Гордый пользователь нелегального софта
ОС: OpenSuSE 10.3 x64, Fedora 7

Re: Быстрая графика средствами QT3

Сообщение Sunder »

uptime писал(а):
10.07.2007 12:58
Эх, давно это было...
Вывод текста можно значительно ускорить если использовать растровый фонт и выводить его тем-же битблитом...


Так. С растровым фонтом более-менее ясно. Как выводить его битблитом ? Для этого как минимум надо создать где-нибудь надписи в памяти как растр и еще они часто меняются при этом.



Shura писал(а):
10.07.2007 17:57
А чем не нравится OpenGL?

Всю эту графику надо выводить в отдельное окно или в окно с GUI? Может попробовать SDL? Там можно получить прямой доступ к поверхности, скорость отрисовки довольно высока.


Не нравится стрелять пушкой по воробьям. Оставим OpenGL для 3d графики :)
Всю графику надо выводить в окно с GUI, ну то есть сейчас там виджет внутри другого для отображения информации и туда выполняется блиттинг. SDL может быть интересен, желательно пример что-ли или доку.
Jabber: sunder@jabber.ru
Настоящий Операман должен построить дом, посадить дерево и сделать из лисы чучело !
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: Быстрая графика средствами QT3

Сообщение Shura »

Встранивание SDL в GUI никогда не делал. Возможно, есть примеры на www.libsdl.org. Что-то сейчас этот сайт молчит, наверное неполадки какие-то.
Rock'n'roll мертв © БГ
Спасибо сказали: