Heavy SVG renderer

Hi guys,

I’m working on an installation which has to deal with svg files of maps. Averything works fine except the performaces. Now I have around 10 fps which is worrying. I dig into my huge patch and came to conclusion that it’s SVG Renderer that drags the resource.

SVG files are big (27684 xy vector) but when I use Line (EX9Geometry) with the same SVG file, it doesn’t give performance problem.
Sadly I need to use Polyline(SVG) to play with the animation :( … Any help ??

Thanks!
Jib

svg test.zip (511.7 KB)

Don’t think that will work with SVG Renderer, performance vise it’s quite pooor.
I can only suggest you to attach a patch with svg file, maybe there is other way to do that

Also what is the animation you want?

yes, unfortunately the SVG renderer is CPU based and not very fast. especially not when doing animations.
i would try to extract the data from the SVG and generate a GPU friendly data set out of it to render it with something like the GPU splines contribution:

you could also try to render the SVG with the HTMLTexture node, maybe its a bit faster since it’s chrome based.

https://vvvv.org/contribution/growing-lines-from-svg-paths Would this help?

Thank you all for quick answer ! I have attached the patch and svg file. Also some screenshots of what the real patches are trying to make

@antokhio

Also what is the animation you want?

zoom, rotation, change fill and stroke color, change stroke width

@tonfilm
SplinesGPU looks promising ! unfortunately I’ll need to fill in colors as well so this might not be an option

I’ve tried with HTMLTexture but a svg renderer is needed anyhow. Also it doesn’t work with animation.

@catweasel
I’d have problem with filling colors inside the shapes

I still have no clue what to do next to solve this problem… hope well in you guys for some tips !

Ah fills… I’d be inclined to pre-render to png sequences if possible! Ah stroke width! Hmm

I think you have to go mesh way…
Import your svg in to 3d editing package do polyline there, then export as obj or whatever…

I hope i will have some time to study your stuff today and pack something useful 4u

1 Like

ops

Ok, spent some time on it, this as close as i can get…

Basically there is quite descent amount of work to make it proper

first of some contours aren’t closed so there are holes you have to fix by hand:

2 Likes

@antokhio Awesome !! Thank you very much ! I’m using Rhino to import dxf, make mesh and then export as dae. Everything works fine (except for the problem with holes that needs to be fixed manually…). One question : do you know a way to keep order of group and sub group from svg when turn into mesh ? In rhino it keeps layers but not the group of paths inside layer

Sorry no easy way with sorting sadly…
I don’t know about rhino, what would i do in 3d max, is convert svg to meshes, then i would outline meshes with meshed lines two times, one with smaller size 3d lines, second with higher size (there is square line in max), then i would export that to three different models and did a selct depending on selected index, done proper in max it would not brake order…

It would not have line radius but at list would be in order…

Also obj has an line export option, but that’s not supported vvvv, but that’s not that hard to build a parser in c# or vl

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.