i got a plugin which reduce some polygons on a provided mesh. unfortunally if i switch the viewport or switch to an other document my plugin evaluates again.

i use a combination of GACHC and some other checks like change of a vertexmap.
it works well if i change the current frame or other objects in the scene who has no dependencies with the plugin but like descriped above it evaluates all over again when change the scene or the view.

is there a way to disable the unwanted refresh of my plugin and use a cached mesh which is saved in the document itself?

With regard to the issue you reported, it looks like there's something unexpected happening that instead of returning the computed cache, regenerate and returns a new cache.

Although it might occur that switching between documents require the generator to recreate the cache, switching between view definitively it's not supposed to happen.

Considering that your information doesn't actually help too much in understanding how you're evaluating cache dirtiness nor what changes are you're checking in the vertexmap, could please post fragments of the code or, alternatively, try to reuse your cache dirtiness mechanism on an "simpler" plugin to see if it works reliably?