多线程渲染解决方案分享Frankan(安柏霖)多线程渲染背景多线程渲染在PC机尤其是console上面的多核心(主要是2核)普及之后的标配做法主线程做第n+1帧的更新渲染线程渲染第n帧更好的利用了多核计算,比单线程有%60到%80的性能提升TheFuture:mandbuffer(dx11以及console)3多线程的邪恶初期给你一个甜枣,后期猛扇耳光简单实现比较容易性能提升很明显:渲染和逻辑cpu端耗时相当的情况下,开多线程之后性能会提升:%60+但是在长期的开发之后,缺乏整理重构的情况下,各种凌乱,bug多且难查原因:让工程变得更大更复杂增加数据和计算模型的规模和复杂度“puterprogramming”—Kernighan在大型项目里尤其凸显问题重现率低导致debug效率低高重现率的问题都不是问题解决:mand根据实际情况可以进行灵活的扩展DoubleBuffer每一个object里面两套数据每帧两套数据角色互换用FrameIndex来区分主线程和渲染线程该使用哪一个SourcemPositionClonemPositionSourcemPositionClonemPosition主线程渲染线程主线程渲染线程第n帧第n+1帧9DoubleBuffer[+]实现简单[+]效率—比较好内存消耗大,内存效率-相对RingBuffer减少插入删除,效率+[-]内存消耗大—死穴10
主线程渲染线程主线程渲染线程 来自淘豆网m.daumloan.com转载请标明出处.