Improve Pixel Streaming Performance | Unreal Engine 5 | Best Practises

Infinity Void
5 min readJul 29, 2024

--

Unlock the Power of Unreal Engine on Your Browser! Enjoy cheap, affordable pixel streaming without compromising on quality.
Cost Effective Pixel Streaming Platform

Learn how to improve your pixel streaming performance with streampixel.

Hi, I’m Shrenik, the founder and CEO at StreamPixel, the world’s most effective pixel streaming platform. At StreamPixel, we are dedicated to delivering top-notch streaming experiences by leveraging advanced technologies and optimizing performance at every step. Whether you’re running a high-end game or a complex simulation, our platform ensures seamless streaming to meet your needs.

Introduction to Pixel Streaming

Pixel streaming allows users to run high-end applications on remote GPUs, delivering the rendered pixels as video streams to their devices. This technology enables users to experience applications with heavy graphics requirements without needing powerful local hardware. To understand how to optimize pixel streaming, let’s break down the process in detail:

How Pixel Streaming Works

  1. Encoding: When you run your application on a remote GPU, the frames are rendered on this powerful machine. Each frame is then encoded into a streamable video format. This encoding process involves compressing the video data to reduce the size without significantly losing quality. However, complex scenes with effects like motion blur and high post-processing can increase the encoding time and resource usage.
  2. Streaming: The encoded video frames are transmitted over the internet to the user’s device. The efficiency of this step depends on the network bandwidth and stability. High bandwidth allows for higher quality video streams, while network instability can lead to packet loss and latency, causing a poor streaming experience.
  3. Decoding: The user’s device receives the video stream and decodes it to display the application in real-time. The decoding process is generally less resource-intensive than encoding, but the device’s performance can still affect the overall experience.

Factors Affecting Performance

The main causes of decreased performance in pixel streaming are related to the speed of encoding, transmitting, and decoding. Factors such as network load, encoding complexity, and the efficiency of the streaming protocol all play crucial roles in maintaining a smooth and high-quality streaming experience. Here are some tips to optimize your pixel streaming setup:

Steps to improve pixel streaming performance

1. Disable Motion Blur

Motion blur is often the biggest culprit in performance issues. In pixel streaming, the video is encoded at the GPU level and then transmitted over the internet. Motion blur increases the encoding time of the video, causing a decrease in performance. The computer works harder to encode the video due to motion blur. To fix this, go to Project Settings, find Motion Blur, and turn it off.

Disable motion blur in project settings.

2. Reduce Post Process Volume

The greater the number of post-process volumes, the more difficult it is to encode the video, leading to laggy performance. Reducing post-process volumes can significantly improve streaming quality. Focus on optimizing key post-process effects like Ambient Occlusion, Bloom, and Anti-Aliasing. Consider using simpler post-process settings or disabling unnecessary effects altogether.

3. Check Local Frame Rate Before Streaming

Before using pixel streaming, check your application’s frame rate locally. Often, the cloud GPU is more powerful than a local GPU, so if an application runs well on your laptop, it will likely run even better online. Ensure there are no sudden frame drops (e.g., from a consistent 30–45 FPS to a significant spike or drop). Such fluctuations can cause glitches during pixel streaming. Use performance profiling tools within Unreal Engine to identify and optimize bottlenecks in your application. If your application is not performing well locally, refer to this video.

4. Enable Fixed Frame Rate

If your application allows, enable a fixed frame rate and set it to 30 FPS. Not all applications require 60 FPS, and a consistent 30 FPS can provide a smoother experience with less strain on the network and GPU. Adjusting the frame rate can reduce the computational load on the GPU and help maintain a steady streaming quality.

Enable Fixed Frame Rate

5. Implement Aggressive Distance Culling

Implement aggressive culling techniques to ensure that only objects within the player’s view are rendered. This reduces the load on the GPU by not rendering objects that are not visible to the player, which can significantly enhance performance. Refer to the video down below.

Setup Guide for Culling Volume

6. Optimise Network Settings

For multiplayer applications, optimise network settings to reduce bandwidth usage. Use efficient data replication strategies and minimize the frequency of network updates. Reducing network load can help maintain smooth pixel streaming performance.

Keep an eye on the packet loss metric provided in the pixel streaming details, not just at the Unreal Engine level. This will help you identify if there is significant packet loss, indicating potential issues on the networking side. While minimal packet loss is expected, significant packet loss can severely impact streaming performance and should be addressed promptly.

7. Optimize Touch Controls for Touch Devices

When developing applications for touch devices, make sure to decrease the sensitivity for touch controls. High sensitivity can exacerbate input and display lag, making the experience subpar. Touch sensitivity also increases camera movement, which can create frame drops as the camera moves rapidly. For pawn movement, you can use a virtual joystick, but for camera movement, it is recommended to avoid camera movements with the joystick. Instead, use the entire screen for camera control, allowing the user to click and drag their finger anywhere on the screen to rotate the camera. This makes the application more convenient for users accessing it through pixel streaming on touch devices.

8. Reduce Packaged Size

Since your application runs on a cloud GPU, every time an instance starts, it needs to download your build. The larger the build, the more time it takes to download and start. Reducing your build size is highly recommended. One effective strategy is to package only the levels you want to include. This reduces the overall size and speeds up the download and startup process. For more information on packaging, refer to the video down below.

Learn how to use Streampixel for pixel streaming your application.

Unreal Engine Pixel Streaming

Closing Note

Thank you for reading! At StreamPixel, we are committed to helping you achieve the best pixel streaming performance possible. If you’re ready to experience the power of seamless streaming, visit our website at streampixel.io. To get started with a free trial, head over to our dashboard.

Feel free to reach out with any questions or for further assistance. Happy streaming!

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response