Display a bitmap as fast as technically possible!

Started by
24 comments, last by David Lake 12 years, 2 months ago
When files are dragged and go semi transparent they cant be seen with the GDI screen capture method and how would i go about partial updating "list of rectangles"?
Advertisement
As far as the get bitmap part goes, which I think you mean upload to gpu, the fastest method would probably be to copy portions of it over a few frames. Maybe like 1/4th of the image a frame. I haven't use .net GDI but I've tried it with directx and if you write your data to a staging texture, then copy it to a gpu only texture it's pretty fast. Use UpdateSubresource for the copy from staging to gpu texture.Whoops, sorry glazed over that you're using dx9... what I said only works in dx10, but technically, I think the same concept would go for dx9 but with different functions.
I can use DX10 on the host side to display it I just need the client side capturing it to be as compatible as possible, you will have to be a pinch more detailed than that i'm like a new born baby when it comes to coding DX.
I've exhausted google this is like a wild goose chase im going round in circles!
Using procexp and procmon i can see the WINMM.dll MCI API DLL seems to handle a print screen keypress and print screen gets all the transparent windows effects i wonder if i could use this somehow to trigger and grab a printscreen directly?
I just noticed the dwm does the screen capture so is there a simple way of using that?
Well, you could start by using a lossy compression, otherwise PNG tends to be a slow compression and only beats other compression algorithms like LZW by a small amount. You could reduce your color depth to RGB565 or RGB332. You could also take the current frame and the previous frame and perform a difference operation on the two, then compress and transmit that instead.
I have been reducing the color depth but it dont make much dif and i tried saving screenshots in different file formats and png is much smaller than even jpg for the quality, that difference thing sounds good but whats the point when i would still be sending the whole image?
bump
So far we have had no progress.
Step 1 in my requirements gathering process is to ask this question: Is there software that someone else has already created which does what I need to do?

There's a lot of remote control software out on the market specifically for remote assistance. I think you'd probably end up saving a lot of time and money if you downloaded/purchased an existing software solution and you'd have a higher level of quality assurance.
There is no program that does this thats free I have looked and also I WANT to doo this to learn!

This topic is closed to new replies.

Advertisement