Playermodel Issue: FPS drop when moving

Hey all. Bit of a weird issue I’m having.

So I’m using this ragdoll that I converted to a playermodel. Did a few QC tweaks, hey it works perfectly animation wise.

But when I start moving in both singleplayer and multiplayer (I have a server that I can test the model on with friends), the FPS drops by about 20. Standing still or moving the mouse doesn’t change anything, just moving about is. And mind that this is per player, so 5 players counts for a 100 FPS drop. Not good obv.

I fear it’s an LOD issue, as this ragdoll doesn’t have any pre-LOD models. Plus, I’m no modeller, so editing the model isn’t going to help me out here. I might be talking out of my ass though.

Anyone know if they’ve seen this issue before? And if so, a solution? Had a search, couldn’t find anything. Much appreciated.

Post the qc please.



$cd "C:\Users\James\Desktop\suitmodel"
$modelname "agsuits/Male_07_cheap.mdl"
$body "male_02" "head_07.smd"
$body "bodywhite" "White.smd"
//Oh god
$bodygroup tiez
{
	studio "tie1.smd"
	studio "tie2.smd"
	studio "tie3.smd"
	studio "tie4.smd"
	studio "tie5.smd"
	studio "tie6.smd"
	studio "tie7.smd"
	studio "tie8.smd"
	studio "tie9.smd"
	studio "tie10.smd"
	studio "tie11.smd"
	studio "tie12.smd"
	studio "tie13.smd"
	studio "tie14.smd"
	studio "tie15.smd"
	studio "tie16.smd"
	studio "tie17.smd"
	studio "tie18.smd"
	studio "tie19.smd"
	studio "tie20.smd"
	studio "tie21.smd"
	studio "tie22.smd"
	blank
}
$cdmaterials "models\Humans\suits\"
$texturegroup skinfamilies
{
	{ "mouth.vmt" "eyeball_l.vmt" } //(for reference, paste 15 more times (inclu this one))
	{ "suit_sheet" }
	{ "suit_sheet2" }
	{ "suit_sheet3" }
	{ "suit_sheet4" }
	{ "suit_sheet5" }
	{ "suit_sheet6" }
	{ "suit_sheet7" }
	{ "suit_sheet8" }
	{ "suit_sheet9" }
	{ "suit_sheet10" }
	{ "suit_sheet11" }
	{ "suit_sheet12" }
	{ "suit_sheet13" }
	{ "suit_sheet14" }
	{ "suit_sheet15" }
	{ "suit_sheet16" }
}
$lod 30 
{
    bonetreecollapse "ValveBiped.Bip01_L_Hand"
    bonetreecollapse "ValveBiped.Bip01_R_Hand"
	nofacial
}
$hboxset "default"
$hbox 1 "ValveBiped.Bip01_Head1" -1.250  -6.500  -3.190  8.250  3.500  3.310
$hbox 4 "ValveBiped.Bip01_L_UpperArm" 0.000  -2.750  -2.750  12.510  1.750  2.250
$hbox 4 "ValveBiped.Bip01_L_Forearm" 0.000  -2.190  -2.380  13.000  1.810  1.620
$hbox 4 "ValveBiped.Bip01_L_Hand" 0.060  -2.000  -1.500  4.060  1.000  2.500
$hbox 5 "ValveBiped.Bip01_R_UpperArm" 0.000  -3.000  -2.250  12.390  2.000  2.750
$hbox 5 "ValveBiped.Bip01_R_Forearm" -0.500  -2.200  -1.550  12.500  1.800  2.450
$hbox 5 "ValveBiped.Bip01_R_Hand" 0.060  -2.000  -2.500  4.060  1.000  1.500
$hbox 6 "ValveBiped.Bip01_L_Thigh" 0.000  -3.750  -3.250  17.850  3.750  3.250
$hbox 6 "ValveBiped.Bip01_L_Calf" 0.000  -3.510  -3.280  15.640  3.490  2.720
$hbox 6 "ValveBiped.Bip01_L_Foot" -1.070  -2.000  -2.840  5.040  5.000  2.160
$hbox 6 "ValveBiped.Bip01_L_Toe0" -0.500  -3.000  -2.190  2.500  0.000  2.460
$hbox 7 "ValveBiped.Bip01_R_Thigh" 0.000  -3.750  -3.250  17.850  3.750  3.250
$hbox 7 "ValveBiped.Bip01_R_Calf" 0.000  -3.510  -2.820  15.640  3.490  3.180
$hbox 7 "ValveBiped.Bip01_R_Foot" -1.060  -2.010  -2.280  5.050  4.990  2.720
$hbox 7 "ValveBiped.Bip01_R_Toe0" -0.500  -3.000  -2.600  2.500  0.000  2.100
$hbox 3 "ValveBiped.Bip01_Pelvis" -7.500  -5.500  -6.000  7.500  8.500  5.000
$hbox 2 "ValveBiped.Bip01_Spine2" -2.500  -2.500  -7.000  14.500  7.500  7.000
// Model uses material "mouth.vmt"
// Model uses material "eyeball_l.vmt"
// Model uses material "mike_facemap.vmt"
// Model uses material "eyeball_r.vmt"
// Model uses material "tiesandties.vmt"
// Model uses material "tiesandties2.vmt"
// Model uses material "suit_sheet.vmt"
// Model uses material "arms.vmt"
// Model uses material "suit_sheet2.vmt"
// Model uses material "suit_sheet3.vmt"
// Model uses material "suit_sheet4.vmt"
// Model uses material "suit_sheet5.vmt"
// Model uses material "suit_sheet6.vmt"
// Model uses material "suit_sheet7.vmt"
// Model uses material "suit_sheet8.vmt"
// Model uses material "suit_sheet9.vmt"
// Model uses material "suit_sheet10.vmt"
// Model uses material "suit_sheet11.vmt"
// Model uses material "suit_sheet12.vmt"
// Model uses material "suit_sheet13.vmt"
// Model uses material "suit_sheet14.vmt"
// Model uses material "suit_sheet15.vmt"
// Model uses material "suit_sheet16.vmt"
$attachment "eyes" "ValveBiped.Bip01_Head1" 3.67 -4.32 -0.00 rotate -0.00 -80.10 -90.00
$attachment "mouth" "ValveBiped.Bip01_Head1" 1.00 -6.50 -0.00 rotate -0.00 -80.00 -90.00
$attachment "chest" "ValveBiped.Bip01_Spine2" 5.00 4.00 0.00 rotate 0.00 90.00 90.00
$attachment "forward" "ValveBiped.forward" 0.00 0.00 0.00 rotate 0.00 0.00 -0.00
$attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" 0.00 0.00 0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" 0.00 0.00 0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" 0.00 0.00 0.00 rotate -90.00 -90.00 0.00
$includemodel "m_anm.mdl"
$includemodel "m_gst.mdl"
$includemodel "m_pst.mdl"
$includemodel "m_shd.mdl"
$includemodel "m_ss.mdl"
$surfaceprop "flesh"
$eyeposition -0.000 -0.000 70.000
$illumposition -0.654 -0.000 36.127
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
$ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
$ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
$ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
$collisionjoints "phymodel.smd" {

	$mass 90.0
	$inertia 10.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "valvebiped.bip01_pelvis"
	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"

	$jointconstrain "valvebiped.bip01_spine2" x limit -70.00 70.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" z limit -65.00 95.00 0.00

	$jointconstrain "tie1" x limit 0.00 0.00 0.00
	$jointconstrain "tie1" y limit -100.00 100.00 0.00
	$jointconstrain "tie1" z limit 0.00 115.00 0.00

	$jointconstrain "valvebiped.bip01_l_thigh" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_thigh" y limit -55.00 90.00 0.00
	$jointconstrain "valvebiped.bip01_l_thigh" z limit -70.00 120.00 0.00

	$jointconstrain "valvebiped.bip01_l_calf" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" y limit -12.00 12.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" z limit -12.00 145.00 0.00

	$jointconstrain "tie2" x limit 0.00 0.00 0.00
	$jointconstrain "tie2" y limit -40.00 40.00 0.00
	$jointconstrain "tie2" z limit -110.00 120.00 0.00

	$jointconstrain "valvebiped.bip01_r_thigh" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_thigh" y limit -90.00 55.00 0.00
	$jointconstrain "valvebiped.bip01_r_thigh" z limit -70.00 125.00 0.00

	$jointconstrain "valvebiped.bip01_r_calf" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" y limit -12.00 12.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" z limit -12.00 145.00 0.00

	$jointconstrain "valvebiped.bip01_r_foot" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_foot" y limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_foot" z limit -55.00 35.00 0.00

	$jointconstrain "valvebiped.bip01_l_clavicle" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_clavicle" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_clavicle" z limit 0.00 0.00 0.00

	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -115.00 150.00 0.00
	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -135.00 135.00 0.00

	$jointconstrain "valvebiped.bip01_l_forearm" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" z limit -140.00 30.00 0.00

	$jointconstrain "valvebiped.bip01_l_hand" x limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_l_hand" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_l_hand" z limit -70.00 70.00 0.00

	$jointconstrain "valvebiped.bip01_r_clavicle" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_clavicle" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_clavicle" z limit 0.00 0.00 0.00

	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -150.00 115.00 0.00
	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -135.00 135.00 0.00

	$jointconstrain "valvebiped.bip01_r_forearm" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" z limit -140.00 30.00 0.00

	$jointconstrain "valvebiped.bip01_r_hand" x limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_r_hand" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_r_hand" z limit -70.00 70.00 0.00

	$jointconstrain "valvebiped.bip01_head1" x limit -70.00 70.00 0.00
	$jointconstrain "valvebiped.bip01_head1" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_head1" z limit -65.00 40.00 0.00

	$jointconstrain "tie3" x limit 0.00 0.00 0.00
	$jointconstrain "tie3" y limit -40.00 40.00 0.00
	$jointconstrain "tie3" z limit -110.00 120.00 0.00

	$jointconstrain "valvebiped.bip01_l_foot" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_foot" y limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_foot" z limit -55.00 35.00 0.00
	$animatedfriction 1.000 400.000 0.500 0.000 0.300
}


I’ve tried:

  • Removing the bodygroups that I implemented.
  • Removing all the skins that I implemented.
  • Changing the 3rd and 4th lines from $model to $body


$body "male_02" "head_07.smd"
$body "bodywhite" "White.smd"


  • Removing the extra animation $includemodel parts:


$includemodel "m_gst.mdl"
$includemodel "m_pst.mdl"
$includemodel "m_shd.mdl"
$includemodel "m_ss.mdl"


I’m at a loss. But I did also receive this in my compiling console:


WARNING: @ragdoll : bounding box out of range : -7 -9 -31414 : 60 50530 60

Not sure if that means anything. Pretty miffed off that it works fine, but the performance is crap. If I need to download a modelling program, could someone give me a small tut on how to do the optimisations?

Bump. Anyone? :frowning:

If there’s a certain rule that states a time between bumps, I’m unaware of it, and apologise in advance.

I’ve never messed with those models before, but aren’t the ties weighed independently from the valvebiped?

The issue could be the ties are going batshit when they’re moving and its causing a massive amount of collision errors which could cause issues with your FPS.

Could be… Any suggestion on how to remove those collisions?

Trying to use Blender and well… I’m not really fond of it at the moment but I can understand why people like it. lol

Another bump (last one if this isn’t answered. Promise)? :<