Author Topic: Goodbye Windows, Hello Linux [advice needed for a Linux workstation at home]  (Read 29257 times)

0 Members and 1 Guest are viewing this topic.

Offline RoGeorgeTopic starter

  • Super Contributor
  • ***
  • Posts: 6185
  • Country: ro
Re: Ditching Windows at home [Linux advice needed]
« Reply #225 on: April 01, 2020, 03:47:19 pm »
24 FPS is the movie frame-rate (23.976).  My monitors are all 60Hz.  Vsync also works at 60Hz, I guess.

This needs a framerate conversion from 24.976Hz to 60Hz.  What I noticed is, when only one monitor is active and video is full screen, then the BLIT changes to FLIP.  BLIT means a bitmap image is copied at a certain location in the video screen RAM (asynchronous, I guess), while FLIP means a full image is built in a buffer, and the buffer is flipped to display during a vertical sync, synchronous with the monitor's frame rate.

BLIP or FLIP, a framerate conversion is still required from 24 to 60fps.

When properly implemented, the frame-rate conversion must be done (on the fly), and with frame interpolation.  Without frame interpolation, the image will stutter here and there, because 60Hz is not a multiple of 23.976Hz.

I don't know who's job the frame rate conversion is, the GPU driver, the movie player/decoder, or maybe some other window composer.

That stutter in movies haunted me for years, both in Windows and in Linux.  It's now gone!   :phew:

The only player (I know) that can take into account not only the movie frame rate, but the monitor's refresh rate, too.  The player is MPV, and the feature is called display-resample.  Looking for this feature for a long, long time.  To enable it, in the "mpv.conf" file (mine is in the "~/.config/mpv/" directory), uncomment the "video-sync=display-resample" line, like this:
Quote from: file://~/.config/mpv/mpv.conf
...
# Specify high quality video rendering preset (for --vo=gpu only)
# Can cause performance problems with some drivers and GPUs.
profile=gpu-hq

# Force video to lock on the display's refresh rate, and change video and audio
# speed to some degree to ensure synchronous playback - can cause problems
# with some drivers and desktop environments.
video-sync=display-resample

# Enable hardware decoding if available. Often, this does not work with all
# video outputs, but should work well with default settings on most systems.
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs
# may or may not help.
hwdec=auto
...

For more configuration details, see this MPV brief from the Arch Linux wiki (or, the full MPV docs).

MPV with display-resample gives perfectly fluid movies!  :-+ :-+ :-+


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf