Am Mittwoch, 2. Mai 2007 schrieb [EMAIL PROTECTED]:
> On Wed, 02 May 2007 14:51:17 -0400 Dennis Schridde
>
> <[EMAIL PROTECTED]> wrote:
> >Am Mittwoch, 2. Mai 2007 schrieb Giel van Schijndel:
> >> Dennis Schridde schreef:
> >> > Am Mittwoch, 2. Mai 2007 schrieb Giel van Schijndel:
> >> >> Dennis Schridde schreef:
> >> >>> Am Mittwoch, 2. Mai 2007 schrieb [EMAIL PROTECTED]:
> >> >>>> Why was this removed?
> >> >>>>
> >> >>>> "     SDL_Delay(20);  //Added to prevent busy loop, and get CPU
> >
> >time
> >
> >> >>>> back when paused! "
> >> >>>>
> >> >>>> WZ eats all CPU time now, even when paused?
> >> >>>
> >> >>> Of course not...
> >> >>> We still have the SDL_framerateDelay...
> >> >>
> >> >> Which does not call SDL_Delay if we don't reach our requested
> >
> >frame
> >
> >> >> rate, and that in turn results in CPU hogging. Apart from
> >
> >that I believe
> >
> >> >> that SDL_framerateDelay doesn't get called in the menus. So I
> >
> >think we
> >
> >> >> at least need an explicit SDL_Delay(1) call, maybe only if
> >> >> SDL_framerateDelay didn't call SDL_Delay.
> >> >
> >> > I didn't recognize any sideeffects, but it might be possible
> >
> >that we now
> >
> >> > eat the CPU in the menu or on slow computers. Maybe we should
> >
> >setup a
> >
> >> > minimum-delay for sdl-framerate.
> >> > SDL_Delay(1) wont work as expected afaik, since the minimum
> >
> >tick
> >
> >> > precission guaranteed by SDL is 10ms.
> >>
> >> Almost correct, that is the precision of the kernel's CPU
> >
> >scheduler
> >
> >> although I believe most Linux versions 2.6 have a time slice of
> >
> >1 msec.
> >
> >> Apart from that an SDL_Delay(1) call is just an explicit call to
> >
> >yield
> >
> >> the current process so the kernel can use the remaining CPU time
> >
> >and
> >
> >> divide it among other processes.
> >>
> >> Also SDL_Delay guarantees nothing about the amount of time that
> >
> >will be
> >
> >> waited, only that it will be "at least" the time you specify. So
> >
> >a call
> >
> >> like SDL_Delay(20) could very well result in losing CPU for 750
> >
> >ms (if
> >
> >> the OS's scheduler decided so).
> >
> >Doesn't the scheduler distribute CPU time between all applications
> >anyway?
> >I don't think we can force it to give us all the CPU.
> >Currently we only request as much as to keep a certain framerate.
> >Which hits
> >the limits on slow PCs, what I don't think is bad (since why would
> >we like to
> >drop the fps even more).
> >The only reason we inserted the delay originaly, was because eg.
> >laptop users
> >don't need 100fps, but would like to keep their CPU idle instead.
> >They can
> >lower the framerate down to 1fps if they want, and that will be
> >exactly what
> >they get. No more, maybe less.
> >
> >So currently the real only issue is that there is no delay in the
> >mainmenu.
>
> So then why remove it?  It did not hurt anything correct?
I have the strong (subjective) feeling that it is far more responsive now.
If this is really so much of an issue, revert the change...

> If game pause, it should take up 0 CPU time.
That's hardly possible, since you at least need to figure out that you are in 
pause state. ;) And then you might also want to get out of the pause, which 
would again require that the input and output systems are running...

--Dennis

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev

Reply via email to