English User’s Guide** : **

Bbs.perfdog.qq.com/article-det…

Introduction:

Mobile all-platform iOS/Android performance testing and analysis tool platform. Quickly locate and analyze performance problems to improve the performance and quality of apps and games. There is no need to ROOT/ jailbreak the phone, and no need to make any changes to the phone’s hardware, games and apps, making it very simple to plug and play.

PerfDog supports performance testing of all applications on mobile platforms (games, apps, browsers, applets, mini-games, H5, background system processes, etc.), Android emulators, cloud servers, etc. Support APP multi-process test (such as Android multi-child process and iOS Extension process APP Extension).

Both versions of PerfDog desktop application for Windows & Mac OS X support testing on iOS and Android devices. PerfDog can be opened more than once on PC, and multiple mobile phones can be tested simultaneously on a single PC.

Important instructions Q&A

: [

Bbs.perfdog.qq.com/detail-128….

] (bbs.perfdog.qq.com/detail-128….).

**

Guide for Special Models

* * :

Bbs.perfdog.qq.com/detail-127….

Performance reference standard description:

Bbs.perfdog.qq.com/detail-145….

WEB User Manual

:

Bbs.perfdog.qq.com/article-det…

Installation and operation:

Step 1: Log in to PerfDog’s website

perfdog.qq.com/

According to your

PC

Platform select the desktop application you want to download

Windows**** platform: Unpack the download package and double-click perfdog.exe to open the desktop application.

Mac**** platform: Run DMG desktop applications directly.

Note: PerfDog uses installation-free software (green version) mode. If you want to update the software, you can download the latest version from the official website.

Step 2: Connect the USB device to the phone and automatically detect that the phone is added to the app list.

IOS ** : ** is plug and play, users do not need to do anything. If PerfDog fails to detect the connection to the mobile phone or cannot be tested, please install it first to ensure that the latest iTunes can be connected to the mobile phone (the latest iTunes can be directly downloaded and installed on QQ Housekeeper).

** Note: ** If not available please refer to:

Bbs.perfdog.qq.com/detail-128….

Android** : ** has two modes, non-installed mode and installed mode. (Note: Please enable the MOBILE PHONE USB debugging mode and allow USB application installation.) .

A. Non-installation mode:

The phone is plug-and-play, doesn’t require any setup or installation, and is very simple to use, but there’s no real-time performance data on the screen.

B. Installation mode:

Perfdog. apk needs to be installed automatically on the mobile phone, and real-time performance data will be displayed on the screen of the mobile phone (allowing USB application installation and PerfDog suspension window management rights). When the PC version of Perfdog. exe is started, perfdog. apk will be automatically pushed to install on the mobile phone. The specific installation is similar to that of third-party APPS installed by various mobile phone manufacturers. (Note: Many mobile phone installation requires account password, so automatic installation cannot be done. If automatic installation fails, the installation file Perfdok. apk will be released to the current folder, and manual installation of Perfdok. apk can be done.) In this mode, during the test, the app (performance data display on the mobile phone interface) may be displayed by killing PerfDog due to system resource shortage, but normal test functions will not be affected.

** Note: ** If not available please refer to:

Bbs.perfdog.qq.com/detail-128….

Step 3: Test mode

L USB mode test:

After the USB cable is connected, select a USB icon device in the device list to test the USB mode

L WIFI mode test (test power) :

Power and other information can only be tested in WIFI mode. After the USB connection, select the WIFI icon device in the device list to test the WIFI mode. Disconnect the USB cable after the WIFI connection is successfully detected. (Note: THE PC and the tested phone should be connected to the same WIFI. After the WIFI connection is successfully detected, unplug the USB cable of the tested phone (the test power in USB mode is meaningless, and the phone will be charged). (Note: Generally, the company’s WIFI may be restricted by security policies, so iOS platform cannot be used under the company’s WIFI)

Step 4: Select the game & app to test

The PC as shown in figure:

Android platform, in installation mode, real-time performance data will be displayed in the upper left corner of the phone screen (For Android phones, please open PerfDog suspension window management permission, otherwise performance parameters will not be displayed on the phone)

Software performance data collection:

IOS **** platform (Apple official Xcode tool parameter alignment. Note: iOS has strict limits on process performance parameters. If the parameters exceed the limits, the process will be killed by the system.

L ScreenShot(USB mode only)

L FPS(average number of real refresh times of game screen or application interface in 1 second, commonly known as frame rate per FPS)

  1. Avg(FPS): Average frame rate (average FPS over time)

  2. Var(FPS): Frame rate variance (FPS variance over time)

  3. Drop(FPS): the number of frames dropped (the average number of frames dropped between two adjacent FPS points per hour)

L Jank(number of times of delay in 1s. IOS9.1 or later is not supported. Similar to Android Jank Cardon and iOS frame Acing smoothness statistics principle. A high FPS does not reflect smoothness or lack of lag. For example: FPS is 50 frames, render one frame for the first 200ms and 49 frames for the last 800ms, although the frame rate is 50, it still feels very sluggish. At the same time, a low FPS does not mean a lag, such as 15 FPS without a lag. So average FPS has nothing to do with gridlock.)

Reference:

Bbs.perfdog.qq.com/article-det…

Calculation method of PerfDog Jank**** :

1. If the following two conditions are met at the same time, it is considered to be a kartun Jank.

A) Current frame time > the average time of the previous three frames is 2 times.

B) Current frame Time > time of two movie frames (1000ms/24*2=84ms).

2. If both conditions are met at the same time, it is considered to be a serious jam BigJank.

A) Current frame time > the average time of the previous three frames is 2 times.

B) Current frame Time > Time of three movie frames (1000ms/24*3=125ms).

  1. BigJank: The number of times of severe stalling within 1s

  2. Jank(/10min): The average number of stutons per 10 minutes.

  3. BigJank(/10min): Average number of severe stackage per 10 minutes

L FTime(the interval between the display of upper and lower frames, which is considered as frame time, is temporarily not supported by iOS9.1 or below)

  1. Avg(FTime): indicates the average frame time

  2. Delta(FTime): Incremental time (average times of time difference between two frames >100ms per hour)

L CPU Usage(TotalCPU indicates the CPU Usage of the whole system, and AppCPU indicates the CPU Usage of the process. The statistical result is the same as that of Xcode. PerfDog Usage =Xcode Usage/Number of cores. Note: CPU Usage of iOS is not normalized. For details, see

Bbs.perfdog.qq.com/detail-146….

)

L Memory (is statistical FootPrint, note: OOM is related to FootPrint, and has nothing to do with system or model. Only related to RAM, such as a machine with one gigabyte of memory. FootPrint exceeds 650MB, causes OOM). Note: PerfDog is temporarily unavailable in iOS9 and 10, other versions are OK. Added in later versions. For performance tests, you are advised to upgrade the iOS version

L Xcode Debug and evacuation Memory (Xcode Debug and evacuation Memory) Note: iOS9 and 10 are temporarily unavailable. Other versions are ok. Added in later versions. For performance tests, you are advised to upgrade the iOS version

L Real Memory(Xcode Instrument statistics is Real Memory, which occupies physical Memory. Note: Physical memory is related to system policy and is not a concern when measuring memory metrics, but it helps analyze and locate overall performance issues. For example, the footprint does not decrease, indicating that the application does not release memory, but real Memory decreases, indicating that the system has compressed memory. Since compression takes up CPU resources, it also results in a lower FPS.)

L Virtual Memory

L Wakeups(number of times a thread wakes up. Note: Processes larger than 150 are most likely to be killed by the system. Surplus /wake cycle on each thread per second, excess of 150 wakeups per second over 300 seconds, In particular, the event of smother background process in iOS13.2 is recommended.

L CSwitch(context switch test. Note: A process with a single CPU greater than 14000 is killed by the system. Context Switch Limit 14000(Core/Second)

l GPU Utilization

  1. Render: pixel shader utilization (pixel shader processing stage, if the proportion is high, it indicates that there is a bottleneck in the PS stage, shader is too complex or texture size, sampling complexity, etc.)

  2. Tiler: Tiler utilization (in the vertex coloring stage, if the ratio is high, it indicates that there is a bottleneck in the VS stage and there are too many vertices, etc.)

  3. Device: Device utilization (overall GPU utilization)

L Network(Recv/Send, test the traffic of the target process, the statistical result is consistent with Xcode)

L BTemp(Battery temperature)

L Battery Power(Real-time Current Current, Voltage Voltage, Power consumption) (Note: 20s is the most accurate statistical method, and the result is consistent with Battery Life, supporting all iOS models)

Note: Sum(Battery) refers to power consumption.

L Energy Usage(Xcode Energy Impact) Monitors application power consumption (including CPU, GPU, NetWork, Location, Display (iPhone X only), and Overhead). (Note: Consistent with Xcode Energy Impact results. Test in wired mode, supporting iOS9 or later. Total Energy<=270 = Low, 270<Total Energy<=1000 = High, Total Energy>1000 = Very High).

Reference:

Help.apple.com/xcode/mac/1…

L Log Log collection (iN WIFI mode, Log collection is not supported)

Android * * * * platform

L ScreenShot(USB mode only)

L FPS(average number of real refresh times of game screen or application interface in 1 second, commonly known as frame rate per FPS)

  1. Avg(FPS): Average frame rate (average FPS over time)

  2. Var(FPS): Frame rate variance (FPS variance over time)

  3. Drop(FPS): the number of frames dropped (the average number of frames dropped between two adjacent FPS points per hour)

Note: Advanced FPS features -Android window and FPS

Please refer to the

[

Bbs.perfdog.qq.com/?m=app&c=de…

] (bbs.perfdog.qq.com/?m=app&c=de…).

L Jank(number of times of delay in 1S. For example, iOS platform)

  1. BigJank: The number of times of severe stalling within 1s

  2. Jank(/10 minutes): Average number of stutters per 10 minutes.

  3. BigJank(/10 min): Average number of severe stackage per 10 min

L FTime(display interval of upper and lower frames, namely, frame time)

  1. Avg(FTime): indicates the average frame time

  2. Delta(FTime): Incremental time (average times of time difference between two frames >100ms per hour)

L CPU Usage(Traditional CPU Usage, also known as unnormalized CPU Usage. TotalCPU indicates the unnormalized CPU Usage of the entire system, and AppCPU indicates the unnormalized CPU Usage of the process. Note: The statistical results are consistent with those of Android Studio Profiler. Specific reference

Bbs.perfdog.qq.com/detail-146….

)

L CPU Usage (Normalized)(TotalCPU indicates the Normalized CPU Usage of the entire device, and AppCPU indicates the Normalized CPU Usage of a process. Note: You are advised to refer to standardized CPU usage for more accurate performance reference. Specific reference

Bbs.perfdog.qq.com/detail-146….

l)

L CPU Clock(unnormalized frequency and unnormalized usage of each CPU core)

Normalized CPU Clock (Normalized CPU usage)

L Memory (PSS Memory, the statistical results are consistent with Android Java API standard results, and also consistent with Meminfo. Note: Some Samsung machine systems have modified the Meminfo underlying statistical method, resulting in inconsistent Meminfo and Java AP statistical results. The new Samsung machine has been fixed.)

L Swap Memory (Some devices support the Swap function. After the Swap function is enabled, the system will compress the PSS Memory. If the Swap function is enabled, the PSS Memory will be reduced accordingly.

l Virtual Memory(VSS)

L Memory Detail(NativePSS, GFX, GL, Unknown)

L GPU Usage(currently only supports some Qualcomm phones). Note:

Top Android GPU test model, please refer to:

[

Bbs.perfdog.qq.com/detail-195….

] (bbs.perfdog.qq.com/detail-195….).

L GPU Frequency(currently only supports some Qualcomm phones).

L Network(Recv/Send, test the traffic of the target process)

L CTemp(CPU temperature)

Battery Power(Current Current, Voltage Voltage, Power consumption) (Note: Error <3% from instrument test). Note: Sum(Battery) refers to power consumption.

L Log Log collection (iN WIFI mode, Log collection is not supported)

Web Performance Data Management:

L Account information management

L Performance data management, chart presentation, editing, large version comparison

L Performance data statistics, analysis and multi-dimensional comparison

L Performance test task management

Software functions:

1. Performance parameter control Page:

Click the “+” button to select performance parameters to be collected and control the display page of performance parameters

2. Record keeping:

At the end of the test, the Upload/Save performance data can be saved in two ways:

1) Synchronously upload performance data to PerfDog Cloud Web Kanban

2) Export Excel files locally

3. Record playback (easy to look back and analyze) :

Open file to play back

The replay result is shown in the following figure:

4. Annotation and calibration (double-click the left mouse button to annotate. Left-click on the generated annotation to cancel it. Left mouse click, then calibration) :

5. Set thresholds for statistical analysis of performance parameters, edit statistical parameter analysis, and save box records (aligned with TDR standards) :

You can select or drag the mouse to query statistics within a time period. At the same time, the selected data can be saved. On the right, you can set thresholds for statistical analysis of performance parameters.

6. Scene Label

You can label performance data using a label button. Double-click a color area to change the label name

7. Screen recording:

Note: The screen capture function is enabled, which affects performance

8. Multi-process testing.

On iOS platform, APP multi-process is divided into APP Extension and system XPC Server.

For example, a live esports software uses the APP Extension process (LABroadcastUpload). Of course, it may also use the system XPC Server service process, such as the general Web browser will use WebKit.

On The Android platform, general large-scale apps, such as games, sometimes run cooperatively with multiple processes (wechat mini games, Wechat apps and games like King of Glory have multiple sub-processes), and target sub-processes can be selected for targeted testing. The default is the main process. As shown below, Honor of Kings

Android how to test wechat small games & small programs: [

Bbs.perfdog.qq.com/article-det…

] (bbs.perfdog.qq.com/article-det…).

IOS how to test wechat mini games & small programs:

Bbs.perfdog.qq.com/article-det…

Micro channel game, small program test, etc., as follows is micro channel game – Romantic Rose Garden

Note: If the subroutine process name is highlighted, the current subroutine process is at the top level.

9. Advanced FPS features (Android) :

Meet advanced users more accurate test window frame rate (games, small games, small programs, live, video, web and other applications are applicable).

Please refer to:

Bbs.perfdog.qq.com/?m=app&c=de…

10. Log Log function:

Collect system logs.

11. Stop function:

StopProfilling stops collecting information without having to pull out the phone.

Custom data file server address, build their own web cloud:

You can change the upload address of the data file server. Post Uploads HTTP files to the server address.

Reference notes and Demo:

Bbs.perfdog.qq.com/detail-217….

Web Cloud Platform functions:

1. Personal performance data MyData.

Display specific performance data.

2. Manage test tasks

Create a task Invite test members to join or join a test task created by others.

3. Summarize performance data sharing

4. Test Task Data

5. Data report privacy sharing

To view the data report, visit the link shared by others:

Perfdog.qq.com/case_detail…

Password: xs2BPa

6. Case report multi-dimensional comparison (details, model, version, proportion, range, trend, drag and zoom, etc.).

Comparison of proportion, range, trend, drag and zoom (drag performance curve left and right)