Tag: #performance (14) Clear filter ×

1 story

Artemking4 finds why bone 0 breaks IMesh:DrawSkinned

Artemking4 found the root cause of the bone 0 problem in IMesh:DrawSkinned: in shaderapidx8.cpp, bone 0 is also loaded as the model matrix, so rendering breaks unless it is reset afterwards. Wrapping the call in cam.PushModelMatrix and the matching pop fixes it, and he asks for bone 0 to be exposed.

Details

Without bone 0, player and NPC models that use all 53 bones have to be split into two draw calls, which hurts performance. The issue includes screenshots and a spiral test script. It follows his earlier argument with Rubat in #next-update about whether DrawSkinned should allow bone 0.

1 story

2 stories

2 stories

1 story

Barnacle regression fixed, 3 bone weights for meshes, math_counter outputs, Autorefresh rework

Commit 280e7a on main fixes regressions in entity search (including Barnacles), allows three bone weights for procedural meshes, adds OnChangedFromMin/Max to math_counter and substantially changes Autorefresh error handling.

Details
  • Separate Linux client and SRCDS build scripts
  • Classname added to the CUtlRBTree overflow message
  • Fixed some regressions with entity search, including Barnacles
  • ErrorFromLua renamed to ErrorNoHaltStack; added CLuaInterface::FormatError
  • mesh.BoneData can be called with index 2 (weight ignored); Mesh() allows 3 bone weights and Mesh:BuildFromTriangles reads up to 3
  • Two new PhysFrame sub scopes: PhysFrame-CPhysicsEnvironment::Simulate and PhysFrame-VPhysicsShadowUpdate
  • math_counter gains OnChangedFromMin/OnChangedFromMax outputs and SetMaxValueNoFire/SetMinValueNoFire inputs
  • Improved Autorefresh error handling; fixed a memory leak with Windows auto refresh and symlinks ("hopefully without regressions, as the system was changed somewhat substantially")

3 stories

Max PVS networking range: CheckTransmit approach suggested

wrefgtzweve suggested that a per-player max networking range could be done by checking distance in CServerGameEnts::CheckTransmit before IsInPVS.

Details

In #next-update, Redox asked Rubat for it before the next update, saying it allows a big client FPS and server tick boost; Astralcircle said his server already uses a PVS-culling client fog and called it a lifesaver for open maps. Nykez asked how it plays with pop-in.

1 story

1 story

1 story

1 story