《Drifting》is a third-person shooter-action game. The combat system revolves around air-to-ground, air-to-air shooting and traversing. Each encounter in the game challenges the player to develop a situational awareness in 3D space, which includes constantly prioritizing your target whilst observing the surroundings to find out the key to advance to the next stage.
Spline Component Distance LOD
If an empty scene causing an RTX 2080 SUPER to run on 45 fps, then you know something isn't right about the game - that unfortunately, is what I've encountered during the development of the project.
As I kept searching for clues that might cause the GPU's bottleneck, I stumbled across a helpful post - Forums.unrealengine.com explaining the proper way to setup spline actor distance LOD. It turns out the way I've setup spline distance LOD has no effect at all - since I was using dynamically constructed spline components, each component need to set up its own max draw distance individually - simply set the max draw distance of the spline actor itself will not affect each spline components (neither will set visibility).
I adjust all the spline actor blueprints accordingly and packaged the game, run the game with 1920x1080, borderless mode, v-sync off - what I saw is an fps boost from 45 fps to 145 fps - a huge performance gain signify how leveraging distance LOD collectively could have a big impact on the final performance result.
I hope you enjoy this week's update and won't make the same mistake I made!
Have a relaxing weekend and stay healthy! (／>///<)／