为什么几乎所有的GUI界面都采用事件驱动编程模型?

为了解耦合,使显示与逻辑分离。

我觉得是因为一般GUI的用户输入频率比较低,如果每个部分不停做轮询去获取用户输入,浪费时间

又可能比较难处理。而事件处理则是由中央的系统把输入事件派送给需要的部分。

桌面上,最广为人知的消息循环恐怕就是Windows了,WinMain 方法都是一个死循环,不断的读取并处理Windows消息,大家都玩过你懂的。(派发给窗体)

个人理解是 UI 框架面临的核心问题是 UI 更新流畅度和对输入响应的速度。前者是 UI 更新的帧率和 每帧的 timing (尤其是 UI 动画)决定的, 后者是由从用户输入到完成 UI 更新的延迟决定的。这 要求 UI 框架对应用的运行拥有最大限度的控制权,以准确的把握每个帧的渲染时机。


作者:安江泽
链接:https://www.zhihu.com/question/26805116/answer/146517742
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自www.cnblogs.com/feng9exe/p/12275084.html