We've got a very complex SVG UI. It allows the user to load images on the SVG (every element added is a rect with a fill that is an image). The user can then drag and manipulate these elements on the SVG.
Once we got several elements added on the canvas and the user tries to drag we see a tremendous drop in FPS. You can see in the linked image of the timeline the green spikes are the browser render pipeline (paint/composite).
The question I can't seem to find anything on is if there's a way to force an SVG element to be it's own rendering layer (like you can do with CSS and HTML nodes). When I look at layer borders in Chrome the entire SVG element is one layer.
We are using 2d Matrix transforms on everything.
Any ideas or input?