At the moment, the default threshold which triggers a lossless refresh is set at 95%.
This means that an
h264 frame from
x264 at 95% will not cause a lossless refresh despite the fact that the pixel data may be lower than we expect.
Although it may be possible to normalize the quality values better (so that a
jpeg at 95% is closer to a
NVENC encoded frame at the same quality setting), ultimately we may just need to have 100% quality everywhere:
To achieve this, we may need:
A lot of improvements have been made in this area:
See also #620
Regions that are lossy and did not refresh should have been pretty rare because we tend to go to 100% quality when the quality is high (to avoid having to do the refresh), but can still happen with video encodings.
Note: this is a pretty significant change, hopefully without undesirable side effects... but maybe the heuristics will need to be tuned further now that we have more refresh needs when using high quality video.
@afarr: please close as an ack. Feel free to test and try to verify that it is impossible to get lossy regions to stick on screen for too long.
Wasn't able to get any lossy regions to stick for anything more than a fraction of a second (but wasn't using 4K monitor...), whether there was any subregions painting with h264 or not.
I'll go ahead and close.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/615