-
Notifications
You must be signed in to change notification settings - Fork 493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
D3D Fullscreen Exclusive playback issue #27
Comments
Exclusive mode is just unreliable on Windows 10 due to all changes that Microsoft made. It also affects other renderers like Madvr. It also depends on the driver, so you may have better luck with a different version. This is not something I can fix. There haven't been any changes to the renderer since last official nightly (1.7.13.112). |
Could be LAV filters issue? |
Thank you for the quick responses, I have narrowed it down to the following:
So something was probably changed in the Exclusive mode rendering code between those two versions (1.7.13.0 -> 1.7.13.112) that is causing this issue. I also tried using the LAV filters from MPC-HC 1.7.13.0 on your latest release (1.8.2.0), but the issue was still present, so it does not seem to be related to the LAV filters as far as I can tell. |
I tested a bit more and I narrowed it down even further:
All testing was done with LAV Filters 0.70.2.1 |
There haven't been any functional changes to the renderers between those versions. Only big change is that a newer version of the Visual Studio toolset (compiler) and Windows SDK is used. I consider this to be a bug in Windows 10. Maybe it will work better again in next Windows 10 version, that will be available next month. |
OK. Thanks for the feedback, and again, thanks for the work you do to keep MPC-HC up to date. The easiest solution for me is to keep using the last official release of MPC-HC (1.7.13). I'll see how things work out on the next Windows release, and I'll also see if this might be related to graphics drivers or some other reasons if I have the time. |
Any reason why you are using "disable fullscreen optimizations"? Since it works ok without that. Or just don't use exclusive mode at all. |
After quite a lot of testing and research over the years to get perfectly smooth video playback with 100% correct analog audio sync for all kinds of media, I found out that enabling both settings is required. My setup is quite simple: A PC hooked up to a primary 1920x1200 60Hz monitor via DVI and a Full HD TV with variable refresh rates connected via HDMI for media playback driven by a GTX 970 card. Before Windows 10, "D3D Fullscreen" was still needed for smooth playback of all video frame rates, after Windows 10, "Disable fullscreen optimizations" was also required since Microsoft decided that fullscreen exclusive mode wasn't exclusive anymore. Without both of those settings enabled, there are still situations where playback will glitch or stutter on some video frame rates, which is mostly caused by having two monitors with different refresh rates running at the same time, a known issue that Microsoft seems unable or unwilling to fix that others also struggle with, both for gaming and media playback. After getting MPC-HC to work great with all media, I just want to keep that setup running smoothly, but it would be nice to be able to update MPC-HC if possible. |
I think output from graphics card to mirrored monitors is traditionally handled by the graphics driver, which can cause these synchronization problems, depending also on the choices of renderer method, whether the program is using DirectX or opengl (both implemented by graphics driver), some surprise factor, etc. |
Some fullscreen issues can be caused by freesync or gsync if they are enabled by default in the graphics card control panel. A solution is disable freesync/gsync or simply create a profile excluding MPCHC . |
Glitch free playback is possible without exclusive mode as well. MadVR has the ability to create an optimized custom refresh rate to perfectly match the audio clock. Should give better results then when trying to do it manually. |
First of all, I just wanted to say thank you for updating the best video player available on Windows!
Just upgraded MPC-HC from the last official release (1.7.13.0 32 bit) to your latest release (1.8.2.0 x64) on Windows 10 build 17134.285, and I found an issue that was not present in the last official release.
I use the following MPC-HC Playback -> Output settings that have always worked wonderfully so far (see images below):
Playback is still working fine the first time when entering fullscreen using Alt + Enter or window double click, however, if I try to enter fullscreen playback again from windowed mode, no video is visible. Something is displayed as fullscreen but not visible (see the image below) at this point since I can start and stop playback (audio starts and stops) by clicking on the unfocused MPC-HC window, and pressing ESC returns MPC-HC to normal with the video visible again.
This issue prevails until MPC-HC is restarted or another video is selected for playback, also, the issue is not present if Windows 10 Compatibility -> "Disable fullscreen optimizations" is disabled.
This is not a major issue and I can provide more information if needed. I can also help test any fixes if you think this is an easy bug to find.
The text was updated successfully, but these errors were encountered: