Название: Текст под углом Отправлено: svictor от Март 13, 2006, 16:43 Qt 4.1 Задача нарисовать много различных текстов под разными углами.
Делаю это в цикле: painter.translate(x,y); painter.rotate(angle); painter.drawText(0,0,QString::fromAscii(Text)); painter.resetMatrix(); где x,y - координаты текста, angle - угол поворота Text - сам текст, считанный из файла (массив чаров) Все рисуется как надо, но очень долго. В винде подобная задача работает разов в пять быстрее. В чем проблемма? Может что-то не так с драйверами на карту. Может есть другой, более быстрый способ отрисовки? Название: Текст под углом Отправлено: QCasper от Март 14, 2006, 13:59 у меня в линуксе все что связано с QPainter это большая тормозная жопа, простите, на винде все летает. Qt 4.1.1 и там и там
Название: Текст под углом Отправлено: Dendy от Март 14, 2006, 14:42 QPainter малюет с лихой скоростью. Попробуй поиграться с антиалиасингом, настройками кисти QPen, типами смешения цветов QPainter::CompositionMode.
Сходу скажу (смотрел код и тестил), что операции рисования любьІх елементов без трансформации матрицьІ вьІполняются раза в полтора бьІстрее, чем с трансформацией. Посему, если вся композиция из большого колличества елементов подвергается одной и той же трансформации, то можно оптимизировать: рисовать без трансформации на QPixmap, а потом последнюю с трансформацией нарисовать на результирующем окне. Название: Текст под углом Отправлено: svictor от Март 16, 2006, 09:32 К сожалению без трансформации ни как не обойтись - текст надо рисовать на QPixmap в разных местах под разными углами. Другого способа я не нашел. Пробывал играться и с QPainter::CompositionMode - ничего не помогает. Может есть низкоуровневый способ вывода текста?
Название: Текст под углом Отправлено: Steven_Orko от Март 16, 2006, 10:17 Цитата: "QCasper" у меня в линуксе все что связано с QPainter это большая тормозная жопа, простите, на винде все летает. Qt 4.1.1 и там и там Если ты используешь Qt 4.1.1, то значит, наверняка у тебя в $QTDIR/bin есть такая прога, как qtdemo. Я про Линукс вариант... но это не важно, впрочем... Как только я ее запускаю, все начинает тормозить жутко...Но потом выскакивает окошко, которое просит включить XRender, кажется... после этого все сразу бегать начинает в этом приложении... Может тебе имеет смысл посмотреть его исходный код? В Assistant есть целая статья на эту тему... Адрес не скажу, т.к. на хубок не помню, а Assistantсейчас нет под рукой. Название: Текст под углом Отправлено: Sergey B. от Март 16, 2006, 11:04 Цитата: "Steven_Orko" Цитата: "QCasper" у меня в линуксе все что связано с QPainter это большая тормозная жопа, простите, на винде все летает. Qt 4.1.1 и там и там Если ты используешь Qt 4.1.1, то значит, наверняка у тебя в $QTDIR/bin есть такая прога, как qtdemo. Я про Линукс вариант... но это не важно, впрочем... Как только я ее запускаю, все начинает тормозить жутко...Но потом выскакивает окошко, которое просит включить XRender, кажется... после этого все сразу бегать начинает в этом приложении... Может тебе имеет смысл посмотреть его исходный код? В Assistant есть целая статья на эту тему... Адрес не скажу, т.к. на хубок не помню, а Assistantсейчас нет под рукой. Должен сказать, что на Mac x86 летает и не тормозит... даже на intel 945(встроенная) ... хотя под Linux на GF6600 работатеощутимо медленнее... видно по производительность X11 явно отстаёт... Название: Текст под углом Отправлено: svictor от Март 17, 2006, 07:31 Скачал Qt 4.1.1 - проверил, стало работать ощутимо быстрее (до этого был Qt 4.1.0). Но все равно медленнее, чем хотелось. А вот окошко, которое просит включить XRender не выскочило и в Assistant ничего не нашел. Странно...
|