LogoLogo
What's New?API StatusOur Website
  • Morpheus Platform Documentation
  • What is Morpheus Platform?
    • Glossary
    • Interoperability
    • Support
    • EULA
  • Firewall Problems
  • CREATION
    • Unreal Development
      • Get Started
        • Download the Editor
        • Upload Content
        • Creating your Own Map
        • Morpheus Base Project
        • Differences from Unreal
          • Character Configuration
        • Morpheus Networking
          • Introduction to Morpheus Networking
          • Network Levels
          • Replicated Properties
          • RPCs
          • Morpheus Render Targets
          • Morpheus Array
          • Networking FAQ
          • Replicating Sublevels
      • Editor Versions
      • Performance Guarantees
      • Features & Guides
        • Example Plugin
          • Nameplates
          • In-Game Roles
          • Resizing
        • Actor Pooling
        • Audio
        • Avatars
          • Creating an Avatar
          • Attachments
            • MML Attachments
          • Custom Animation Variables
          • Importing an NFT Collection
          • Capsules and Mesh Transforms
        • Bots
        • Chat
          • Unreal Text Chat
        • Control Panels
          • Control Panel Configuration
          • DJ Booth Mission Control
          • Observer Controls
        • Crowd Audio
          • CrowdAudioComponent advanced configuration
        • Crowd Rendering
          • Legacy Animated Crowd
            • Animated Crowd Console Commands
            • Attaching static meshes to crowd members
          • Crowd Materials
          • Performance Parameters
          • Live Config Settings
          • Crowd Animation
            • Crowd Anim Blueprint
              • User Guide - Crowd Anim Blueprint
              • Reference Guide - ABP Nodes
                • Animation Playback
                • States and State Machines
                • Variables
                • Transitions
                • Special
                • Blends
                • Additional Notes
        • Helpers & Extras
          • "Instanced Objects" in Blueprints
          • Objects with "world context"
          • Making DataAsset classes
          • Duplicate Objects
          • The Bootflow Subsystem
          • The "Wait For Condition" System
          • Advanced Graphics Settings
          • Listening to Inputs on UObjects
          • Morpheus UserID
          • World Services
          • M2Extras: Skins System
        • Loading Screen
        • Live Config
          • Editing for a World
          • Editing Locally
          • Default Settings
          • Accessing via Blueprint
          • Adding New Settings
          • Overriding Defaults
          • Using Arrays
        • MML
        • Motion Capture
        • Networking
        • Notifications
        • Raycastable Crowd
        • Singletons
        • Streaming & Multiplatform
          • GFN on Mobile
        • UI
          • "UI Mode"
        • Video Players
          • Embedded Video Player
          • Millicast video streaming
            • How to Setup an In-Game Video Stream
            • Picture-in-Picture mode
          • Streaming Video Player
            • How to Setup a URL Video Player
            • Picture-in-Picture mode
        • Visual Debugging
          • Inspector
        • Online Services
          • KV Store Service
        • Web Browser
          • Setup the browser widget
          • Viewport browser
          • In-world browser
          • Loading embedded pages
          • Game <--> Browser Communication
          • Debugging issues
        • Web Requests
          • Http Requests
            • Legacy HTTP Nodes
          • JSON Handling
          • WebSockets
          • Identity Validation
          • Allowed External URLs
          • Walkthrough Example
            • Example Counter Service
        • World Travel
          • World Travel in the Editor
        • Avatar Physics Assets
        • Action Gameplay Helper Components
      • Workflows
        • Upgrade the Editor
        • Editing Project Settings
        • Profiling
        • Marketplace Importing
        • Extra Workflows
          • Setup Play-in-Editor
          • Setup Local Asset Validation
          • Adding Gameplay Tags
          • Validating Game Assets
          • Custom Connection Modes
          • Connect Editor to a World
          • Common Issues
      • Best Practices
    • Worlds
      • Invite Players
        • Setting Role Groups
      • Persistent Worlds
      • Always on Worlds
    • Running Events
      • Large Scale Events - Checklist
      • Anti-Cheat (EAC)
      • Player Entry
        • React Native
        • Steam
        • Hardware Requirements
      • Broadcast
        • OBS Integration
      • Failover
      • Capacity and Queue Management
  • ADMINS
    • Access Control
      • Add Metaverse Contributors
      • Create a New Project
    • Pricing
      • Development Support
      • Included Usage & Overages
      • Cloud Streaming
      • Access Modes
      • War Room Support
      • Platform SLA
    • Settings
      • Projects
  • APIs and Tooling
    • API Reference
      • Accounts
      • Events
      • Key/Value Store
      • Organizations
      • Realtime
      • User Profile
      • World Builder
      • Worlds
    • Template Web App
      • Moderation
    • Pixel Streaming
    • Launcher
  • Dashboard
    • Assets
      • Assets Versions
      • Engine Plugins
      • Project Plugins
      • Templates
    • Releases
  • Integrations
    • Analytics
      • Send Events from Web
      • Send Events from Unreal
    • Chat
      • Integrate Pubnub with your Unreal Project
      • Add Moderation to Chat
Powered by GitBook
On this page
  • Mesh prioritisation
  • Mesh prioritisation settings
  • Other settings

Was this helpful?

  1. CREATION
  2. Unreal Development
  3. Features & Guides
  4. Crowd Rendering

Performance Parameters

PreviousCrowd MaterialsNextLive Config Settings

Last updated 4 months ago

Was this helpful?

You can tweak Crowd Rendering parameters to balance performance and quality. The parameters are defined in CVars, and some can be tweaked from the console at runtime (in a non-shipping build with console access) to find appropriate values for your project. The most useful ones are listed here.

To set custom values for each quality settings see:

The default values can be found in <EditorLocation>/Config/BaseScalability.ini

Mesh prioritisation

Triangles are allocated to characters using these steps:

  • Cull all characters outside of the camera frustum

  • Allocate a minimum number of triangles to each character inside the frustum, and calculate the remaining number of 'spare' triangles from the total budget

  • Sort all characters into priority order, based on their screen-space size

  • Allocate the spare triangles to the highest priority n characters using an exponential dropoff

Mesh prioritisation settings

r.CarnivalTargetNumTriangles

The maximum number of triangles that will be rendered across all meshes. This is the main bottleneck for performance, more triangles = better quality and worse performance.

r.Carnival.Fidelity.MinNumTrianglesPerModel

The minimum number of triangles that each character will have. Lower value = worse looking meshes in the distance, but leaves more triangles available to be allocated to nearby meshes.

Ensure to set the value low enough that (minimum per character * maximum number of characters) < total triangles to avoid any rendering issues.

r.Carnival.Fidelity.NumModelsToPrioritize

The number of characters that are eligible to receive extra triangles.

r.CarnivalExtraTrianglesExponent

The rate of exponential drop-off when allocating spare triangles. A higher number means that the closest few characters will get most of the triangles (and therefore look better), while a lower number will give a more even distribution across the prioritised models.

Other settings

r.CarnivalTargetTextureMegaPixels

Set the total texture budget. Reducing this will result is less memory usage, but model textures will be lower resolution.

r.Carnival.CharacterBoundRadius

The base radius to radius to use for frustum culling. The default value is 90 which should be appropriate for most human-sized characters.

r.CarnivalEnableShadows

Whether Carnival characters cast shadows. Shadows can be disabled to improve performance somewhat.

r.Carnival.Fidelity.MaxNumOpsModelPerTick

The higher this value the quicker models will be updated to their correct fidelity level. Reducing this can improve CPU performance.

r.Carnival.Fidelity.MaxNumOpsTexturePerTick

The higher this value the quicker textures will be updated to their correct resolution. Reducing this can improve CPU performance.

Override CVars Per Scalability Group