Commit Graph

5 Commits

Author SHA1 Message Date
Lorenz Junglas
08c4ae6d73 Animgraph pose node optimizations (#3646)
* AddPoseOperation skip work when added transform is equal to identity

* SubtractPoseOperation skip work when added transform is equal to identity

* Fast path for BlendUpdateNode when weights are 1

Don't emit expensive pose op just forward the pose with weight 1

* Fast path for Blend2DUpdateNode when weights are 1

Don't emit expensive pose op just forward the pose with weight 1

* Avoid allocation of Actions in MergeDescendants
2025-12-22 07:09:45 +00:00
Lorenz Junglas
bf8a22f40b Avoid allocations in MergeDescendants by using recursion instead of yield return (#3644)
yield return creates a lot of garbage and is easily avoidable here, by using recusing instead.
2025-12-19 12:12:51 +01:00
Lorenz Junglas
4a050a9ab9 Animation optimizations v3 (#3635)
* Cleanup SkinnedModelRendererSetBoneMerge

* Proper bookkeeping for SkinnedModelRenderer Hierarchy

* Use ConcurrentQueue instead of Channel to reduce lock contention

* Limit animation update parallelism to Environment.ProcessorCount - 1

* BoneMerge in parallel

* Speed up native anim decompression using (lock-free) LRU posecache

* Remove some unused debug counters
2025-12-18 17:02:20 +01:00
sboxbot
ac7f12719b SceneModel changes (#3559)
* Expose GetBoneVelocity
* Document SceneModel.Bones, expose HasBoneOverrides
* Fix spelling
* GetBoneVelocity( int ), fix GetBoneVelocities assert

---------

Co-authored-by: yuberee <59583743+yuberee@users.noreply.github.com>
2025-12-07 10:26:48 +00:00
s&box team
71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00