DEV Community

Cover image for How Can Unity Developers Identify Asset Loading Bottlenecks with GOT Online?
GameOptim
GameOptim

Posted on

How Can Unity Developers Identify Asset Loading Bottlenecks with GOT Online?

Summary

Asset loading delays and excessive resource operations can cause noticeable stuttering in Unity games. To help developers identify the underlying causes, GameOptim's GOT Online Overview mode introduces Resource Management, which provides quantitative analysis of resource loading and unloading, as well as GameObject instantiation and activation. Developers can inspect execution time, call frequency, AssetBundle information, and the APIs used for resource operations.

GOT Online also adds scene segmentation, allowing developers to analyze performance costs within specific scenes, UI screens, or other sections of gameplay. These features help development teams narrow down loading bottlenecks and conduct more targeted performance investigations.

Introduction

As a Unity project grows in complexity and the number of assets increases, resource loading can become a significant performance concern. However, identifying which resource, AssetBundle, or loading operation is responsible for excessive execution time is not always straightforward.

GameOptim has enhanced GOT Online's Overview mode with resource management analysis and scene segmentation. These features allow developers to examine resource operations quantitatively and break down performance data into more specific sections, making it easier to investigate loading bottlenecks and understand where execution time is being spent.

Main Body

How Can You Identify Asset Loading Bottlenecks in Unity?

Resource loading is an important area to investigate when diagnosing performance issues. As a project becomes more complex and contains more assets, loading operations can become more noticeable sources of stuttering.

The key question is: Which resources, AssetBundles, or loading operations are consuming the most time?

Previously, GameOptim shared techniques for investigating this problem in a technical article about resource loading. With the new Resource Management feature in GOT Online's Overview mode, developers can now quantify the execution costs of individual resource operations directly in the online report.

The analysis covers operations such as:

  • Resource loading and unloading.
  • GameObject instantiation and activation.
  • Execution time and operation frequency.

This detailed breakdown helps developers identify the specific operations that deserve further investigation instead of relying solely on overall loading performance.

Which Resources Should You Investigate First?

The Resource Management overview highlights the top 10 resources with the highest loading costs and the top 10 with the highest operation frequencies that warrant attention.

By surfacing these high-priority resources, GOT Online helps developers focus their investigation on operations with significant execution costs or frequent calls.

Reviewing these resources first can help teams prioritize their optimization efforts and identify opportunities for improvements without having to inspect every resource individually.

How Can You Analyze AssetBundle Loading and Resource APIs?

In addition to the overall resource statistics, GOT Online provides a dedicated Resource Loading/Unloading page for examining individual loading operations.

For each relevant operation, developers can inspect:

  • AssetBundle: Which AssetBundle contains the loaded resource.
  • API used: Which interface was used to load the resource.
  • Execution time: How long the loading operation took.
  • Call count: How many times the operation occurred.

This information helps developers investigate both the resources involved and the methods used to load them. For example, when a resource appears among the high-cost or high-frequency operations, developers can examine its AssetBundle, loading API, execution time, and call count to better understand the source of the cost.

How Can Scene Segmentation Improve Performance Analysis?

Performance data aggregated across an entire gameplay session may not provide enough detail to determine which scene or UI section is responsible for a particular cost.

GOT Online introduces scene segmentation, allowing developers to divide captured performance data into more specific sections. This makes it possible to analyze execution costs for different scenes, UI screens, and other parts of a gameplay flow separately.

To configure scene segmentation, open Scene Overview → Scene Management and click Add Scene Marker. Enter the segmentation position and scene name to define the new section. GOT Online can then present the corresponding performance analysis based on the updated segmentation.

What Does Performance Analysis Look Like Before Scene Segmentation?

Before segmentation, performance data is presented without the newly defined section boundaries, making it harder to isolate costs associated with a particular part of the gameplay flow.

How Does Scene Segmentation Change the Analysis?

After segmentation, developers can examine the data within the newly defined sections, making it easier to distinguish performance costs associated with different scenes or UI sections.

By dividing performance data into meaningful sections, teams can conduct more focused investigations and better understand how execution costs vary across different parts of the game.

What Is GOT Online, and Which Performance Analysis Modes Does It Support?

GameOptim GOT Online is a lightweight performance analysis service built on its local testing workflow. Development teams can quickly synchronize locally collected performance data to the GameOptim website and generate online analysis reports.

GOT Online combines local testing with online report access, allowing teams to review performance data through a centralized reporting workflow.

The service currently provides four performance analysis modes:

  • Overview: Overall performance analysis.
  • Mono: Mono heap memory analysis.
  • Lua: Lua performance analysis.
  • GPU: GPU performance analysis.

These modes support different aspects of game performance investigation, from overall execution costs and resource loading to memory usage, Lua behavior, and GPU performance.

What Should Unity Developers Take Away?

  • Prioritize high-cost resource operations: Use Resource Management in Overview mode to identify resources with high loading costs or operation frequencies.
  • Inspect individual loading operations: Check AssetBundle information, the APIs used, execution time, and call count to investigate loading bottlenecks.
  • Analyze GameObject operations: Examine the time spent instantiating and activating GameObjects alongside resource loading and unloading.
  • Use scene segmentation for finer analysis: Divide performance data into specific scenes or UI sections to isolate execution costs.
  • Choose the appropriate analysis mode: Use Overview for overall performance, Mono for heap memory, Lua for Lua performance, and GPU for GPU performance.

FAQ

Q1. How can Unity developers identify which assets cause loading bottlenecks?

Use Resource Management in GOT Online's Overview mode to examine resource loading costs and operation frequencies. The overview highlights the top 10 resources in each category, helping developers prioritize their investigation.

Q2. What information does GOT Online provide for resource loading operations?

The Resource Loading/Unloading page shows which AssetBundle contains a resource, which API was used, how much time the operation took, and how many times it occurred.

Q3. Can GOT Online analyze GameObject instantiation and activation costs?

Yes. Resource Management provides quantitative analysis of GameObject instantiation and activation, alongside resource loading and unloading operations.

Q4. What is scene segmentation in GOT Online?

Scene segmentation allows developers to divide performance data into specific sections, such as individual scenes or UI screens, so they can analyze execution costs more precisely.

Q5. How do you configure scene segmentation in GOT Online?

Navigate to Scene Overview → Scene Management, click Add Scene Marker, and enter the segmentation position and scene name. The report can then display performance data according to the defined sections.

Q6. Which performance analysis modes does GOT Online support?

GOT Online provides four modes: Overview for overall performance analysis, Mono for Mono heap memory analysis, Lua for Lua performance analysis, and GPU for GPU performance analysis.

Top comments (0)