I have a CanvasItem node above my Tilemap which I use for debugging my navigation system.
The CanvasItem has an overridden _Draw() function, which is only called once after the navigation nodes have been setup. This puts a layer of graphics (circles and lines) over my Tilemap, so I can see that the nodes have been configured correctly. This function is understandably slow as it has to iterate over my entire navigation array.
I have put a GD.Print(“Draw called”; at the beginning of the _Draw() function to confirm that it is only ever called once.
But after this function is called, the game slows down, extremely slowly as if it is redrawing the node map each time. The documentation suggests that the draw is only called to generate the image, and a cached version is used thereafter, which should be just a fast texture blit...
What have I missed?