码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-02-08 00:41:39      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:最大限度   联系   answer   最大   授权   了解   编程   循环   部分   

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

 

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

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

 

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

 

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


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

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

标签:最大限度   联系   answer   最大   授权   了解   编程   循环   部分   

原文地址:https://www.cnblogs.com/feng9exe/p/12275084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!