Screen base address access

  • Thread starter Thread starter Nadav
  • Start date Start date
N

Nadav

Hi

I am trying to create a screen capturing application, this app should access
the screen memory compress it and send it through TCP/IP, What is the best
way of getting a direct pointer to the screen memory, Should I use a kernel
filter/function driver????

Any samples/pointers will be appriciated.

ThanX
Nadav.
 
Hi, Nadav
I am trying to create a screen capturing application, this app should access
the screen memory compress it and send it through TCP/IP, What is the best
way of getting a direct pointer to the screen memory, Should I use a kernel
filter/function driver????

There is much more reliable way for doing this.
Search Windows DDK for Mirror Display Drivers.
 
Nadav said:
I am trying to create a screen capturing application, this app should access
the screen memory compress it and send it through TCP/IP, What is the best
way of getting a direct pointer to the screen memory, Should I use a kernel
filter/function driver????

If all you want is a single snapshot, you don't need kernel help at all.
You can use DirectX to get a pointer to the primary display surface.

- Tim Roberts, (e-mail address removed)
Providenza & Boekelheide, Inc
 
Actually what I am trying to do is to create a screen-capture 'codec' that
will enable streaming the screen over the net, the current codec supplied by
Microsoft gives good compression ratio BUT consumes allot of CPU, My first
concern is that the CPU cost will not be above 10% of the CPU the
compression ratio, is my second priority, I guess I have no other
alternatives but to write a kernel driver...
 
Have you tried Remote Desktop of WinXP? Works very well even over 64 kbps.

Does your codec _actually _ consume less CPU than MS's, with same
compression ratio?
 
Does a mirror device will also reflect changes made as a result of Direct3D
application? will it reflect changes that happen in excusive mode?
 
why do you think it shouldnt consume more than 10%, given that encode is
almost always more expensive than decode?

have you tested with a variety of CPU and memory configs? or do you have a
single sample in your sample set to base that conclusion upon?
 
Well, Netopia ( Timbuktu SDK, http://www.netopia.com ) uses a mirror device
( I guess ) to encode ( on runtime ) screen capture, and it costs about 10%
of the CPU which results a bad compression ratio, but still... when CPU
Consumption is the first priority.....
 
Nadav said:
Well, Netopia ( Timbuktu SDK, http://www.netopia.com ) uses a mirror device
( I guess ) to encode ( on runtime ) screen capture, and it costs about 10%
of the CPU which results a bad compression ratio, but still... when CPU
Consumption is the first priority.....

It's not just compression. Just the fact that you're using a mirror driver
costs extra CPU time, because everything gets drawn twice.
 
Back
Top