A performance test and analysis tool platform for full mobile platform iOS/Android. Quickly address and analyze performance problems to improve APP and game performance & quality. Mobile phones need no ROOT / Jailbreak. Need no change of mobile phone’s hardware, games and APPs. Very simple and plug & play.
PerfDog supports the performance tests for all the APPs of the mobile platform (games, APPs, browsers, applets, mini-games, H5 and background system processes, etc.), Android emulators and real phone on cloud, etc. It supports the APP multi-process test (such as Android multi-subprocess and iOS extension process APP Extension).
The Windows & Mac OS X platform PerfDog desktop APP versions all support the test for both iOS and Android devices. PerfDog can be opened in multiple on PC and a single PC can test multiple mobile phones simultaneously.
Important notes Q&A: https://perfdog.wetest.net/article_detail?id=23&issue_id=0&plat_id=1
Special model guide:https://perfdog.wetest.net/article_detail?id=21&issue_id=0&plat_id=1
Description on performance reference standard:https://perfdog.wetest.net/article_detail?id=15&issue_id=0&plat_id=1
WEB manual:https://perfdog.wetest.net/article_detail?id=3&issue_id=0&plat_id=3
Windows device testing specification: https://perfdog.wetest.net/article_detail?id=142&issue_id=0&plat_id=1
Step 1: Log in PerfDog official website:https://perfdog.wetest.net, download the desktop APP according to your selected platform
Windows platform: extract the downloaded package and double click to open the PerfDog.exe desktop APP.
Mac platform: directly run dmg desktop APP.
Remark: PerfDog adopts the mode of free-installation software (green version). To update it, you just need to download the latest edition from the official website.
Step 2: connect mobile phone with USB. The mobile phone will be automatically detected and added into the APP list.
iOS: Plug & Play. The user needs no any operation. If PerfDog failed to detect the connected mobile phone or failed to test; please make sure that the latest iTunes can connect the mobile phone (can directly download and install the latest iTunes from QQguanjia).
Remark: if failing to use it, please refer to: https://perfdog.wetest.net/article_detail?id=23&issue_id=0&plat_id=1
Android: two modes are provided as installation mode and non-installation mode. (Note: please open the mobile phone USB debugging mode and allow installation and application via USB).
a. Non-installation mode:
The mobile phone is plug&play, needs no setting up or installation and is very easy to use. But there is no real-time performance data display on the mobile phone screen.
a. Installation mode:
Needs to automatically install PerfDog.apk on the mobile phone. There is real-time performance data displayed on the mobile phone screen (permissions to install and apply via USB and PerfDog floating window management). If you start the PC-version PerfDog.exe, PerfDog.apk will be PUSH installed automatically on the mobile phone. The specific installation is similar to the installation of third-party APPs onto various mobile phone makes. (Note: because many mobile phones need an account and password to install, it will result in failure for automatic installation. If the automatic installation fails, the installation file PerfDog.apk will be released into the current folder and you just need to manually install PerfDog.apk). In this mode, during the test, the PerfDog display app may be killed due to system resource shortage (performance data display on mobile phone interface), but it will not influence the normal test function.
Remark: if failing to use it, please refer to: https://perfdog.wetest.net/article_detail?id=23&issue_id=0&plat_id=1
Step 3: test mode
Once it is connected via USB, select the USB icon device in the device list to run USB mode test
In Wi-Fi mode, only the information such as power can be tested. Once it is connected via USB, select the Wi-Fi icon device in the device list to run Wi-Fi mode test. After Wi-Fi detects the connection is successful, unplug the USB connecting line. (Note: needs to connect PC and test mobile phone to the same Wi-Fi. After Wi-Fi detects the connection is successful, unplug the USB cable of the tested mobile phone (it will make no sense to test the power in USB mode because it will charge the phone) (remark: usually a company limits it with a safety policy, which results in the iOS platform not operating in such Wi-Fi).
Step 4: select the game & APP to test
PC as shown in the figure:
For Android platform, in the installation mode, there is real-time performance data display on the upper left
corner of the mobile phone screen (for Android mobile phones, please open the
PerfDog floating window management permission. Otherwise, the performance
parameters will not be displayed on the mobile phone)
1) Avg(FPS): Average FPS (the average FPS within a period)
2) Var(FPS): FPS variance (FPS variance within a period)
3) Drop(FPS): number of frame drops (average times of dropping adjacent two FPS points being more than eight frames within 1 hour)
4) Std (FPS): Standard deviation of frame rate (FPS standard deviation in a period of time)
Reference:https://perfdog.wetest.net/article_detail?id=20&issue_id=0&plat_id=1
PerfDog Jank calculation method:
1. If the two conditions below are both met, it will be regarded as one Jank.
a) Current FrameTime > Twice the average time of the previous three frames.
b) Current FrameTime > Time of two movie frames (1000ms/24*2≈84ms).
2. If two conditions are both met, it will be regarded as a Big Jank.
a) Current FrameTime > Twice the average time of the previous three frames.
b) Current FrameTime > Time of three movie frames (1000ms/24*3≈125ms).
1) BigJank: times of serious Jank within 1s
2) Jank (/10min): average number of Janks within 10min.
3) BigJank(/10min): average number of serious Janks within 10min.
SmallJank ( Capturing small caton based on Jank)
Smooth (Frame stability index, which can evaluate the stability of game or application screen, general game and video suggestions < 8, application app (sliding) suggestions < 20)
1) Avg(FTime): Average FrameTime
2) Delta(FTime): Incremental time (average time when the time interval between two adjacent frames is within 1 hour > 100ms)
3) Var(FTime): Variance of frame time
4) Std(FTime): Standard deviation of frame time
1) Render: renderer usage (in the pixel shading processing stage, if its proportion is high, it indicates that a bottleneck appears in the PS stage because the shader is too complex or texture size and complex sampling, etc.)
2) Tiler: Tiler usage (in the vertex shading processing stage, if its proportion is high, it indicates that a bottleneck appears in the VS stage because the vertex count is too high, etc.)
3) Device: device usage (overall GPU usage)
support all ios GPU Counter, same as Instrument
iOS GPU Counter data description: https://perfdog.wetest.net/article_detail?id=140&issue_id=0&plat_id=1
iOS GPU Counter compatibility list: https://perfdog.wetest.net/article_detail?id=141&issue_id=6&plat_id=1
Note: Sum(Battery) is power consumption.
Reference: https://help.apple.com/xcode/mac/11.0/index.html?localePath=en.lproj#/devf7f7c5fcd
1) Avg(FPS): Average FPS (the average FPS within a period)
2) Var(FPS): FPS variance (FPS variance within a period)
3) Drop(FPS): number of frame drops (average times of dropping adjacent two FPS points being more than eight frames within 1 hour)
4) Std (FPS): Standard deviation of frame rate (FPS standard deviation in a period of time)
Remark: High-order FPS functions – Android window and FPS
Please refer to : https://perfdog.wetest.net/article_detail?id=10&issue_id=0&plat_id=1
1) BigJank: times of serious Jank within 1s
2) Jank (/10min): average number of Janks within 10min.
3) BigJank(/10min): average number of serious Janks within 10min.
SmallJank ( Capturing small caton based on Jank)
Smooth (Frame stability index, which can evaluate the stability of game or application screen, general game and video suggestions < 8, application app (sliding) suggestions < 20)
1) Avg(FTime): Average FrameTime
2) Delta(FTime): Incremental time (average time when the time interval between two adjacent frames is within 1 hour > 100ms)
3) Var(FTime): Variance of frame time
4) Std(FTime): Standard deviation of frame time
Note: in an extreme condition, for example, if the game’s super-high FPS is enabled, it is recommended not to tick collect Memory Usage and Memory Detail because some models will suffer performance loss.
support all Qualcomm GPU Counter,same with Snapdragon
support all Mali GPU Counter,same with Streamline
support part of PowerVR GPU Counter,same with PVRTune
1) Non-fragment: the ratio of the GPU time consumed by the non-fragment shader (vertex shader, subdivision shader, compute shader) in the GPU time consumed by rendering.
2) Fragment: the ratio of the GPU time consumed by the fragment shader in the GPU time consumed by rendering.
1) L2Load/Store: Actual bandwidth that Load/Store unit reads L2 memory (including vertex cache, atom and image data).
2) L2Texture: Actual bandwidth that texture unit reads L2 memory (texture sampling).
3) Bus Read: defines the actual read bandwidth from GPU to DRAM or to the system memory outside GPU.
4) Bus Write: defines the actual write bandwidth from GPU to DRAM or to the system memory outside GPU.
1) OverDraw: indicates how many segments and layers each pixel consists of. It is usually used to express the times that a pixel is drawn repeatedly.
2) PixelsThroughput: indicates the number of clocks of GPU consumed by each rendered pixel.
Note: for more description of GPU information, please refer to: https://perfdog.wetest.net/article_detail?id=19&issue_id=0&plat_id=1
CTemp (CPU temperature)
GTemp (GPU temperature)
BTemp (Battery temperature)
NTemp (NPU temperature)
FPower (Frame power consumption)
1. Performance parameter control Page:
Click
“+” button, select the performance parameter necessary to collect and control
the performance parameter display page
2. Record storage:
After the test ends, you can independently choose two methods to save or process (Upload/Save) performance data:
1) Upload the performance data synchronously to PerfDog cloud web Kanan
2) Locally export Excel file
3. Play back record (convenient for lookback analysis):
Open the file to play back
The playback result is as shown in the figure:
4. Annotation and calibration (left double click the mouse to annotate. Left double click the generated annotation to cancel it. Left single click to calibrate):
5. Set the performance parameter statistics & analysis threshold, edit the statistics parameter analysis and select the record to save (comparing with TDR standard):
Can use mouse to select/drag, query the time and cycle, statistics data, etc. Also, can save the selected data. Can set the corresponding performance parameter statistics analysis threshold, etc., on the right.
6. Scene Label:
Make a label of the performance data using the label button. Left double click the mouse on the color area to modify the corresponding area label name
7. Screen record:
Note: screenshot record is enabled which influences the performance
8. Multi-process test.
iOS platform: APP multi-process is divided into APP Extension and system XPC Server.
For example: an E-sports live broadcasting software uses APP Extension process (Extension process name: LABroadcastUpload). Of course, the system XPC Server process may also be used, for example, the web browser usually uses webkit.
Android platform: usually the large APPs, such as games, can sometimes operate collaboratively in multiple processes (APPs such as WeChat Mini Game and Weishi, etc., as well as games such as Honor of Kings all use multiple processes). Can select the target subprocess to perform the target test. It is the host process by default. Honor of Kings is as shown in the figure.
How Android tests WeChat Mini Game & Mini Program: https://perfdog.wetest.net/article_detail?id=4&issue_id=0&plat_id=4
How iOS tests WeChat Mini Game & Mini Program: https://perfdog.wetest.net/article_detail?id=127&issue_id=0&plat_id=4
Testing Mini Game, Mini Program, etc. Below is Mini Game – Romantic Rose Garden
Remark: the subprocess name is highlighted, indicating that the current subprocess is at the top.
9. FPS high-order functions (Android platform):
Meet the requirements of senior users to more precisely test the window FPS (suitable to all APPs including games, Mini Games, Applets, live broadcasting, videos and web, etc.)
Please refer to: https://perfdog.wetest.net/article_detail?id=10&issue_id=0&plat_id=1
10. Log functions:
Collect the system log information.
11. Stop function:
No need to unplug the mobile phone. Click the 'Stop Test' button to stop collecting data.
12. Customize data file server address to create your own web cloud:
The data file server can be modified to upload the address. Post uploads http protocol format file to your own server address.
Reference and Demo: https://perfdog.wetest.net/article_detail?id=18&issue_id=0&plat_id=1
13. Sidebar Collapse: Click here to collapse the panel to collapse the left information bar
14. MemReport feature(Supports Dev version of Unreal engine): click the "MemReport" button in the upper right corner to get the current time point MemReport data
Click the MemReport tab to bring up the MemReport dialog
MemReport report style:
1. Personal performance data MyData.
Display of specific performance data.
2. Test mask management
Create a task and invite the test member to join or join the test task created by others.
3. Performance data sharing & summarization
4. Test task performance data Task Data
5. Data report & privacy sharing
Access the link shared by others to view the data report:
https://perfdog.qq.com/case_detail/367665 Password: xs2BPa
6. Multi-dimension comparison of case report (details, model, version, ratio, interval, tendency, drag & zoom, etc.)
Comparison of ratio, interval, tendency and drag & zoom, etc. (drag the performance curve left or right with the mouse)