In the field of app performance, 60fps and 16ms (milliseconds) are frequently mentioned concepts. But why are the numbers 60 and 16?
These technical details are hardware-related--related to the human eye.
Unlike cameras, the human eye does not send snapshots of the real world to the human brain, which can be used to identify the real world. The brain constantly handles the visual signals that the eyes send to it, so for our brains, there is no concept of frames or snapshots, and our concept of motion is influenced by still frames. When the rotation of still images is fast enough, we can successfully trick the human brain into perceiving that there is no movement.
Importantly, the speed at which we switch still images has a huge impact on the smoothness of our perceived movement. When the playback image is larger than 10fps-12fps, the person will perceive that the image content is moving. Of course, this rate of movement is very fluid. Only when it is greater than 24fps will it produce a smooth look and feel. However, this is achieved by the use of visual effects such as dynamic blur. In the film industry, 24 frames are the gold standard. 24 frames are enough to make the picture very smooth and inexpensive to budget. This is also the past 50 years, most movies are 24 frames of the film.
The 30-frame movie is smooth enough, but it's not too much to believe because it doesn't have a gorgeous cinematic effect.
60fps is the de facto gold standard, very fluid, without any tricks. And, most people can't feel the benefit of a frame rate greater than 60fps. It is important to note that the human eye is very sensitive to frame rate inconsistencies.
For example, when the screen first moves at a 60fps frame rate, then the screen suddenly drops to 20fps and the frame rate changes, the human eye will find that the picture is not smooth, which often makes the user become very uneasy.
As an app developer, the goal is clear: Make sure the app stays at a 60fps frame rate and keep the user experience going.
If the app runs at a 60fps frame rate, it shows that every 16ms of the app does all the work, including input, compute, network communication, and rendering, each with a smooth experience for the user.
Android performance Patterns s01e03-why 60fps?