Skip to main content
Skip table of contents

Optimizing App Performance

Best practices and Tips for enhancing app performance on both Desktop and Mobile devices in Eagle 3D Streaming.

For Hardware/Software specifications of our US servers, please refer to this document.

Follow the instructions below:

Cursor responsiveness

  • Use the custom mouse with mouse cursor image set to Zero Alpha to make it invisible.

This technique can hide the in-game cursor so that users only see the browser cursor. Sometimes both the system cursor and the in-game cursor can be visible simultaneously, which can be confusing or distracting.

  • Set that Cursor HUD to “Software Cursors” and “Pixel Streamer Default Cursor Class Name” in Project Settings.

This improves the accuracy and responsiveness of the cursor in the streamed environment, reducing input lag and providing a more responsive and fluid user experience.

Graphics and Lighting

  • Disable Motion Blur.

This reduces the GPU load and improves performance, particularly in high-motion scenes.

  • Keep Baked Lighting as much as possible and Dynamic Light Sources as minimum as possible.

Baked lighting is precomputed and doesn’t change during runtime, which reduces the computational overhead required. Dynamic lighting, on the other hand, requires real-time calculations that increase GPU and CPU usage.

  • Avoid Ray Tracing.

Enabling ray tracing can lead to poor performance and increased latency, as complex computations are handled in real-time.

  • Enable “Hardware Video Decoder” in Project Settings.

Load time

Your local computer running the UE app as a native windows App should have a baseline of performance and load time.

More details on the concepts of the Load time are in this page.

Eagle 3D makes every effort to minimize overhead so that the pixel streaming user experience mimics that of the native windows application.

This also means that the pixel streamed App’s best performance would be that of the natively ran application.

If the main map in your Unreal Engine project is large and complex, it will take longer to load. Users will experience a delay before they can interact with the streamed app, leading to a longer wait time.

To avoid it, you can:

1. Use StreamingLevel/LoadingScreen/LevelStreaming:

Streaming Levels: This allows different parts of the map to load dynamically as needed, rather than loading the entire map at once. Only the necessary portions of the level would be loaded initially, which can significantly reduce load times.

Leads to faster initial load times and quicker access to the streamed content.

Loading Screen: It provides feedback to the user. While the map loads in the background, users will see a loading screen rather than a frozen or blank screen.

Follow this document to customize the Loading screen from the Old Control Panel and this document to use the New Control Panel.

Level Streaming: Similar to Streaming Levels, this method allows parts of a level to be streamed in and out based on the player’s position or game state. For large maps, only visible or nearby assets need to be loaded into memory, reducing the strain on both the server and the client.

→ Minimizes memory usage and processing load by only loading the necessary assets and levels at a time.

  1. Add a Video Asset on the Loading Page.

Follow this document (New Control Panel) or this document (Old Control Panel).

Check this document on Minimizing the Load time.

These steps help ensure smoother streaming, reduced latency, and a better overall user experience.

Use the Quality Control Kit from the New Control Panel. See this document.


Need help? Contact Support

Submit a new request at E3DS support portal.

Requests sent on weekends will not be addressed until the following business day.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.