Caching consideration

I’m considering to implement caching algorithm under OpenVG environment but I realized it’s not easy.

I’m thinking that my SVG application can store object’s span data so that it can use span data when the object is needed to be redraw.

However, OpenVG hides all pipeline stages.

Path Data -> Stroked Path Data -> Transformed Stroked Path Data -> Span data -> Screen Buffer

The application only deals path data and can not deal any of temporary data in pipeline.

If I can do, I will store span data and I will use it to update screen.

Is there any way to implement caching algorithm?

The point of APIs like OpenVG is to hide such implementation details and allow many different implementations. There is no guarantee an OpenVG implementation uses span data internally at all.

The OpenVG implementation will likely try to cache as much data as possible itself. Just set the path data and remove any path capabilities you don’t use as early as possible.