Epic Games' own Unreal Engine 4 graphics engine powers countless games, some of them you're playing are probably powered by UE4 and you might not even know it. PlayerUnknown's Battlegrounds is a UE4-powered game, which is absolutely killing it right now, and so is another Battle Royale game: Fortnite.
Unreal Engine 4 is one of the most, if not the most popular third-party engine on the market with massive games like Paragon, PUBG, and more powered by the engine. Epic Games is now working on optimizations to Unreal Engine 4 for larger maps, the perfect time for UE4 optimization now that Fortnite: Battle Royale is here, and PUBG killing the Steam most-played games chart constantly.
There are some huge changes for the console, with Xbox One and PS4 both receiving massive improvements. Check out what Unreal Engine 4.18 will deliver:
- [XboxOne + PS4] Improved our low-level memory tracking tools to better identify potential memory optimizations.
- [XboxOne + PS4] More efficient volume texture updates, which reduced peak memory by 240MB+.
- [XboxOne] Added options for different render target layouts to maximize bandwidth utilization on the GPU depending on what rendering features are enabled.
- [XboxOne] Reduced memory overhead in D3D12 descriptor heaps, and saved 120MB.
- [XboxOne] Allocated and freed render targets on-the-fly to reduce memory usage by 100MB+.
- [PS4] Optimized how we handle the texture streaming and defragmentation pools, saving 300-400MB.
There are also a heap of server optimizations included in the upcoming UE 4.19 build:
- Batched level streaming RPCs to reduce the number of RPCs that need to be sent to clients when they connect. (Will be in 4.19)
- Make the OS socket buffer sizes configurable and raise them for Battle Royale. This prevents simultaneously connecting clients from overflowing these buffers resulting in excessive server load. (Will be in 4.19)
- Reduce bandwidth for CharacterMovement RPCs when the character is not standing on any component, such as when jumping or falling. (Will be in 4.19)
- Added the ability to limit how many players receive updates from the server per frame. We set the limit to 25 in the lobby and 50 during gameplay. (Will be in 4.19)
- Limit the rate at which clients send movement updates to the server. Prevents clients running at high framerates from causing excessive load on the server. (Shipped with 4.17)
- Added an option to not replicate client ping times to other clients as it results in a lot of network traffic when there are many players. (Will be in 4.19)
- Removed several memory allocations during replication in FArchive::SerializeIntPacked and changing how CompatibleChecksum is calculated. (Will be in 4.19)
- Switched property type comparisons from strings to FNames for speed during replication. (Will be in 4.19)
- Added a way to view a dedicated server's network stats on a client in real-time to more easily see stats for cloud-hosted servers. (Will be in 4.19)
- Changes to the ability system to better account for relevancy, which greatly reduces replication cost when using the ability system. (Will be in 4.19)