Re: Turning off some messages - is it possible? Is it unnecessary?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Joseph M. Newcomer (newcomer_at_flounder.com)
Date: 05/11/04


Date: Mon, 10 May 2004 21:53:20 -0400

The problem is not so much the actual data rates (the rates you quote, by the way, are one
of the jutifications for my position that "efficiency doesn't matter much in GUIs").
However, in the gaming domain, responsiveness (not efficiency) is the problem. Users can
feel 30ms delays in game response, where they won't notice longer delays in, say, typing
in text. The cost is typically not in your code, it is in getting to your code in the
first place. Toss a couple file-system threads and a couple peer threads into the mix and
scheduling is what kills you, not raw I/O bandwidth (of course, it is different for
graphcs. Good animation requires massive bandwidth, e.g., 1024x768x24 at 16fps is about
38MBytes/sec, truly awesome. At nominal TV rate, 30fps, it's about 71MBytes/sec, which is
why you need DirectX-type output, which puts most of the drawing burden on the video
hardware and not on the CPU).
                                        joe

On Tue, 11 May 2004 00:54:48 -0000, "Dave" <noone@nowhere.com> wrote:

>timing at that level is usually only needed for device drivers, look into
>how those are designed if you really need to go fast.
>
>but i think you were talking about video games... remember, even if you
>could possibly generate a frame rate of 100 frames per second that is still
>10ms per frame. you can't see anything move any faster than that. at 60fps
>you have 16ms per frame to work in.
>
>as for input, a fast typist goes at 120wpm, which means 600cpm, or 10cps
>which is 100ms per character... keyboard auto repeat ranges up to about
>20-25cps so at the most you can only get one character every 40ms or so.
>
>upping your thread priority may give you better control on a busy machine,
>but don't try to go too fast or you are just doing extra work that you can
>never see.
>
>
>"Yasoo" <anonymous@discussions.microsoft.com> wrote in message
>news:4B01FB3C-E3F5-4C2C-9063-1567F94DF75F@microsoft.com...
>> Hi Joe -
>>
>> Thanks again. Believe me, the first thing I did was create a timer to
>and set it to 100ms to get a feel for the speed. I was then going to
>decrease to 50,25,10,5,etc. to hone in. I was really surprised to see that
>1ms was still too slow and was inaccurate.
>>
>> O.K. DirectInput for getting controller input, but what about getting a
>more accurate and/or quicker timer? From the research I've done so far, I'm
>going to have to use timers in a 16bit dll. I'm thinking there is a better
>solution than this, it sounds a little clunky.
>

Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm



Relevant Pages

  • Re: Scrolling text in a stationary label help needed
    ... single pixel scroll just once in each Timer event, ... and displaying the "scrolling text in a transparent picture box" if it ... exactly correspond to the video "frame rate" (75 frames per second in the ... rest of your code could use that 3.3 milliseconds to do something else. ...
    (microsoft.public.vb.general.discussion)
  • Re: LXI, IEEE1588 and TTP
    ... > addition to these protocols. ... A sends a synchronisation frame to B and starts a timer when ... B reads the time at wich it receives the character and starts ... B sends a reply frame, reads the timer when the equivalent ...
    (comp.arch.embedded)
  • Re: Turning off some messages - is it possible? Is it unnecessary?
    ... 10ms per frame. ... 20-25cps so at the most you can only get one character every 40ms or so. ... the first thing I did was create a timer to ... > O.K. DirectInput for getting controller input, ...
    (microsoft.public.vc.mfc)
  • GUIs and Timers
    ... picture. ... I've been trying to use a timer to redraw the video ... function it puts the frame in a new window. ... have the same problem using guide-created code): ...
    (comp.soft-sys.matlab)