Clientside FPS - Is SetupBones still being called for invisible player models?

I have implemented a PrePlayerDraw hook to help clientside FPS as my servers map is pretty small and players group up in an area. My player models don’t make too much use of LOD and it seems even when a player isn’t being drawn, that FPS gains are very small.

[lua]local PlayerDrawDistance = 6000 ^ 2
function GM:PrePlayerDraw( pPlayer )
local LocalPlayer = LocalPlayer()
if LocalPlayer == pPlayer then return false end

return pPlayer:GetPos():DistToSqr( LocalPlayer:GetPos() ) > PlayerDrawDistance


Could it be the client is still drawing/calling SetupBones while they’re invisible?


You cannot stop SetupBones from being called without marking the player as dormant. This is for prediction reasons since hitboxes are attached to bones, which are used for TraceRay and TestHitbox calls.