Alpha-XP - ShaderMemoryAtlas

Shader Memory Atlas is an advanced GPU memory profiling tool designed for Unreal Engine 4.27, aimed at optimizing memory usage by providing real-time tracking, visualization, and analysis capabilities..

Key Functionality

  1. GPU Memory Tracking:

    • Monitors VRAM usage for textures, materials, shaders, and meshes.

  2. Visualization with Heatmaps:

    • Uses color-coded representations to indicate memory costs of actors, facilitating quick identification of high usage areas.

  3. Performance Analysis:

    • Helps identify optimization opportunities to enhance game performance.

  4. Report Generation:

    • Exports data into CSV files for detailed external analysis.

  5. Platform Support:

    • Compatible with Windows and Android platforms.

Complete Plugin Package

  • Directory Structure:

    • Contains essential files, including plugin descriptors, source code, documentation, and building instructions.

    • Approx. 4,000 lines of production-ready C++ code.

Core Features

1. VRAM Tracking System

  • Monitors real-time GPU memory usage across different asset types.

  • API methods for accessing memory stats.

2. Heatmap Visualization [ in Progress ]

  • Provides a color-coded heatmap for instant visual feedback on memory usage.

  • Adjustable intensity settings for better visibility.

3. Editor UI Panel

  • Dockable and user-friendly interface displaying an overview of VRAM usage, asset lists, and export options.

Use Cases

  • Mobile Optimization: Identify and reduce high VRAM usage to meet device limitations.

  • PC Optimization: Optimize assets for mid-range GPUs to prevent performance issues.

  • Level Design: Provide real-time memory feedback during the design process for better asset management.

  • Performance Profiling: Analyze memory usage to correlate with performance metrics.

Technical Implementation

  • Memory Calculation Methods: Utilizes formulas to estimate memory sizes for different asset types.

  • Heatmap Algorithm: Iterates through actors, calculates memory costs, and visualizes them accordingly.

Architecture Overview

  • Module Design: Follows a structured approach with different classes handling various functionalities, such as memory tracking and UI management.

Build Requirements

  • Dependencies: Includes core Unreal Engine libraries required for functionality.

  • Supported Platforms: Specifically optimized for Windows and Android.

Performance Characteristics

  • Quick operations with minimal overhead, ensuring no significant impact on game performance during runtime.

Quick Start Guide

  1. Build the plugin using Visual Studio.

  2. Enable it in the Unreal Editor.

  3. Access via Window → Shader Memory Atlas to start profiling.

Advantages Over Built-in Tools

Feature Built-in Tools Shader Memory

AtlasVisual heatmap ❌ ✅

Per-actor breakdown ❌ ✅

Direct asset navigation ❌ ✅

CSV export capability ❌ ✅

Real-time toggle ❌ ✅

Learning Opportunities

  • Demonstrates UE4 plugin architecture, Slate UI development, and RHI integration.

  • Provides insights into effective asset management and visual debugging techniques.

Quality Standards

  • Features well-commented, modular code with thorough error handling and user-friendly interfaces.

Final Notes

  • The plugin is ready for immediate use and is positioned as a robust tool for developers looking to optimize their projects effectively.

  • Comprehensive documentation ensures users of all levels can quickly leverage its features for better performance.