-
-
Notifications
You must be signed in to change notification settings - Fork 169
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
Client doesn't stay on NVENC h264, even when selected in the UI #2022
Comments
Xpra will only use video encoders when it thinks is necessary, for more details on the original feature see #410 - there have been many updates and fixes since. Roughly speaking, the video encoder will not be triggered unless something on screen refreshes rapidly enough. To test, you can run If you feel that your screen updates would be better compressed with a video encoder and that the automatic logic is too slow to switch to the video encoder, you can debug the video region detection with Maybe we could tweak the logic to switch to video sooner when we know we're dealing with an efficient encoder (ie: NVENC). |
2018-11-01 19:44:13: nathan_lstc commented
|
First things first, something is not right with your setup if rgb ends up using zlib compression. You should have lz4 installed and if not then you should see a big warning in your server log on startup. As for the logs, I meant "-d compress" as well as, or combined with the From the first log sample, most of the time it seems to be taking 500ms to compress at a resolution of 1636x958. That's dreadfully slow. You may want to raise min-speed and leave the encoding set to "auto" so it can at least switch to vp8 / vp9 when not using NVENC.
Please post the exact error message, including the full stacktrace.
Why are you changing this switch exactly? There are some scroll encoding packets in the middle, those can cause problems when encoding video as we then skip frames and encode them differently.
Or even disable scroll encoding altogether:
As for the IRC discussion regarding setting hints, we can worry about that once the encoding selection bug is fixed - it will help (see #1952 and #2023) |
2018-11-02 20:10:25: nathan_lstc commented
|
2018-11-02 21:34:54: nathan_lstc commented
|
2018-11-02 22:27:56: nathan_lstc commented
|
2018-11-02 22:31:00: nathan_lstc commented
|
2018-11-02 22:39:58: nathan_lstc commented
|
2018-11-02 22:45:38: nathan_lstc uploaded file
|
2018-11-02 22:47:30: nathan_lstc uploaded file
|
2018-11-03 05:34:52: antoine uploaded file
|
So you're using custom builds rather than our official releases. Please make sure to mention that every time, as per ReportingBugs.
It wasn't meant to.
"scroll" encoding is not used for windows we correctly tag as "video", hence why you should look into tagging your video windows.
As I mentioned before, that's a very bad idea:
Considering those important configuration issues, the logs you attached are not very telling.
Please also include both:
What I do see in there:
So it is choosing the correct encoding (h264) and the correct encoder (nvenc) but for some reason the context gets recycled every time.
So something already happened before that which reduced the framerate to less than 5fps. |
2018-11-03 17:47:08: nathan_lstc commented
|
It's all in this ticket which is assigned to you since I knew you would be interested: #2023. There's a trivial example included: |
2018-11-03 22:47:53: nathan_lstc commented
|
2018-11-03 22:48:37: nathan_lstc uploaded file
|
2018-11-03 22:48:46: nathan_lstc uploaded file
|
2018-11-03 22:48:59: nathan_lstc uploaded file
|
2018-11-03 22:49:09: nathan_lstc uploaded file
|
2018-11-03 22:56:59: nathan_lstc commented
|
2018-11-03 23:23:06: nathan_lstc uploaded file
|
As per previous comments, do not disable the other video encoders. What I found in the logs despite that:
And that causes failures when we reach the limit. 2 contexts should be enough if you only have one "video" window though.
That's the encoding pipeline blocked for over 2 seconds! ouch.
You may want to turn off bandwidth detection to see if that helps with
That's nvenc hogging the compresion work queue because it is slow to setup, and even worse when it hits the 2 context limit and fails (2 seconds as per above)... not much we can do about this.
why it failed is not logged, so I can't be sure why, but here are some possibilities:
r20927 also adds an env var you can use to turn on video context cleanup debugging:
This should tell us why the video context is being destroyed so quickly. There are new centos 7.5 builds here: [https://xpra.org/beta]. |
2018-11-04 18:08:47: nathan_lstc commented
|
My bad, a lot of things that seem obvious to me probably aren't.
If we can fix all the bugs, you should be OK with just 2 contexts.
I don't know.
Could be bugs with lossless and / or YUV444 mode with those older cards.
I've used both gamer cards (GTX 7xx to GTX10xx - with and without license keys) and quadros myself.
Tagging windows should allow you to do that. |
2018-11-04 22:42:12: nathan_lstc commented
|
2018-11-04 22:42:33: nathan_lstc uploaded file
|
2018-11-04 23:01:07: nathan_lstc commented
|
2018-11-04 23:02:55: nathan_lstc uploaded file
|
Probably because of the 2 context limit on gamer cards. From this new log:
So disabling the other video encoders is counter-productive.
The batch delay was also very good (low) at that point:
You seem to be getting at least 25 fps, reaching closer to 50fps near the end of the log - which is quite impressive. At which point in time in this log file am I looking for problems?
Maybe no problems in this log then? |
2018-11-05 05:11:57: nathan_lstc uploaded file
|
2019-01-06 21:17:01: nathan_lstc commented
|
2019-01-07 06:51:38: antoine commented
|
2019-01-07 22:11:33: nathan_lstc commented
|
2019-01-07 22:13:20: antoine commented
|
2019-01-07 22:14:18: antoine commented
|
2019-01-07 22:21:25: nathan_lstc commented
|
2019-01-07 22:24:59: antoine commented
|
2019-01-07 22:55:06: nathan_lstc commented
|
2019-01-08 04:02:38: antoine commented
|
2019-01-08 06:04:48: antoine commented
|
2019-01-09 15:26:04: antoine changed owner from antoine to nathan_lstc |
2019-01-09 15:26:04: antoine commented
|
2019-01-13 16:58:22: antoine uploaded file
|
2019-01-13 17:28:40: antoine commented
|
2019-01-14 04:54:35: antoine commented
|
2019-01-14 23:01:22: nathan_lstc commented
|
2019-01-17 15:50:35: antoine commented
|
2019-01-17 16:44:30: nathan_lstc commented
|
2019-01-17 17:28:41: antoine commented
|
Issue migrated from trac ticket # 2022
component: encodings | priority: major | resolution: fixed
2018-11-01 16:03:47: nathan_lstc created the issue
The text was updated successfully, but these errors were encountered: