In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-21 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/02 Report--
Part one: FrameTime
The definition of FrameTime: the interval between two frames is time-consuming (it can also be simply considered that it takes time to render a single frame).
Is there a connection between FrameTime and Catton? Please take a look at the case diagram in the following figure:
It can be seen from the picture that the GPU rendering time (frame generation time) of the B frame in the picture is greater than the display refresh interval, which takes up two display refresh times. That is to say, the picture was not refreshed once. When there are many times when there is no picture refresh (that is, the picture has not changed), it may be a stutter.
It is concluded from this that what the player user really sees is the interval between the refresh of the new screen, not the interval between the completion of the eglSwapbuffers-GPU rendering (which has not submitted the screen display). So the Frametime mentioned later all refers to the screen Display-Frametime.
Advantages of PerfDog tool: the FPS and Frametime of PerfDog statistics are both the screen Display that the user sees, the new screen is really refreshed FPS and the frame takes time. So you can directly use Frametime to determine whether there is stutter in the testing process.
Part II: FPS
Definition of FPS: frame rate (average number of image refreshes in 1 second).
Average frame rate: the traditional saying that the average number of refreshes in FPS,1 seconds.
Instantaneous frame rate: the real-time FPS calculated by the time-consuming FrameTime of a single frame, and the real-time frame rate converted by the time taken to refresh each frame.
The flow chart of picture rendering is as follows, FrameTime for each frame.
PerfDog statistics frame rate and FrameTime are shown below:
Is there a relationship between FPS frame rate and stutter? We will learn more about Andriod and ios scenarios:
IOS end
Apple WDDC18 annual developer conference
① FramePacing
For example, in the following two game screens, the one on the left tries to run at 60 frames, but only reaches 40 frames, while the one on the right runs steadily at 30 frames:
The frame rate on the left side of the image above is high, but there seems to be a card-by-meal phenomenon, which is caused by Micro Stuttering (miniature stuttering). The FrameTime on the left is shown below:
Through the FrameTime, we can see that there is a FrameTim > = 117ms in the high frame rate FPS=40 frame rate on the left, which is the theoretical average FrameTime=25ms. So non-uniform rendering, although the frame rate is as high as 40, but still feel very stuck.
Run FrameTime at 30 frames with low frame rate on the right as shown below:
As can be seen from the above FrameTime, the frame rate FPS=30,FrameTime is uniform to 33ms, and the picture will be very smooth.
Conclusion: high frame rate may not be smooth.
Android end
Test system version: Android4.4
① fluency mechanism-butter program (Jank)
Google Jank calculation idea: considering visual inertia, with hardware vsync time interval, if there is no new picture refresh in vsync for one time in a row, it is considered to be a stutter, that is to say, if there is no new picture refresh at the next time point in vsync, it is considered to be a Jank.
Part III: fluency
The relationship between fluency and Catton can be roughly demonstrated by the following flowchart:
Fluency affects Catton. This can be simply understood as two aspects: visual inertia and movie frames:
1. Visual inertia
Visual expected frame rate, the user subconsciously thinks that the next frame should also be refreshed at the current frame rate, for example, 60 frames all the time, and the user subconsciously thinks that the next frame should also be 60 frame rate. The refresh has always been 25 frames, and the user subconsciously thinks that the next frame should also be 25 frame rate. However, if the refresh is 60 frames, it jumps to 25 frames, disturbing the user's visual inertia. At this time, there will be a stutter of the user experience.
2. Movie frame
The movie frame rate (18-24), usually 24 frames. Movie frame time per frame: 1000ms/24=40ms. The movie frame rate is a tipping point. Below this frame rate, the human eye can basically feel the picture discontinuity, that is, the feeling of stutter.
Part IV: PerfDog-Jank
PerfDog Jank calculation idea: considering the visual inertia, assuming that the average frame time of the previous three frames is taken as a reference, and as the vsync interval, there is no new rendering picture refresh in vsync for two consecutive times, it is considered as a potential stutter, that is to say, the next frame takes more than 2 times the average frame time of the previous three frames, then it is considered a potential stutter. At the same time, a single frame takes more than twice the movie frame time 1000ms/24*2 (because the human eye is less than 24 frames to distinguish the picture discontinuity), it is considered to be a real stutter. At the same time, if the time of a single frame is more than 3 times that of the movie frame, it is considered to be a serious stutter.
Note: why two vsync? GPU is generally 3-buffer buffer, the current frame has occupied one buffer, that is, the remaining 2-buffer buffer, the human eye can generally tolerate 2-frame delay.
Why do two movie frames take time? When the picture is less than 24 frames, the human eye can sense the picture discontinuity, and the film is usually 24 frames. That is to say, movie frames take time 1000ms/24=41.67ms, two movie frames take 41.67ms*2, and three movie frames take 41.67ms*3.
PerfDog Jank calculation method:
If the two conditions are satisfied at the same time, it is considered to be a stutter Jank.
The average time of the first three frames of ① Display FrameTime > is 2 times.
② Display FrameTime > two movie frames take time (1000ms/24*2=84ms).
If the two conditions are satisfied at the same time, it is considered to be a serious stutter BigJank.
The average time of the first three frames of ① Display FrameTime > is 2 times.
② Display FrameTime > three movie frames time (1000ms/24*3=125ms).
Google-Jank is shown in the figure:
PerfDog-Jank is shown in the figure:
The real test FrameTime calculates Jank, as shown in the following figure:
PerfDog-Jank is shown in the figure:
Note: the frame rate is low, not a ton card, such as the frame rate is only a few frames, what else is there for a ton card?
At present, the comparison Jank of mainstream games is as follows:
PerfDog-web platform
Part V: influence
From the previous knowledge of the close relationship between FrameTime, FPS, fluency, and Jank, we can naturally come to the conclusion: do APP and games need to pay attention to Jank Catton? The answer is yes, and it is still a focus! The reasons are as follows:
In terms of games
Game fluency affects the user experience the most, so you need to focus on FPS and Jank.
Note: for example, stutters that have been predicted in the game, such as the new UI pop-up, can be considered as interference and need to be eliminated, and should not be counted as Jank. You can delete the interference data by right-clicking on the web cloud.
APP aspect
APP also needs to pay attention to FPS and Jank. You just need to distinguish between usage scenarios, such as:
1) static page window
You only need to pay attention to FPS, the theoretical FPS should be 0, otherwise, it means that there is a redundant refresh, which can easily cause the phone to heat up and consume power.
2) there is a scrolling animation page window
You only need to pay attention to the appropriate value of FPS,FPS, without the need for high-frequency refresh.
3) quickly slide the page window.
You need to focus on FPS and Jank. Mobile phone interaction sensitivity is derived from this, the Android system comes out of the butter plan Jank. In general, the higher the frame rate, the better, and the smaller the Jank, the better.
4) play video page window.
Need to pay attention to FPS and Jank, video stutter directly affects users. General frame rate of video is 18-24 frames, Jank=0. For example, Wechat plays videos, video players and so on.
Through the explanation of these five parts, I believe you can clearly understand the importance of APP& Catton for Jank Catton, as well as the focus of its attention. PerfDog is committed to improving the quality of games & applications.
PerfDog is a mobile full-platform iOS\ Android performance testing tool released by WeTest Tencent quality open platform. It can quickly locate and analyze performance problems and improve the performance and quality of APP applications and games. Mobile phones do not need ROOT/ jailbreaking, mobile hardware, games and applications do not need to make any changes, and plug and play is extremely simplified.
Scan the code and immediately add a group to communicate deeply with 2000 + testing peers.
Click to read the original text directly to the official website!
PerfDog official website: perfdog.qq.com
Tencent WeTest official website: wetest.qq.com
PerfDog communication group: 602206842
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.