一个任务调度算法引起的性能问题
💡
原文中文,约3300字,阅读约需8分钟。
📝
内容提要
本文探讨了游戏客户端和服务器使用的不同框架,发现ltask在多任务系统下统计时间的函数存在问题,作者通过修改工作线程的休息策略来节省手机电池,但未解决服务对调工作线程的问题。
🎯
关键要点
- 游戏客户端和服务器使用的框架不同,ltask在多任务系统下存在统计时间的缺陷。
- ltask通过修改工作线程的休息策略来节省手机电池,但未解决服务对调工作线程的问题。
- ltask设计中限制了消息接收队列的长度,使用全局唯一的调度器操作来减少竞争。
- 调度器的工作与工作线程本身的工作无关,确保了并发流畅性。
- 主业务服务和特效服务的调度问题导致了性能瓶颈,影响了帧率。
- 尝试通过锁定工作线程和调整任务分配来解决调度问题,但未成功。
- 最终通过调整工作线程的休息策略来优化性能,尽管未完全解决服务对调工作线程的问题。
➡️