Как отобразить много SVG в Java с высокой производительностью - PullRequest
3 голосов
/ 20 апреля 2010

Что я хочу

Моя цель - иметь возможность отображать большое количество изображений SVG в одной области рисования в Java, каждое со своими собственными значениями перемещения / поворота / масштаба. Я ищу простейшее решение, позволяющее это, опционально даже используя OpenGL, чтобы ускорить процесс.

Что я пробовал

Мой первоначальный наивный подход состоял в том, чтобы использовать SVGSalamander для рисования непосредственно на JPanel, но производительность была жалкой.

Я огляделся вокруг и понял, что мне нужно сделать что-то вроде ручного преобразования каждого SVG в BufferedImage, созданный с помощью createCompatibleImage, затем выполнить нужные преобразования, а затем нарисовать его с использованием двойной буферизации. Здесь я столкнулся с некоторыми проблемами, и прежде чем продолжить, я попытался найти каркасы для упрощения вещей.

Что я смотрел

Я был немного ошеломлен доступными опциями, поэтому я обращаюсь к SO за помощью. Я посмотрел на:

  • Каир Глитц возможно?)
  • Libart - не уверен, действительно ли это поддерживает SVG
  • FengGUI
  • Slick - выглядит многообещающе, но немного перебором

Но я не мог решить, с чем мне лучше начать работать, и я надеюсь, что кто-то здесь испытал на себе что-то подобное.

1 Ответ

0 голосов
/ 21 апреля 2010

Рендеринг ваших SVG в текстуры, затем рендеринг текстурированных четырехугольников с желаемыми преобразованиями.

...