Re: [AD] Add timeBeginPeriod(1) to wtimer.c

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I have tried that. The documentation says that each call to timeBeginPeriod
has to be matched by a call to timeEndPeriod, so that#s why I have also
called that function. If I leave that out, the timeBeginPeriod(1) remains
active, which causes some overall slowdown of the whole program (as
mentioned in the forum). 

> 
> timeBeginPeriod only needs to be called once for the whole process.
> not each time rest is called.
> 
> 
> 
> > Hi all,
> >
> > as already discussed in the forum, I would propose to change the current
> > implementation of tim_win32_rest in wtimer.c to the following:
> >
> > [code]
> > /* tim_win32_rest:
> >  *  Rests the specified amount of milliseconds.
> >  */
> > static void tim_win32_rest(unsigned int time, AL_METHOD(void, callback,
> > (void)))
> > {
> >    unsigned int start;
> >    unsigned int ms = time;
> >
> >    const MMRESULT rc = timeBeginPeriod(1);
> >    if (callback) {
> >       start = timeGetTime();
> >       while (timeGetTime() - start < ms)
> >          (*callback)();
> >    }
> >    else {
> >       Sleep(ms);
> >    }
> >    if( rc == TIMERR_NOERROR )
> >      timeEndPeriod(1);
> > }
> > [/code]
> >
> > The new lines are the call to timeBeginPeriod(1); and the 
> > correcponding call
> > to timeEndPeriod(1); in case the first call was successful.
> >
> > This affects only windows, and increases the accuracy of calls to 
> > rest(n).
> >
> > For the discussions, refer to the following threads:
> >
> > http://www.allegro.cc/forums/view_thread.php?_id=456146
> > http://www.allegro.cc/forums/view_thread.php?_id=453116
> >
> > As this is my very first contribution, please forgive if anything is 
> > not in
> > the right format or otherwise unexpected.
> >
> > Thanks for consideration!
> >
> > Best regards Tobias
> >
> > -- 
> > http://www.staedtebauen.de <http://www.staedtebauen.de/>
> >
> >
> > -------------------------------------------------------
> > SF email is sponsored by - The IT Product Guide
> > Read honest & candid reviews on hundreds of IT Products from real users.
> > Discover which products truly live up to the hype. Start reading now.
> > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click 
> > <http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click>
> > -- 
> > https://lists.sourceforge.net/lists/listinfo/alleg-developers 
> 
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> -- 
> https://lists.sourceforge.net/lists/listinfo/alleg-developers
> 




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/