界面按钮/滑动条等控件响应迟钝.

问题描述:
xEyeInterface.dll界面模块, 放在win32程序里面,界面运行起来以后,操作有一卡一卡的感觉.
但是,这个模块放在mfc exe测试程序里面,不卡.

分析:
界面卡,可能和消息处理消息分派不及时有关系.
和win32/MFC有无关系呢?

解决:
引擎主线程的流程是win32的游戏模式流程,
while(1)
if(PeekMessage() )
{
  Dispatch.....
}
eles
{
   检测鉴权/USB等各个模块运行状态
   主线程逻辑

}

看起来, 每处理一个消息, 至少要跑一次主线程逻辑. 如果主线程逻辑卡主了, 那么界面消息就派发的不及时了.
经检查果然, 主线程逻辑里面有一个 SendMessage()刷新托盘图标. SendMessage是当把消息处理完之后才返回的.所以比较费时.
 当把这个语句搞掉之后, 就OK了.
后来改为, 当每当usb状态改变的时候,才刷新. 不必每帧都刷新.

你可能感兴趣的:(游戏,测试,mfc,exe,引擎)