- Mastering High Performance with Kotlin
- Igor Kucherenko
- 358字
- 2021-06-25 20:55:23
Frame rate
The human brain receives and processes visual information continuously. This can be used to create the illusion of motion when images follow each other fast enough. When an animation or transition runs or the user scrolls the page, the application needs to put up a new picture for each screen refresh. How many images software shows per second is the frame rate, and it's measured in frames per second (FPS):
- A rate of 10 to 12 frames per second is referred to as clearly motion, and, in this case, a user retains awareness of inpidual pages.
- A 24 frames per second rate with motion-blurring technology is enough to see fluid movement and is enough for the film industry.
- A 30 frame per second rate is sufficient for movies, but without special effects.
- 60 or more frames per second is what most people see as high-quality, smooth motion:

The act of generating a frame from an application and displaying it is referred to as user interface rendering. According to the table with recommended frame rates for popular devices, to be sure that a user interacts with an application smoothly, the application should render one frame each 16.6 ms to display 60 frames per second. The developer has to take into account that the system also requires some time to draw a frame, so it's not a good idea to plan to own all of that 16 ms, and it would be better to count on 10 ms. When an application fails to meet this budget, the frame rate drops and the content stutters on the screen.
It's essential to understand how to get smooth motion with a high frame rate. The human eye is extremely sensitive to motion inconsistencies. An application can display on average 60 frames per second, but it's enough to have only one frame that takes more than 16 ms to render, for the user to see something that we call hitching, lag, or jank. If the device's refresh rate is higher than the frame rate, the monitor displays repeated renderings of identical frames. This diagram illustrates a simplified view of jank:

- The Complete Rust Programming Reference Guide
- AngularJS Web Application Development Blueprints
- C/C++算法從菜鳥到達人
- 編寫整潔的Python代碼(第2版)
- Scratch 3游戲與人工智能編程完全自學教程
- 假如C語言是我發明的:講給孩子聽的大師編程課
- Learning Selenium Testing Tools(Third Edition)
- C程序設計實踐教程
- OpenGL Data Visualization Cookbook
- Kotlin開發教程(全2冊)
- 新印象:解構UI界面設計
- 零基礎輕松學C++:青少年趣味編程(全彩版)
- 嵌入式Linux C語言程序設計基礎教程
- Mastering Android Studio 3
- C語言程序設計實踐