OpenSkillEval:为LLM智能体技能打造自动化审计与质量评估平台
2026/8/20 3:26:45
上千刚体场景帧率腰斩,Profiler 显示 PhysX 占 60% CPU——想定位慢在哪个阶段,必须理解 simulate 内部的任务调度结构。更实际的问题是 fetchResults 调用位置错误会导致物理状态撕裂与回调丢失。PhysX 的仿真调度是一套任务依赖图模型,理解它既是调优前提,也值得借鉴到自研系统的并行设计中。
PhysX 把一次仿真拆为四个阶段:
每个阶段拆分为多个 PxTask 节点,节点间以引用计数建立依赖,由 TaskManager 调度到 CpuDispatcher 的线程池:
// 任务依赖图构建(示意) PxTask* broadPhase = createBroadPhaseTasks(context); PxTask* narrowPhase = createNarrowPhaseTasks(context); narrowPhase->addReference(broadP