I have implemented global filters in my level editor where user can configure filters for all object in the scenes. Filter is applied to scene object containers about 5 of them. So user can define filters for each group of scene objects separately.
When I add a lot of filters and test the game, the game stutters very often and Adobe Scout is reporting Action Script part of the code is using around 18% of frame time, so that is great.
There is a lot of the waiting for GPU when game stutters and that is understandable GPU needs to calculate a lot with all those filters and these filters are not cached.
This was tested with not so powerful Nvidia GT 730 graphics card and latest Windows 10.
I am using latest Starling 2. When I turn of filters or lower the amount of applied filters everything runs super smooth.
I am using Display Driver: DirectX11 (Enhanced) profile. and AIR SDK 31 Beta
But when I look at the MSI After Burner or Windows Task Manager, GPU usage never goes above 80%.
Starling statistics shows draw calls are around 22, rarely 40, maximum 44.
So my question is, how is it possible that game stutters if GPU is not maxed out?
Here is the Adobe Scout profile with Stage3D enabled. I can only see that "Copy to screen" operation takes around 400% of frame time but I have no idea why?