04-27-2016, 06:54 PM
Ok, you're not the first one mentioning expensive Update() calls and while I'm still wondering about this, we need to discuss this in depth, I guess. Perhaps there's a bug or something else going wrong...
I made a quick test on my netbook I'm currently on. Fresh scene, created 10 different splines and duplicated them several times, giving me 120 splines. Default settings, nothing changed in the inspector. A quick profile gave me ~2ms for 120 Update() calls. That's quite much, but it's because of the default setting "Check Transforms", meaning all transforms of all CPs of all splines will get checked for updates each frame. If I disable that option, those 120 calls to Update() run at 0.2ms.
So, I really don't see the point in adding compile flags etc. to remove Update() calls or introduce other optimizations. Either you and others have several thousand splines floating around and/or are running on extremly slow hardware - OR - your profiling looks completly different and something makes that calls extremly expensive. Perhaps a certain setup, some added controllers or custom scripts or a bug that doesn't show up on my side while testing.
Don't get me wrong, I'd like to take that serious and investigate this. Many users have reported this, so there must be something going on. I just don't see it. Would you mind running the profiler and give me some details, perhaps you'd like to send me an example scene to jake<at>fluffyunderware<dot>com.
I made a quick test on my netbook I'm currently on. Fresh scene, created 10 different splines and duplicated them several times, giving me 120 splines. Default settings, nothing changed in the inspector. A quick profile gave me ~2ms for 120 Update() calls. That's quite much, but it's because of the default setting "Check Transforms", meaning all transforms of all CPs of all splines will get checked for updates each frame. If I disable that option, those 120 calls to Update() run at 0.2ms.
So, I really don't see the point in adding compile flags etc. to remove Update() calls or introduce other optimizations. Either you and others have several thousand splines floating around and/or are running on extremly slow hardware - OR - your profiling looks completly different and something makes that calls extremly expensive. Perhaps a certain setup, some added controllers or custom scripts or a bug that doesn't show up on my side while testing.
Don't get me wrong, I'd like to take that serious and investigate this. Many users have reported this, so there must be something going on. I just don't see it. Would you mind running the profiler and give me some details, perhaps you'd like to send me an example scene to jake<at>fluffyunderware<dot>com.