Closed afonsolage closed 2 years ago
Reduced from 13s to 12s by filtering empty chunks on mesh generation worker
Focusing on optimize faces_merging
since it runs a lot!
generate_vertices avg: 41824μs, samples: 766, min: 11341μs, max: 89226μs, meta: 5μs
faces_merging avg: 30426μs, samples: 550, min: 8859μs, max: 65351μs, meta: 0μs
faces_occlusion avg: 19727μs, samples: 766, min: 2414μs, max: 25695μs, meta: 0μs
process_batch avg: 3638μs, samples: 512, min: 2723μs, max: 7620μs, meta: 634μs
load_chunk avg: 3629μs, samples: 512, min: 2719μs, max: 7584μs, meta: 0μs
load_cache avg: 3585μs, samples: 512, min: 2702μs, max: 7509μs, meta: 0μs
update_landscape_system avg: 1491μs, samples: 13, min: 618μs, max: 4913μs, meta: 5μs
update_chunk avg: 627μs, samples: 512, min: 354μs, max: 886μs, meta: 0μs
vertices_computation avg: 94μs, samples: 550, min: 2μs, max: 676μs, meta: 0μs
merge_faces avg: 8μs, samples: 101994, min: 1μs, max: 1745μs, meta: 156μs
update_world_system avg: 6μs, samples: 135, min: 2μs, max: 173μs, meta: 1μs
update_chunks_system avg: 2μs, samples: 1, min: 2μs, max: 2μs, meta: 437μs
spawn_chunks_system avg: 1μs, samples: 512, min: 1μs, max: 202μs, meta: 0μs
Reduced from 12s to 9s. Now the bottleneck is faces_occlusion
!
generate_vertices avg: 32170μs, samples: 766, min: 11605μs, max: 55936μs, meta: 5μs
faces_occlusion avg: 20084μs, samples: 766, min: 2422μs, max: 29694μs, meta: 0μs
faces_merging avg: 16485μs, samples: 550, min: 8977μs, max: 26277μs, meta: 0μs
process_batch avg: 3622μs, samples: 512, min: 2753μs, max: 5874μs, meta: 634μs
load_chunk avg: 3615μs, samples: 512, min: 2749μs, max: 5863μs, meta: 0μs
load_cache avg: 3572μs, samples: 512, min: 2732μs, max: 5762μs, meta: 0μs
update_landscape_system avg: 1464μs, samples: 10, min: 857μs, max: 2358μs, meta: 5μs
update_chunk avg: 628μs, samples: 512, min: 355μs, max: 850μs, meta: 0μs
vertices_computation avg: 90μs, samples: 550, min: 1μs, max: 535μs, meta: 0μs
spawn_chunks_system avg: 6μs, samples: 61, min: 1μs, max: 145μs, meta: 8μs
update_world_system avg: 6μs, samples: 134, min: 2μs, max: 194μs, meta: 2μs
merge_faces avg: 4μs, samples: 28644, min: 1μs, max: 490μs, meta: 311μs
update_chunks_system avg: 1μs, samples: 1, min: 1μs, max: 1μs, meta: 322μs```
I wasn't able to find any other big improvements, so we'll stick with this improvement for the time being. The performance will be better once #7 is done
Currently the mesh generation for 32³ chunks on a 8³ landscape takes 13s. This PR tries to reduces this time.