[<<] [<] Page 1 of 1 [>] [>>] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
Blocking mode operation for Microwindows/Win32 API
From: "KIM,KYOUNG-IL (HP-Cupertino,ex1)" ####@####.#### Date: 29 Jun 2001 18:56:09 -0000 Message-Id: <4341EF5F8B4AD311AB4B00902740B9F208952F7D@xcup02.cup.hp.com> Hi, Microwindow/Win32 API keeps polling for keypad and touch pad(mouse) scanning and for peeking messages. This is not good for battery powered device like PAD. I'm trying to change this polling mode operation to Blocking mode. To do this I modified select() of MwSelect()(in winmain.c) to blocking mode. But it prevents for WM_PAINT(and more(?)) message from being processed because program stops at MwSelect() which is in the middle of PeekMessage() and PeekMessage() function won't be returned. Dose anybody have any idea ? Kyoung | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
Re: Blocking mode operation for Microwindows/Win32 API
From: "Greg Haerr" ####@####.#### Date: 3 Jul 2001 06:38:32 -0000 Message-Id: <01de01c1038a$6b4a82e0$3aba46a6@xmission.com> : Microwindow/Win32 API keeps polling for keypad and touch pad(mouse) scanning : and : for peeking messages. This is not good for battery powered device like PAD. : : I'm trying to change this polling mode operation to Blocking mode. : To do this I modified select() of MwSelect()(in winmain.c) to blocking mode. : But it prevents for WM_PAINT(and more(?)) message from being processed : because : program stops at MwSelect() which is in the middle of PeekMessage() and : PeekMessage() : function won't be returned. I have looked briefly into this. The Win32 API should not be polling continuously when not processing PeekMessage. Yes, there is some trick code that post-processes the WM_PAINT messages during GetMessage(), but this should stop when there are no internal messages to process, and select() hangs. However, if you compile with VTSWITCH=Y, then Microwindows sets up a timer that could be firing in order to process the VT switch requests. I suggest recompiling Microwindows without this option and seeing whether this behaviour continues. Let me know and I'll continue to look into this bug. Regards, Greg | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
RE: Blocking mode operation for Microwindows/Win32 API
From: "KIM,KYOUNG-IL (HP-Cupertino,ex1)" ####@####.#### Date: 3 Jul 2001 22:20:37 -0000 Message-Id: <4341EF5F8B4AD311AB4B00902740B9F208952F80@xcup02.cup.hp.com> Hi Greg, Microwindows keeps polling even if VT_SWITCH=N. Regardless of VT_SWITCH, uWin will set 10msec timer for select(). Regards, Kyoung -----Original Message----- From: Greg Haerr ####@####.#### Sent: Monday, July 02, 2001 11:36 PM To: KIM,KYOUNG-IL (HP-Cupertino,ex1); ####@####.#### Cc: KIM,KYOUNG-IL (HP-Cupertino,ex1) Subject: Re: Blocking mode operation for Microwindows/Win32 API : Microwindow/Win32 API keeps polling for keypad and touch pad(mouse) scanning : and : for peeking messages. This is not good for battery powered device like PAD. : : I'm trying to change this polling mode operation to Blocking mode. : To do this I modified select() of MwSelect()(in winmain.c) to blocking mode. : But it prevents for WM_PAINT(and more(?)) message from being processed : because : program stops at MwSelect() which is in the middle of PeekMessage() and : PeekMessage() : function won't be returned. I have looked briefly into this. The Win32 API should not be polling continuously when not processing PeekMessage. Yes, there is some trick code that post-processes the WM_PAINT messages during GetMessage(), but this should stop when there are no internal messages to process, and select() hangs. However, if you compile with VTSWITCH=Y, then Microwindows sets up a timer that could be firing in order to process the VT switch requests. I suggest recompiling Microwindows without this option and seeing whether this behaviour continues. Let me know and I'll continue to look into this bug. Regards, Greg | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[<<] [<] Page 1 of 1 [>] [>>] |