一个任务调度算法引起的性能问题

💡 原文中文,约3300字,阅读约需8分钟。
📝

内容提要

本文探讨了游戏客户端和服务器使用的不同框架,发现ltask在多任务系统下统计时间的函数存在问题,作者通过修改工作线程的休息策略来节省手机电池,但未解决服务对调工作线程的问题。

🎯

关键要点

  • 游戏客户端和服务器使用的框架不同,ltask在多任务系统下存在统计时间的缺陷。
  • ltask通过修改工作线程的休息策略来节省手机电池,但未解决服务对调工作线程的问题。
  • ltask设计中限制了消息接收队列的长度,使用全局唯一的调度器操作来减少竞争。
  • 调度器的工作与工作线程本身的工作无关,确保了并发流畅性。
  • 主业务服务和特效服务的调度问题导致了性能瓶颈,影响了帧率。
  • 尝试通过锁定工作线程和调整任务分配来解决调度问题,但未成功。
  • 最终通过调整工作线程的休息策略来优化性能,尽管未完全解决服务对调工作线程的问题。
➡️

继续阅读