Hi,
I have a question for regular testers under windows. I have recently tried more testing under windows, and I've found that EXchess gets flagged more often than I imaged in fast games (blitz).
My normal development environment for EXchess is linux, and under linux, I never have a time flag issue... EXchess plays thousands of fast games at 0:06 + 0.1 per move (or sometimes even faster) without any problems, but under windows I sometimes even have problems with time controls in the minute range.
I recently added some timing code to EXchess to measure the lag (how much time EXchess thinks it uses vs. how much time is reported back by the GUI). Typical difference under linux is somewhere between 0 and 5 centi-seconds per move, with 0 being the most common. Under Windows, the difference is larger, up to 10-20 centi-seconds per move on average in some games. Because EXchess is very aggressive in its time usage, this lag causes EXchess to flag more often than I like in blitz style games.
So a couple questions to testers:
(1) Is there anything special you do in your configuration in Windows to help minimize lag or account for it? I am not very familiar with modern windows, so it is possible I have something running I should not.
(2) ChessGUI has the possibility of an overstep time to allow engines. Do you typically use this? If so, what is a typical setting? I have made a lot of progress in measuring and trying to account for the lag during play, but EXchess is still sometimes flagging on the last move before time control. A small overstep margin would prevent this, but I am uncertain if people actually use that.
Thanks!
- Dan
Testing Question, interface lags
Moderators: hgm, Rebel, chrisw
-
- Posts: 171
- Joined: Wed Dec 28, 2011 8:44 pm
- Location: United States
-
- Posts: 41455
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Testing Question, interface lags
I use 5000 milliseconds and I'm pretty sure that Martin does for TCEC as well.dchoman wrote:ChessGUI has the possibility of an overstep time to allow engines. Do you typically use this? If so, what is a typical setting? I have made a lot of progress in measuring and trying to account for the lag during play, but EXchess is still sometimes flagging on the last move before time control. A small overstep margin would prevent this, but I am uncertain if people actually use that.
gbanksnz at gmail.com
-
- Posts: 3550
- Joined: Thu Jun 07, 2012 11:02 pm
Re: Testing Question, interface lags
Some GUIs seem to handle this situation better than others. What GUI are you using in Linux ? Is it command line like cutechess ?
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Testing Question, interface lags
Depends on the UI you are using. Clearly, when you are doing parrallel testing at hyper fast tc like 6"+0.1", you should forget the GUI. Use cutechess-cli of LittleBlitzer instead.dchoman wrote:Hi,
I have a question for regular testers under windows. I have recently tried more testing under windows, and I've found that EXchess gets flagged more often than I imaged in fast games (blitz).
My normal development environment for EXchess is linux, and under linux, I never have a time flag issue... EXchess plays thousands of fast games at 0:06 + 0.1 per move (or sometimes even faster) without any problems, but under windows I sometimes even have problems with time controls in the minute range.
I recently added some timing code to EXchess to measure the lag (how much time EXchess thinks it uses vs. how much time is reported back by the GUI). Typical difference under linux is somewhere between 0 and 5 centi-seconds per move, with 0 being the most common. Under Windows, the difference is larger, up to 10-20 centi-seconds per move on average in some games. Because EXchess is very aggressive in its time usage, this lag causes EXchess to flag more often than I like in blitz style games.
So a couple questions to testers:
(1) Is there anything special you do in your configuration in Windows to help minimize lag or account for it? I am not very familiar with modern windows, so it is possible I have something running I should not.
(2) ChessGUI has the possibility of an overstep time to allow engines. Do you typically use this? If so, what is a typical setting? I have made a lot of progress in measuring and trying to account for the lag during play, but EXchess is still sometimes flagging on the last move before time control. A small overstep margin would prevent this, but I am uncertain if people actually use that.
Thanks!
- Dan
The problem with Windows, is that time measurement typically uses the Windows API GetTickCount(). IIRC, this API is utter crap, and has a time resolution os 16 msec. This may sound very acceptable to the usual tester (long TC), but engine developpers need to use ultra fast tc, at which 16msec lag is simply unacceptable.
There must be a way to code around GetTickCount(). Perhaps recent versions of Windows have a better API. It's all about the UI: does your UI use GetTickCount() ?
Also, Windows is notoriously slower, and not as reliable as Linux, under heavy system load, for a million of reasons. Why do you want to use Windows for testing ? You can always go for a dual boot solution and have both Linux and Windows, if you need Windows for certain things (for which Wine is not good enough).
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
-
- Posts: 171
- Joined: Wed Dec 28, 2011 8:44 pm
- Location: United States
Re: Testing Question, interface lags
Of course, linux is my development environment for the reasons you mention. 99% of my games are played there. But it can be useful to test under a variety of conditions and environment.
- Dan
- Dan
-
- Posts: 171
- Joined: Wed Dec 28, 2011 8:44 pm
- Location: United States
Re: Testing Question, interface lags
Mostly cutechess on the command line, but also xboard. The tiny lags I mentioned in linux were measured under xboard, and I assume cutechess would be even less.Modern Times wrote:Some GUIs seem to handle this situation better than others. What GUI are you using in Linux ? Is it command line like cutechess ?
- Dan
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: Testing Question, interface lags
Hi Lucas-lucasart wrote:
The problem with Windows, is that time measurement typically uses the Windows API GetTickCount(). IIRC, this API is utter crap, and has a time resolution os 16 msec. This may sound very acceptable to the usual tester (long TC), but engine developpers need to use ultra fast tc, at which 16msec lag is simply unacceptable.
There must be a way to code around GetTickCount(). Perhaps recent versions of Windows have a better API. It's all about the UI: does your UI use GetTickCount() ?
Also, Windows is notoriously slower, and not as reliable as Linux, under heavy system load, for a million of reasons. Why do you want to use Windows for testing ? You can always go for a dual boot solution and have both Linux and Windows, if you need Windows for certain things (for which Wine is not good enough).
In Robbolito 0.085g3 we used 'winmm.lib', this was a big improvement
here's info i posted about it on open-chess.org a few years ago:
http://www.open-chess.org/viewtopic.php ... 915#p14915
Norm
-
- Posts: 171
- Joined: Wed Dec 28, 2011 8:44 pm
- Location: United States
Re: Testing Question, interface lags
Thanks, Graham! That should be plenty, and if that is typically what people use, then I don't have a problem at all. I still want to account for the lag during play for blitz games (< a few minutes per game) to be sure available time is being allocated reasonably, and my development version of EXchess now does that. But I was struggling with the final few moves before TC in fixed TC games (XX moves in YY minutes), and a reasonable overstep in the GUI solves that for me.Graham Banks wrote:I use 5000 milliseconds and I'm pretty sure that Martin does for TCEC as well.dchoman wrote:ChessGUI has the possibility of an overstep time to allow engines. Do you typically use this? If so, what is a typical setting? I have made a lot of progress in measuring and trying to account for the lag during play, but EXchess is still sometimes flagging on the last move before time control. A small overstep margin would prevent this, but I am uncertain if people actually use that.