DIRECTX build - autoswitching and vsync changes
#31
jmarshall Wrote:I do, however, have it working, though I'm not 100% satisfied with it as yet.

no change on my 2 monitor setup on 24208 DX/GL. i give up for today.
cheers,azido :;):
Reply
#32
Hi Jonathan,

I'm not sure if this is the kind of feedback you're looking for but here goes anyways:

Running Nightly 24211 with Aeon Hitched Temmi Mod. HTPC is connected to an LCD TV, second monitor not connected (whilst testing). Before testing proper I went for a control test with the desktop size the same as XBMC resolution. For ref. my desktop resolution is 1280x720@60Hz and XBMC is set the same.

Windowed Mode: Runs perfectly, maximized or normal window
Full Screen: This is a little odd. Selecting a TV Episode or movie causes the TV to behave as if the resolution is changing (this has never happened before). On my LCD this means it drops back to TV for a second, then swaps back to HDMI. This results in a black screen with no picture but I do have sound and can access the menu/pause etc.

If I right click (to return to main menu), TV behaves as above and then the menu appears. Temmi's mod shows the now playing in a window. The mod does show the episode so I have a picture in the mod box. Also if I switch on 'display now playing on home screen' I'm able to see the tv episode displaying a picture. In short the the only time I don't have a picture is when I'm full screen.

Once only pressing TAB to return to full screen did display the picture; however despite attempting this 20 more times couldn't make it happen again.

If whilst a tv episode is playing full screen (again no picture) I go to settings and drop to windowed mode then the picture returns. As an aside, after trying to watch a TV episode or movie full screen (with no picture) I have no problems navigating inside XBMC or quitting the application, i.e. I don't experience any hangs as a result of the above issue.

I've tested with all the display options in all combination's (i.e. sync to display etc) with no change in the above behaviour.

Thanks

G
Reply
#33
Just some things to test for if you decide to use the DX builds with VSYNC and Rate changing:

1. Playing videos with subtitles shown or not shown.
2. Switching between fullscreen and windowed modes.
3. Dragging XBMC across monitors and switching to fullscreen and moving fulscreen XBMC between monitors.
4. Testing different combinations of VSYNC and Rate changing (ie, Both on, one on and one off, etc.)
5. Testing subtitles that have embedded fonts and karaoke effects.

The more testing the better!
Just make sure you have a build > 24220 (When it arrives, or compiling your own).
Windows 7 x64 Home Premium
Gigabyte MA78GM-U2SH Mainboard
ATI HD3200 Onboard
AMD 7750BE Dual-Core 4.00GB RAM
ATI HD3200 HDMI Sound
HTPC HMDI -> ONKYO TX-SR605 -> Panasonic TH-46PZ85U Plasma
Reply
#34
oh and cursor shows up on the screen when you start video playback, it shows up for about 3 seconds.

when video ends the side menu where you configure the view shows up all the time.
Reply
#35
joshuass Wrote:The more testing the better!
Just make sure you have a build > 24220 (When it arrives, or compiling your own).

For testing purposes: XBMCSetup-Rev24222-dx.exe

Built with VS2008 Express + DX SDK Summer 2004
Note: Project Mayhem III Skin not included - everything else untouched.

enjoy.
cheers,azido :;):
Reply
#36
Testing 24222 dx for myself -

setting resolution to go on screen #2 actually goes fullscreen to screen #2 again, but xbmc completely disappears when i change focus to another app (like i.e. writing this in browser). this also happens when playing a video.

additionally, when playing a video and switching focus, then returning to xbmc after some seconds, video seems to be far behind audio, so it speeds up like fast forward until it is in sync again. if i wait longer (more than 10 seconds) video goes completely out of sync and does not try to catch up. waiting even longer, i get looped audio until i go to xbmc again. using tab to switch to ui and have xbmc playing video in a small overlay window seems to speed up better until sync is reached. staying in the gui with a small overlay video when switching focus seems to stay in sync. anyway, stuttering appears when switching focus back and forth. this also affects the gui then (clearly visible on the scrolling rss feed and while moving in the skin)

on first startup using system information summary, refresh rate display jumps between 100-600hz?!? next startup after quit shows correct 60hz. when focus off and back, it is at 0,2hz, then goes up to 60hz again. on next off and back it goes down to around 38hz and stays there. the more i go off and back, the more it drops. seems to have lost around 3-4 hz on every focus return.

cpu usage stays around 25% while just staying in the gui.

windowed mode:

moving xbmc window between screens works good. in wmode, if mouse is enabled, it always gets focus, so if you move i.e. in home screen of pm3 hd, you see your selection for just a moment, then mouse pointer gets focus again. i cannot access all options due to this. switching focus to another app in windowed mode does not affect display of xbmc or its refresh rate. in general i tend to say: except the mouse pointer issue, windowed mode works like it should. no stuttering or refresh rate drops, no video sync probs.

switching to fullscreen from there introduces the same probs as above.

vsync was defaulting to always enabled in this test.
cheers,azido :;):
Reply
#37
If you are autoswitching to 24hz or something, then yes, it may take longer to a/v sync. Turn it off if you don't like the behaviour. This is why it'll be speeding up faster during the UI - it's got 60hz to play with.

Losing focus (it'll minimize to task bar) when fullscreen and something else takes focus is standard fullscreen directx - try any game for instance. Nothing we can do about that, and IMO that's just fine. It's a fullscreen app, use it as one Smile

You'll have to explain the mouse problem better, as I have no idea what you're on about on that one Smile

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#38
jmarshall Wrote:If you are autoswitching to 24hz or something, then yes, it may take longer to a/v sync. Turn it off if you don't like the behaviour. This is why it'll be speeding up faster during the UI - it's got 60hz to play with.

adjust refresh rate was turned off. should i turn it on to prevent that?

Quote:Losing focus (it'll minimize to task bar) when fullscreen and something else takes focus is standard fullscreen directx - try any game for instance. Nothing we can do about that, and IMO that's just fine. It's a fullscreen app, use it as one Smile
using a previous dx build (24101), fullscreen xbmc keeps visible on screen#2 while i write this on screen #1. this one doesn't.

Quote:You'll have to explain the mouse problem better, as I have no idea what you're on about on that one Smile
if mouse is enabled (standard) and the mouse pointer is visible in the ui, whenever i use cursor keys to move between options in the ui, the selected option looses focus and it's visible selected indication after a sec and the mouse pointer gains focus and visibility again. looks like it has a higher priority for showing up than the selection indicator.
cheers,azido :;):
Reply
#39
azido Wrote:using a previous dx build (24101), fullscreen xbmc keeps visible on screen#2 while i write this on screen #1. this one doesn't.

In previous versions we used a fake fullscreen (maximized window without borders) which had issues with vsync and smooth playback. Therefore we decided to use the real fullscreen mode which shows the above mentioned problems.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#40
Quote:oh and cursor shows up on the screen when you start video playback, it shows up for about 3 seconds.

Actually, I noticed this too. Every time the refresh rate changes, the cursor shows up then disappears after a set period of inactivity.

Could this be due to how DX is torn down and rebuilt and reinitialized for playback? I would be nice to have the render check on the state of the mouse to see if it needs to show up or not. Basically don't assume the mouse needs to be shown if no mouse movement was detected before teardown.
Windows 7 x64 Home Premium
Gigabyte MA78GM-U2SH Mainboard
ATI HD3200 Onboard
AMD 7750BE Dual-Core 4.00GB RAM
ATI HD3200 HDMI Sound
HTPC HMDI -> ONKYO TX-SR605 -> Panasonic TH-46PZ85U Plasma
Reply
#41
WiSo Wrote:In previous versions we used a fake fullscreen (maximized window without borders) which had issues with vsync and smooth playback. Therefore we decided to use the real fullscreen mode which shows the above mentioned problems.
Are you using Direct3D exclusive mode?
Reply
#42
WiSo Wrote:In previous versions we used a fake fullscreen (maximized window without borders) which had issues with vsync and smooth playback. Therefore we decided to use the real fullscreen mode which shows the above mentioned problems.

is there anything that will bring back a staying dx fullscreen window on screen #2 when not in focus?

else, to be honest, dx builds are not of any use for me anymore, because that renders my whole plan with a 2 monitor setup useless..
cheers,azido :;):
Reply
#43
afaik not. at least I don't see that we set it explicit to DDSCL_EXCLUSIVE.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#44
You either have exclusive mode (D3D started with Windowed = FALSE) or you don't. There is no guarantee of vsync if you don't have exclusive mode.

The choice, therefore was simple: We're a multimedia app, and vsync is essential for a good experience. Thus, we have to use exclusive mode.

I suspect the number of people who are using XBMC _non_focused_ on a second screen while doing other stuff on the first screen is minimal.

Given that there's likely no way to ensure that XBMC doesn't lose exclusivity on focus to some other window, I propose an advanced setting that allows non-exclusive mode (and thus no guarantee of vsync).

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#45
jmarshall Wrote:Given that there's likely no way to ensure that XBMC doesn't lose exclusivity on focus to some other window, I propose an advanced setting that allows non-exclusive mode (and thus no guarantee of vsync).

at least i was not able to SEE any issues regarding vsync on earlier dx builds (no tearing/stuttering/whatsoever) when playing video media, so that might work for me.

for that unfocused situation: i got used to be able to run xbmc on tv while coding/browsing/etc on primary monitor - regarding the many requests i saw here on forum to i.e. be able to use the mouse on the primary monitor in the past, i have a feeling i am not alone with that.

man, even that "fake-windowed" mode worked for me.. Smile
cheers,azido :;):
Reply

Logout Mark Read Team Forum Stats Members Help
DIRECTX build - autoswitching and vsync changes0