Add high-FPS render pacing and telemetry
Some checks failed
build / Windows Build (push) Has been cancelled

This commit is contained in:
server
2026-04-16 10:37:08 +02:00
parent 49e8eac809
commit bfe52a81f9
15 changed files with 1402 additions and 233 deletions

View File

@@ -358,6 +358,34 @@ struct FCharacterManagerCharacterInstanceDeform
//pInstance->Update();
}
};
struct FCharacterManagerCharacterInstanceApplyRenderInterpolation
{
explicit FCharacterManagerCharacterInstanceApplyRenderInterpolation(float fInterpolation)
: m_fInterpolation(fInterpolation)
{
}
inline void operator () (const std::pair<DWORD, CInstanceBase*>& cr_Pair)
{
cr_Pair.second->ApplyRenderInterpolation(m_fInterpolation);
}
float m_fInterpolation;
};
struct FCharacterManagerCharacterInstanceListApplyRenderInterpolation
{
explicit FCharacterManagerCharacterInstanceListApplyRenderInterpolation(float fInterpolation)
: m_fInterpolation(fInterpolation)
{
}
inline void operator () (CInstanceBase* pInstance)
{
pInstance->ApplyRenderInterpolation(m_fInterpolation);
}
float m_fInterpolation;
};
struct FCharacterManagerCharacterInstanceListDeform
{
inline void operator () (CInstanceBase * pInstance)
@@ -366,6 +394,12 @@ struct FCharacterManagerCharacterInstanceListDeform
}
};
void CPythonCharacterManager::ApplyRenderInterpolation(float fInterpolation)
{
std::for_each(m_kAliveInstMap.begin(), m_kAliveInstMap.end(), FCharacterManagerCharacterInstanceApplyRenderInterpolation(fInterpolation));
std::for_each(m_kDeadInstList.begin(), m_kDeadInstList.end(), FCharacterManagerCharacterInstanceListApplyRenderInterpolation(fInterpolation));
}
void CPythonCharacterManager::Deform()
{
std::for_each(m_kAliveInstMap.begin(), m_kAliveInstMap.end(), FCharacterManagerCharacterInstanceDeform());