cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
阅读:1745回复:3

驱动设置事件太快应用来不及响应怎么处理

楼主#
更多 发布于:2012-05-28 15:40
           就是很简单的驱动中用KeSetEvent()通知应用,在应用中用waitforsingleobject()等到事件后resetevent(),发现当驱动发事件的频率太快以后,应用有可能收不到,比如驱动一共发了10000次,在应用程序里可能只收到9000次,有没有人遇到过这种问题,有什么好的处理方法,或者可以用别的什么机制在驱动和应用之间传递通知,谢谢!
sky
w52770567
驱动牛犊
驱动牛犊
  • 注册日期2007-04-13
  • 最后登录2012-05-30
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-05-30 17:27
顶一下
ablha
驱动牛犊
驱动牛犊
  • 注册日期2004-02-16
  • 最后登录2012-05-31
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-05-31 15:12
我觉得驱动向应用程序发事件的频率本来就不应该太快,比如超过10k次/秒,否则会影响系统的性能。

可以在驱动里将事件合并起来再发送,比如每100次同类事件的数据,合并在一起,然后给应用程序发一次事件。
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
地板#
发布于:2012-05-31 17:12
我已经做过合并了,但事件的速度跟数据的速度有关系,比如我现在速度是1000次/秒,可能数据速度提高十倍后就成10000次/秒了,我估算了一下我的应用事件的速度有可能超过10000次/秒
sky
游客

返回顶部