第50章 进度飙升(第3页)
这天晚上,为了解决一个关于图形层与硬件加速驱动协同工作的难题,三人又争论了起来。
“我觉得应该把硬件加速的调用封装得更底层一些,让上层应用无感知,这样兼容性最好。”
刘健坚持道。
“但这样会损失性能!
很多应用场景需要直接控制硬件加速来达到极致流畅度!”
李悦反驳。
赵成皱着眉头,试图调和:“能不能设计成两种模式?一种自动兼容,一种高性能模式由应用选择?”
就在这时,一直在旁边默默听着的许乐,看着白板上纠缠的线条,忽然开口道:“其实我们可以借鉴一下微内核架构的思想。”
他走到白板前,擦掉一部分,重新画了起来:“我们把最内核的、与硬件直接交互的图形驱动和加速管理,做成一个独立的、高优先级的系统服务。
然后,设计一套高效的消息传递机制。
窗口管理器和应用,通过发送消息来请求图形操作。
这个系统服务接收到消息后,统一调度硬件资源来执行。”
他详细解释道:“这样做,既保证了硬件访问的安全性和统一调度,又能通过优化消息传递机制来保证性能。
上层应用感觉象是在直接调用,但实际上是通过高效的消息中间层。
我们可以把这个消息机制做得足够快,快到底层差异可以忽略不计。”
赵成眼睛一亮:“对啊!
这样既隔离了差异,保证了稳定和安全,又通过优化通信机制保证了性能!
这个思路好!”
刘健也恍然大悟:“把复杂的硬件差异隐藏在系统服务内部,对外提供既统一又高效的接口,妙啊。”
李悦兴奋地开始在白板上补充细节:“消息格式可以这样设计……传递机制可以用共享内存加信号量……”
图形子系统最内核的架构难题,在许乐的引导下,找到了适合的解决方案。
本章未完,点击下一页继续阅读