RE: Full-screen, exclusive-mode video and D3D debugging
- From: Arto <Arto@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 11 Sep 2008 07:02:00 -0700
Hi,
Yes, you need to re-create the 3D device to go between fullscreen and
windowed. And yes, you can only use one display. I'd suggest using
accelerator keys to control the application from the keyboard while in
exclusive mode.
Yes, exclusive mode is the same as Windowed = FALSE in the parameters.
I did a solution for this some time ago and could provide some details if
you wish. As I recall, it is a bit tricky to go between exclusive and
windowed mode when using the VMR9 renderer. It leaves unreleased COM
interfaces if you don't do some tricks I'd need to go and look in my source
code.
As far as I know exclusive mode really means exlusive mode. It doesn't go
through the window manager or something so you can not really do anything in
any other window while using exclusive mode unless you let it lose its device
in the mean time.
Let me know if you need some more help.
Arto
"Doctor Bonzo" wrote:
I'm developing a video playback app using using a custom allocator-presenter.
for VMR9, developed from one of the Dx9 SDK samples. On the release system,
this will be a full-screen, single-monitor display controlled via TCP. My
development system is dual monitor with a single graphics card (this means
single 'adapter', yes?). I would like to test the app by having the video
display full screen (exclusive mode) on one monitor and control it from a
telnet window on the other monitor. Video display is OK on one monitor until
I activate the telnet window on the other. At this point I get 'device lost'
and the video window minimizes itself. I sort of understand where the
'device lost' is coming from - though I'm not sure where the minimization is
happening. Exclusive-mode seems to be necessary for smooth video playback -
windowed mode playback is stuttery, though only slightly.
So I have two questions: First, is it possible to switch between exclusive
and windowed modes without having to completely re-create the Direct3D
device? As an aside, I find myself confused with the 'exclusive mode'
terminology - this seems to come from DirectDraw. Is it the same as the
state of the 'Windowed' member of the D3DPRESENTATION_PARAMETERS?
I'll also need to make the video window visible and invisible to let other
apps show through from time to time. With windowed mode, ::ShowWindow(..)
works fine, but with a full-screen window, this doesn't seem to work. So my
second question is: Should ::ShowWindow(..) work on a full-screen,
exclusive-mode window, or do I need to use some other approach?
- Follow-Ups:
- RE: Full-screen, exclusive-mode video and D3D debugging
- From: Doctor Bonzo
- RE: Full-screen, exclusive-mode video and D3D debugging
- References:
- Full-screen, exclusive-mode video and D3D debugging
- From: Doctor Bonzo
- Full-screen, exclusive-mode video and D3D debugging
- Prev by Date: Re: change font size?
- Next by Date: RE: Full-screen, exclusive-mode video and D3D debugging
- Previous by thread: Full-screen, exclusive-mode video and D3D debugging
- Next by thread: RE: Full-screen, exclusive-mode video and D3D debugging
- Index(es):
Relevant Pages
|