![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
igor_bogomolov |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Уже не первый день мучаюсь со своим проектом, который использует SVG графику. Очень сильно тормозит отрисовка. Никак не найду способ оптимизировать. Перерыл вроде все доки и примеры, ничего толкового не нашел.
На сцене достаточно много элементов, но все они примитивные (линии, прямоугольники). У кого есть опыт работы с SVG графикой, помогите советом, как можно оптимизировать скорость ее отрисовки? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
У кого есть опыт работы с SVG графикой, помогите советом, как можно оптимизировать скорость ее отрисовки? я издевался над примером svgviewer, и помнется мне приемлемый результат получается при использовании буфера (QImage), в котором хранится растровая картинка. Перетаскивание и масштабирование осуществлял для растра, когда пользователь успокоится, в отдельном потоке рисовал на новом буфере, по окончанию рисования, старый удалял новый подсовывал
|
|
|
igor_bogomolov |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy) я издевался над примером svgviewer, Ага, я тоже над ним издевался. Так же теперь использую отрисовку через QImage. Ресайз сцены стал немного менее дёрганный, но тем не менее, тормоза жуткие.Из наблюдений: выяснили, что очень сильно на скорость отрисовки сказывается наличие текста и пунктирных линий. Так же, лучше избегать большого количества мелких элементов. У меня их, к сожалению, много. Удалял скрипя сердцем. При большом увеличении картинки, конечно, потеряли в качестве. Не знаю, что еще можно придумать. Есть какие-нибудь альтернативы? Примеры OpenVG не компилятся, да и боязно как-то к opengl привязываться, могут быть проблемы на некоторых видео картах. |
|
|
SABROG |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
На самом деле я удивлен, что в Qt нет конвертера SVG в QPainterPath. Возможно в массив таких классов, чтобы слои эмитировать.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 6.2.2025, 4:36 |