Currently, when moving quick there are 4 systems that heavily decreases the FPS:
gen_cache_system
faces_merging_system
load_cache_system
faces_occlusion_system
gen_cache_system and load_cache_system do IO, so that's why it's so heavy. faces_merging_system and faces_occlusion_system are computational intense tasks.
While there are a lot of improvements to do on those systems, it's better to move'em to another thread and postpone the optimizations.
As a general rule, any system that takes more than 1ms on average (1.000μs) should be either optimized or moved to a separated thread, since our project aims 60fps (16.6666ms) and there are a lot of other things to do every frame.
Currently, when moving quick there are 4 systems that heavily decreases the FPS:
gen_cache_system
faces_merging_system
load_cache_system
faces_occlusion_system
gen_cache_system
andload_cache_system
do IO, so that's why it's so heavy.faces_merging_system
andfaces_occlusion_system
are computational intense tasks.While there are a lot of improvements to do on those systems, it's better to move'em to another thread and postpone the optimizations.
As a general rule, any system that takes more than 1ms on average (1.000μs) should be either optimized or moved to a separated thread, since our project aims 60fps (16.6666ms) and there are a lot of other things to do every frame.