Page MenuHome

animating texture space on largish curve object causes slow down
Confirmed, NormalPublicKNOWN ISSUE

Description

System Information
Operating system: MacOS 10.14.6
Graphics card: Radeon Pro Vega 48 8GB

Blender Version
Broken: 2.82 alpha 2019-12-16
Worked: (optional)

I imported a largish SVG (300 KB). I joined the curves into one object and then placed a keyframe in the texture space. Blender will then slow down to unworkable. It depends on the size of the curve object, larger means slower.

I can't animate textures that way. So now I am using another object for texture coordinates which works and doesn't slow down at all but I would rather use the texture space.

Developer note: see thread for profiling info and bottleneck

Event Timeline

Jacques Lucke (JacquesLucke) changed the task status from Needs Triage to Needs Information from User.Dec 29 2019, 2:21 PM

Please provide the .blend file so that we can reproduce the issue.

So this is a large curve object imported as SVG from Illustrator. It's part of a map that otherwise previews and renders fine. Just when you add a single keyframe to the texture space the timeline becomes very unresponsive.

So, I did some profiling. The bottleneck is seems to be the algorithm, that that fills the areas between the curves.

There is an O(n^2) or maybe even O(n^3) algorithm (I don't know how the algorithm works exactly).

If you don't necessarily need this functionality, you could set the Fill Mode to None. It is still not fast, but significantly faster than before.

Dalai Felinto (dfelinto) changed the task status from Needs Information from User to Confirmed.Jan 15 2020, 8:03 PM
Dalai Felinto (dfelinto) changed the subtype of this task from "Report" to "Known Issue".

@Antonio Vazquez (antoniov) is this something your GP/svg converted work touches/improve? If you see yourself working on it in the upcoming future feel free to change its subtype to bug.

@Sander Kamp (sanderbkk) thanks for your report, I'm leaving it open as known issue, but if a developer decides to work on it, then they can change it back to a bug. For the records the issue reported here is a request for modified/improved behavior and not a bug in current behavior.

The SVG import internally uses curves and then convert this to GPencil strokes, so nothing will change in curves, but maybe the same final result could you be obtained using strokes.

Note: We are not working now in SVG importer because we are refactoring all gpencil drawing engine. This is very important and needed for future developments, as good SVG import to GPencil. We will back to import SVG code after refactor will be ready.