I'm finishing a 2D platformer game (on godot version 2.1.6) and I have certain problem with FPS drops that I cant explain.
the way I load maps is that I have parent "World" which at start loads a terrain scene and instances it. Changing terrain goes like this: queuefree() current terrain, load new, teleport player (same as _ready, only without queuefree() obviously). Enemies, npc, objects are all children of this terrain. Player and UI is outside.
All terrains work flawlessly on notebook (300-600 fps) however, on phone all, but one work. If this certain scene is loaded and I stand in right corner (x is around 11 000) my fps on phone drops from 50-60 to 5-10. However, if I move to left side and back, fps goes back to normal. Also, if I change terrain and go back it performs well.
I use visibility enabler on all nodes that have some processing. What could it be?