Interactive Profile Data Visualization for Video Game Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for analyzing profile data from computer programs, such as video game software, rely heavily on textual presentations that disconnect information pieces, making it difficult for users to gain a comprehensive view of performance and optimization opportunities.

Innovation Solution

The implementation of a system that visually and interactively manipulates profile data by displaying detailed graphs of functions, allowing users to select functions for graphical representation, with features like mini-graphs, highlight bands, and non-uniform scaling to correlate performance impacts and frame rate analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If profile data is presented in textual format with tables and descriptive text, then detailed information can be provided, but the information pieces are disconnected and comprehensive views are difficult to obtain

Engineering Contradiction:
Improvecomprehensive view of performance dataVSAvoidease of correlating information pieces
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent transforms one-dimensional textual data presentation into two-dimensional graphical visualizations. Function graphs plot performance metrics against time or execution progress, creating a visual dimension that allows users to see correlations and patterns across multiple information pieces simultaneously, resolving the disconnection problem inherent in textual formats

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent combines multiple disconnected information pieces into integrated graphical displays. The function graphs merge performance data, timing information, and functional context into unified visual representations, allowing users to obtain comprehensive views without manually correlating separate text elements

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If detailed function graphs are displayed for each selected function, then comprehensive performance analysis is enabled, but the interface complexity and data processing requirements increase

Engineering Contradiction:
Improveprecision of performance analysisVSAvoidinterface complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the profile data display into hierarchical levels: an overview mode showing all functions with mini-graphs, and a detailed mode showing expanded function graphs for selected functions. This segmentation allows users to access comprehensive analysis only when needed, reducing normal interface complexity while preserving measurement precision

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic display behavior where the level of detail adapts based on user interaction. Functions can be expanded from mini-graphs to full graphs and collapsed back, allowing the interface complexity to dynamically adjust to user needs while maintaining the capability for precise analysis when required

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9576382B2Method and apparatus for visualizing and interactively manipulating profile data
Publication Date: 2017.02.21 NINTENDO CO LTD
  • US9576382B2 patent drawing
  • US9576382B2 patent drawing
  • US9576382B2 patent drawing

AI summary

Profile data collected through sampling is transformed and visually and interactively manipulated and displayed. In one scenario, the profile data is collected through statistical profiling of a program for a video game. The game program profile data is visually and interactively manipulated and displayed to visually present a dynamic behavior of the video game that shows correlation of impacts that the functions of the program have on the video game's performance. This allows the developer to identify inefficient sections of the program for optimization.