Jump to content

Frames drop (judder) under Windows 7


stettler

Recommended Posts

stettler

Hello,

I finally managed to find the time to install a version of ET (3.0.3) with the "new" refresh rate script/utility. The problem when playing video, with nearly any kind of settings, is still present Under Windows 7:

 

When you start to play the video, the refresh rate switch correctly but there is a lot of frames drop which results in heavy judder. Minimizing the window and maximizing it again, while the video is playing, fully solve the problem.

 

The problem doesn't happen with Windows 10.

 

On older version of ET that weren't using the "new" refresh rate utility, I modified the "lua" script to minimize/maximize the window automatically after the change of refresh rate. That was solving the issue. That doesn't work anymore with the version of Electron that comes with the latest version of ET: For whatever reason, when doing it from the script, the window isn't taking the full screen when it's maximized. Replacing Electron with any older version resolve the problem (ie: when maximizing the window from the lua script, it really takes the whole screen)

 

 

 

Link to comment
Share on other sites

stettler

Hi, I would suggest putting all the video settings back on default values. Thanks.

 

Already tried from a brand new fresh install with all default value (except the change refresh rate option). Tried with all minimal value. Tried various other settings. It's not new: I already reported it 1 years ago in the test forum with ET 2.8.x

 

The thing is that whatever the settings, once you start playing the video and minimize/maximize ET, the problem goes away (until refresh rate is changed again? Not really sure when the problem start coming back again. Except it always happens again after re-starting ET). When you have the problem, the stats report a lot of frames drop. After you minimize/maximize the window, the stats report no frames drop at all.

 

Obviously, ET/mpv is prefectly able to play the video, with the correct frame rate and with the settings I am using, as it goes aways just by clicking in minimize and then clicking in maximize. Doing the same thing by calling "nircmd" from the lua script was also working fine too. (Now it doesn't work anymore with the new version of Electron: it still fix the frames drop but the window isn't maximized correctly. It's like if the window had the correct size but was a little outside of the screen.)

Edited by stettler
Link to comment
Share on other sites

Guest asrequested

Stettler, I've wrestled with frame dropping when in full screen, in the past. Different circumstances to yours, but I'm working on a theory that your issue may be related to what I had. My first question is, doesn't this happen with every movie?

Link to comment
Share on other sites

stettler

Stettler, I've wrestled with frame dropping when in full screen, in the past. Different circumstances to yours, but I'm working on a theory that your issue may be related to what I had. My first question is, doesn't this happen with every movie?

 

Yes, every movies (SD,HD,TV recording,...) until you do the minimize/maximize trick. As soon as you do it, they play fine. And only with Windows 7. Windows 10 on same hardware with same ET settings works fine (no idea about Vista or Win8).

 

There is 1 exception: If the desktop refresh rate is already set to the same movie's fps before you start playing it than it's working fine.

 

We already had that discussion 1 year ago and a few time in-between... :lol:  That problem started to happen with mvp/electron. Never happened with madvr and whatever method was used to change refresh rate in ET.

Link to comment
Share on other sites

Guest asrequested

Ha! Yeah, I kinda remember that, but I've done more things, since then. Ok so part of my theory is that how the hwdec is being used in Theater along with electron, is to blame. In the playbackhandler, change the hwdec entry to mpv.conf, and use your mpv.conf for that setting. And see if anything changes. I think more needs to done, but I'm curious to see if that makes a difference. There are few things in the handler that I've chosen to remove.

Link to comment
Share on other sites

stettler

Ha! Yeah, I kinda remember that, but I've done more things, since then. Ok so part of my theory is that how the hwdec is being used in Theater along with electron, is to blame. In the playbackhandler, change the hwdec entry to mpv.conf, and use your mpv.conf for that setting. And see if anything changes. I think more needs to done, but I'm curious to see if that makes a difference. There are few things in the handler that I've chosen to remove.

 

Lost me there... you mean to edit the playbackhandler.js file and change the hardware decoder? I have already configured ET to use no hardware decoder. (if the system can handle it, it's supposed to be best to disable hardware acceleration as many implementation are buggy or have problems)

Link to comment
Share on other sites

Guest asrequested

Lost me there... you mean to edit the playbackhandler.js file and change the hardware decoder? I have already configured ET to use no hardware decoder. (if the system can handle it, it's supposed to be best to disable hardware acceleration as many implementation are buggy or have problems)

Yeah, but the setting in Theater is a hard setting, not a vacant setting. So the API is still in use. I posted a bunch of hacking I did to it in this post

 

https://emby.media/community/index.php?/topic/46763-theater-mpv-test/page-160&do=findComment&comment=615133

 

Search for hwdec and try using that line (ignore the other changes). Using the Theater settings is forcing a gpu-api config (possibly something else, too). I think this is the crux of some of the issues that people are reporting. For my issues, using aut-profiles has mostly resolved them. So I think if we can nail down why Theater has issues when in full screen, I think we can go a long way to finding an actual resolution.

 

If that makes sense?

 

Edit:

I think I may have completely removed it from that one. When I'm home, I'll be able to be more specific.

Edited by Doofus
Link to comment
Share on other sites

stettler

Yeah, but the setting in Theater is a hard setting, not a vacant setting. So the API is still in use. I posted a bunch of hacking I did to it in this post

 

https://emby.media/community/index.php?/topic/46763-theater-mpv-test/page-160&do=findComment&comment=615133

 

Search for hwdec and try using that line (ignore the other changes). Using the Theater settings is forcing a gpu-api config (possibly something else, too). I think this is the crux of some of the issues that people are reporting. For my issues, using aut-profiles has mostly resolved them. So I think if we can nail down why Theater has issues when in full screen, I think we can go a long way to finding an actual resolution.

 

If that makes sense?

 

Edit:

I think I may have completely removed it from that one. When I'm home, I'll be able to be more specific.

 

hmm, the only ref to hwdec in your post is: { property: 'hwdec-current', name: 'Hardware acceleration:' },

 

In the "official" playbackhandler.js file, there is the same line. But there is also this one:

    list.push('--hwdec=' + (options.hwdec || 'no'));

 

So I should remove it?

I tried it but the result is the same (still frames drop). But I don't think it's taking into account my "mpv.conf" file. Before, I had it in "%USERPROFILE%\AppData\Roaming\mpv" but it doesn't seem to work anymore. Did it changed location?

Link to comment
Share on other sites

Guest asrequested

hmm, the only ref to hwdec in your post is: { property: 'hwdec-current', name: 'Hardware acceleration:' },

 

In the "official" playbackhandler.js file, there is the same line. But there is also this one:

list.push('--hwdec=' + (options.hwdec || 'no'));

 

So I should remove it?

I tried it but the result is the same (still frames drop). But I don't think it's taking into account my "mpv.conf" file. Before, I had it in "%USERPROFILE%\AppData\Roaming\mpv" but it doesn't seem to work anymore. Did it changed location?

Yeah, I had removed, but that's the entry. Don't remove it, just change it to

 

list.push('mpv.conf')

 

Then use hwdec in your mpv.conf

 

Or if you don't use hwdec, don't add it to your mpv.conf.

 

Word to the wise, use hwdec=auto-copy

 

I know what the manual says, but that will give you better results. The mpv devs use d3d11va-copy, when they play something. Well, jeeb does. But auto-copy produces less or no dropped frames, as it uses dxva2-copy.

Link to comment
Share on other sites

stettler

Yeah, I had removed, but that's the entry. Don't remove it, just change it to

 

list.push('mpv.conf')

 

Then use hwdec in your mpv.conf

 

 

I tried but it's not helping...

 

I can't set the "refreshrate.lua" script option in the mpv.conf? They are not taken into account. (or the whole mpv.conf is not taken into account? )

Link to comment
Share on other sites

Guest asrequested

Ah, I wonder if it's been linked to that? That is something Luke or randomevents would have to answer.

 

Ok, well return the handler to it's original state, and just set auto copyback in theater.

 

Unfortunately I can't dig into this right, now. I feel confident that we can correct this. Maybe with auto-profiles.

Edited by Doofus
Link to comment
Share on other sites

stettler

Ah, I wonder if it's been linked to that? That is something Luke or randomevents would have to answer.

 

Ok, well return the handler to it's original state, and just set auto copyback in theater.

 

Unfortunately I can't dig into this right, now. I feel confident that we can correct this. Maybe with auto-profiles.

 

 

 

Not sure the droped frames can be fixed by some mpv configuration: as I said, you start playing a video and you have problems. Then you just minimize and maximize back the window and the video continue playing without frames drop anymore. No settings are changed, the video isn't even restarted. It's just the manipulation of the window that fix the problem. Imho, it's a bug between ET/electron and/or mpv. Maybe mpv isn't really in a maximized window before doing the manipulation. (and I still think that a full screen window-less mode would fix all those problems. Even if that mean using only the mpv interface while playing video)

 

I found out for the refreshrate.lua options: they are already set in the playbackhandler.js file so they aren't taken from the mpv.conf. Need to comment them out in refreshrate.lua

Edited by stettler
Link to comment
Share on other sites

Guest asrequested

Randomevents wrote a new program for that, but there are several issues with Theater when in full screen that aren't when windowed. More and more I think it has something to do with how mpv is working with electron. More specifically, how mpv is being applied in theater, in conjunction with electron. I tested a lot of configurations and theater in full screen kept causing problems that mpv in full screen, didn't. In Theater, something is forcing a gpu-api, setting. And I was trying to figure out what. I eventually started using aut-profiles and that has made my situation, more stable. But whatever is forcing this stuff in theater really needs to be dealt with.

 

But now it appears that refresh rate switching may be tangled up in this. Which may account for my not being able to figure it out.

 

At the very least, hwdec should be independent of all other settings, and preferably be able to be disabled, completely.

 

This has been brought up in the testing area. We emby users, have such varied content that we need to be free to able to tweak our configs to adjust for our content.

 

In this case, mpv is a massive resource, and we should be able to explore that, if needed.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...