When working on new features, I often find myself wondering which features are going to put load on the GPU or CPU. Then usually have to run benchmarks as sanity checks using “stat unit”. It’s not really mentioned much in the documentation under each feature.
I’m wondering if any veterans could outline some basic rules of which UDK features use CPU or GPU.
Such examples as:
Dynamic lights.
Skeletal mesh animation.
Material rendering.
Particle systems.
Physics.
Dynamic shadow rendering.
Collision.
etc
My game uses a lot of dynamic lights, which appear to put a lot of work onto the CPU. So I’m wondering if there’s anyway to offload any work from the CPU onto the GPU?
For your dynamics lights, if they are not moving, you can set a CustomTimeDilation to 0.1. That will improve the frame rate. A few years ago, I’ve developed an in-game editor, and slow down CustomTimeDilation to improve performances.
I’m curious what is your game?
It brings down the frame rate by quite a lot. Switching those point light actors to have a low CustomTimeDilation has no impact on frame rate.
I wonder if there is a way to limit how many rendering passes a mesh/material will have for lights touching it? Any optimization ideas are welcome.
I already disable shadow casting if framerate drops below a threshold, and group lights within a close radius to one another into single point lights at a given distance from the camera. This helps immensely when there are 100’s (even over 1000) of lights across the map, but not so much when the player is close to a densely packed area like the scene in this screenshot.