shane101010


Hey everyone, I am doing overlays onto a live TV broadcast and have written a custom VMR Allocator-presenter to do the job. I render my overlay ( bitmaps and/or text ) onto a DIrectDraw surface and blit it over the video within the 'PresentImage' routine.

Recently I tested my program with full screen playback on the TV output from our units ( they only have basic onboard video cards) and the CPU usage jumped to 100% with choppy playback. With full screen on the primary monitor I get CPU usage of 20% with great playback even with overlays. I have also tried playing the capture feed in a window, and as soon as any part of the window hits the second monitor the CPU again jumps to 100%.

I ran the DirectX Diagnostics tools to check the capabilities of the second monitor, and found that ¡®AGP Texture Acceleration¡¯ is unsupported. This is the only difference I can find between the two monitors. Could this be the cause of the problem

I have also tried setting the default monitor to the secondary monitor through the IVMRMonitorConfig interface and performance didn¡¯t improve.

Finally I get good performance on the second monitor when I remove my all my code used to perform overlays and call the standard VMR presentation routine, which may suggest that the video card does not like when I use the DirectDraw surfaces to perform overlays on the secondary monitor.

Has anybody here experience anything like this before I was thinking that perhaps the DirectDraw surfaces may not be handled by hardware for TV output, although I hope this is not the case.

Any suggestions would be greatly appreciated.I hope this makes sense, if anyone would like more detail juat let me know.

(and hello to Michel R, you will recognise this question im sure!)




Re: live video overlay at 20% cpu on primary monitor, 100% cpu on TV out??

shane101010


Just an update;

I ran another diagnostics program to compare the capabilities of the primary monior vs TV out, there were some critical differances -

Primary TV out
Surface in video memory yes no
Surface in Non-Local Memory yes no
Supports System Memory yes no

So I think I have found the source of the problem. Does anyone know if this is typical of on-board video cards





databaseforum