It is indeed mainly based on Transforms rather than checking collision points.
This is because the hotspot is on the requesting Unity component
Due to the problem of data structure, some processing and conversion costs are required.
Did not see the official distance and cache for physbone to avoid repeated requests
Although I said cache, the main problem is not the locality of the data, but the large workload derived after the request.
This is because the implementation of components is essentially list and tree, with dense branches and load and store instructions, and the IPC is not high.
Be careful not to compare lists etc. in C#, because it is actually an array.
Due to the specific implementation of the instruction, this kind of related work is almost good if the IPC can be maintained at around 1. Secondly, these components do not use job, although the physbones use job.
This leads to bottlenecks that cannot be simply counted in PB.
It also leads to a lot of bone-related work, high frequency and better IPC, especially for the critical path to make the hit cycle shorter, and the architecture with a large cache cannot improve much IPC.
Therefore, the official must effectively increase the degree of parallelization, or provide more mechanisms and methods to save workload.
But this openbeta is a bit disappointing to me, just one more 256 limit?
In addition to the displayed bones will not move, the bones on itself are still all moving?
Can the official explain why more than 256 still incurs a large amount of overhead?
What exactly is optimized?