Author: Mathieu Pagé
Date: 08:58:00 08/26/03
Go up one level in this thread
On August 26, 2003 at 08:20:27, dominique LONGBIEN wrote:
>On August 26, 2003 at 08:08:19, Anthony Cozzie wrote:
>
>>On August 26, 2003 at 07:34:42, dominique LONGBIEN wrote:
>>
>>>Hi there
>>>Is any body use an interruption (i.e. every 200ms) to look at the input buffer
>>>to know if a message from winboard or arena is present ?
>>>If yes, how should i declare this interrupt in C++ for windows ?
>>>Is it a good idea ?
>>>
>>>Thank for any help
>>>
>>>Dominique (adam)
>>
>>There are two usual approaches:
>>
>>Crafty does something like:
>>
>>if(nodes % 10000 == 0 && check_for_input())
>> process_input();
>>
>>Zappa sets up a few threads and has one block on fgets. Crafty's is definitely
>>easier, but I think Zappa's is cleaner. YMMV.
>>
>>anthony
>Thank you. I currently use the same methode as crafty but it is processor speed
>depandent, I am looking for a time based method.
I use a similar thechnique to return informations to the UI every 1 second here
is some pseudo-code:
int nps;
int NodesToNextLap;
void myfunct()
{
NodesToNextLap = 10000; //something small that will be far less than a second
While(someconditions)
{
if (NodesToNextLap == 0)
{
/* We do something that will only happen every 200 ms */
/* Check for input in your case */
/* We get the new nps based on nodes visited and time elapsed */
nps = GetNPS();
/* we calculate how many nodes we will visite in the next 0.2 seconds */
/* this is an estimate of course */
NodesToNextLap = 0.2 * nps;
}
else
{
NodesToNextLap--;
}
}
}
Hope it helps
Mahtieu Pagé
pagemathieu@hotmail.com
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.