Codementor Events

How to Leverage PerfDog for Switch Platform

Published Feb 06, 2024
How to Leverage PerfDog for Switch Platform

Learn how to integrate PerfDog for Switch platform performance data collection and improve your game development process on the Nintendo Switch.

Overview

As the demand for Switch game development grows, the PerfDog team has introduced support for Switch platform performance data collection. This provides a stable and efficient performance testing solution for Switch game development, helping you identify performance bottlenecks and optimize your development work on the platform.
PerfDog supports both the Development and Release versions of Switch apps exported by Unity during the testing phase. It collects real-time performance data to assist in locating performance issues and optimizing the development process on the Switch platform.

Configuration Guide

Before using PerfDog for game testing, you need to connect your project to PerfSight, a performance testing tool that collects and analyzes performance data from real users on external networks. PerfSight supports all mobile console platforms and helps developers identify performance problems in their games. Follow these steps to configure PerfSight for your Switch project:

  1. Obtain SDK components: Contact PerfSight to acquire the necessary SDK components.

  2. Initialize PerfSight: In any script file, call InitContext for initialization. It is recommended to select the script loaded earlier and call this function in the Awake function.

  3. Mark the start of the scene: Call the MarkLoadlevel interface to mark the beginning of the scene and start collecting performance data.

  4. Mark the end of the scene: Call the MarkLevelFin interface to mark the end of the scene and stop collecting performance data.

For a detailed configuration guide, refer to the PerfSight help documentation.

Testing Steps

  1. Connect to the Switch development machine: Open the official Target Manager tool that comes with the Switch, connect to the Switch development machine used for testing, and ensure that the connection status is "Connected."

image.png

  1. Connect PerfDog to the Switch device: Start testing by connecting PerfDog to your Switch device.

2.png

  1. Launch the Switch app for testing: Begin the testing process by launching your Switch app.

3.png

Performance Data Metrics

PerfDog collects various performance data metrics during testing, including:

  1. FPS: Frame rate measurements, including average FPS, frame rate variance, number of frame drops, and frame rate standard deviation.
  2. Jank: Number of lags within 1 second, including serious lags and average number of freezes every 10 minutes.
  3. SmallJank: Tiny lags, capturing subtle lags based on Jank.
  4. Smooth: Frame stabilization index, evaluating the smoothness of the game or application screen.
  5. Stutter: Proportion of stuttering time during testing.
  6. FTime: Frame time measurements, including average frame time, Delta time consumption, standard deviation of frame time, and frame time variance.
  7. CPU Core Usage: Unnormalized usage of each CPU core.
  8. TotalAvailableMemorySize: Available memory of the entire machine.
  9. TotalUsedMemorySize: Memory used by the entire machine.
  10. TotalMemoryHeapSize: Available heap memory of the entire machine.
  11. AllocatedMemoryHeapSize: Whole machine allocates heap memory.
    12.ProgramSize: Program code and data size.
  12. TotalThreadStackSize: Currently created thread stack size, excluding destroyed threads and main threads.
  13. ThreadCount: Current number of threads, including the main thread.
  14. UnityMonoHeapReservedSize: The managed heap size allocated by Mono in the Unity engine.
  15. UnityMonoHeapUsedSize: The managed heap size used by Mono in the Unity engine.

By leveraging PerfDog's performance data collection and analysis capabilities, you can optimize your Switch game development process and deliver a smoother gaming experience to your players.

For more information, please contact PerfDog team

Discover and read more posts from WeTest
get started