I was curious to see how displays work and would like to see screen drawing slowly at 1 FPS. How is it possible to see? if not possible can we emulate it with any video players like FFmpeg ? or something else?
I am using Ubuntu 16.04
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
Is it possible to see?
Can we emulate it with any video players like FFmpeg?
Perhaps, but not really... It would need to be "emulated" in the true sense of the word.
A lot of the things you want to see are not simply about "how fast the frame is rendered" (by the graphics card), but about "how fast physical crystals / phosphor reacts" (a physical constant that you will have no control over), and how the display then puts this information onto the panel (out of your control).
As demonstrated by The Slow Mo Guys, you can see this, if you have a nice high speed camera.
See their video How a TV Works in Slow Motion - some frame grabs below.
Top down, left to right. The bright patch has just been hit by the electron beam, and the phosphor has illuminated. The previous lines only appear to be slightly illuminated because the phosphor is still giving off light - the electron beam actually produces a small point of illumination. To the eye the whole display will appear to be lit, but this is due to persistence of vision - not reality.
Moving the beam more slowly across the front of the display is "possible" if you were able to take control of the CRT, but you would start to suffer from issues like burn-in.
LCDs are able to genuinely present the whole frame at once... crystals are rotated to let light through, or block the light, and the whole panel maintains this state... but as you'll see from the video, the panel isn't actually updated "at once", but still top-to-bottom, left-to-right.
In addition to this, the crystals take time to move - nothing is instant, which is why there appears to be a fade effect when the frame is updated. This time is part of what forms a monitor's "response time".
When it comes to Screen Displays. Their frequency is measured in Hertz (50Hz, 60Hz etc). Frame rate is a Graphic Engine (e.g OpenGL) specific term and can be changed by the application which is using it.
To reduce the monitor frequency, you'd have to write a custom driver for your graphics card and monitor screen. You'd need a specific technical knowledge about writing drivers for hardware. (For your demonstration purposes it's not worthy to waste a heck of time). Sometimes, force installing an unsupporting driver produces this effect but it's not as low as 1fps.
But yes you can emulate it using a lot of application and utilities. Use a good video production software and render your video with 1fps settings. I could suggest you Adobe After Effects but I haven't done this experiement with that software.
No you can't decrease it. However, you can use a screen recorder to record the screen at 60fps.
Then open the video file in a video editor.
Most video editors offer a time line that you can use to zoom in to a per frame level.
Another thing to point out here. 1/60th of a second is still slow compared to the internal workings of the video card. Therefore, objects will still just appear on the screen. I don't think you will see what your expecting to see.
If you want to really capture the action, you might want to consider a 144hz monitor,video card, and etc. However, you will most likely need to record to a SSD in order for it to record fast enough.