crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как оптимизировать SVG графику, Или возможные альтернативы SVG
igor_bogomolov
  опции профиля:
сообщение 8.4.2010, 16:13
Сообщение #1


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Уже не первый день мучаюсь со своим проектом, который использует SVG графику. Очень сильно тормозит отрисовка. Никак не найду способ оптимизировать. Перерыл вроде все доки и примеры, ничего толкового не нашел.
На сцене достаточно много элементов, но все они примитивные (линии, прямоугольники).
У кого есть опыт работы с SVG графикой, помогите советом, как можно оптимизировать скорость ее отрисовки?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.4.2010, 18:28
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(igor_bogomolov @ 8.4.2010, 20:13) *
У кого есть опыт работы с SVG графикой, помогите советом, как можно оптимизировать скорость ее отрисовки?
я издевался над примером svgviewer, и помнется мне приемлемый результат получается при использовании буфера (QImage), в котором хранится растровая картинка. Перетаскивание и масштабирование осуществлял для растра, когда пользователь успокоится, в отдельном потоке рисовал на новом буфере, по окончанию рисования, старый удалял новый подсовывал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 8.4.2010, 20:18
Сообщение #3


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Litkevich Yuriy)
я издевался над примером svgviewer,
Ага, я тоже над ним издевался. Так же теперь использую отрисовку через QImage. Ресайз сцены стал немного менее дёрганный, но тем не менее, тормоза жуткие.

Из наблюдений: выяснили, что очень сильно на скорость отрисовки сказывается наличие текста и пунктирных линий. Так же, лучше избегать большого количества мелких элементов. У меня их, к сожалению, много. Удалял скрипя сердцем. При большом увеличении картинки, конечно, потеряли в качестве.

Не знаю, что еще можно придумать. Есть какие-нибудь альтернативы? Примеры OpenVG не компилятся, да и боязно как-то к opengl привязываться, могут быть проблемы на некоторых видео картах.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 9.4.2010, 10:03
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


На самом деле я удивлен, что в Qt нет конвертера SVG в QPainterPath. Возможно в массив таких классов, чтобы слои эмитировать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 7.7.2022, 17:01