4.12 bad performance

Hi gustavorios2,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • How large of a discrepency are you seeing between 4.11 and 4.12?
  • What steps can I take to reproduce this on my end?
  • Can you post your dxdiag here so I can take a look?

Hi Adam, thanks for the quick reply.

I don’t think you will be able to see any difference on a empty project. This is probably noticeable on a big project.

Well its a big difference on performance.

I attached 2 screenshots for you to see the same level on 4.11 and 4.12

ps1: In this screenshot in 4.12 the lightmap build is missing. I tested before with the lightmap but the framerate still very low compared with 4.11

ps2: the peaks on the graph are probably noise of the screencapturing

I have a GTX 970, i7-4790 CPU @ 3.60GHz, 32 GB ram, windows 10

Yes my game probably could use some optimization and I will do that. What I think is strange is that the same game version have so different framerates between 4.11 and 4.12.
I’m updating this project for about 18 months and never noticed such difference

Do you have a lightmass importance volume in the level? Additionally, is this a c++ project or blueprints? Do you see any difference in a clean level?

this is a blueprint project and “openworld”, with a level with many sublevels
yes I have lightmass importance volumes

here a test on a single sublevel
very good performance (with a strange noise on 4.12)

On my side here are some stats from the same scene on each version of the engine.

GPU : GTX 970
CPU : i7 2600k
Ram : 16gb
OS : Win 7

thanks DJoExe looks like its the same issue

Are you streaming levels or do you have all levels constantly loaded? Are you using the world composition browser? Have you made sure all levels have had lighting built and saved or just the persistent level? Additionally, have you run through our lighting and swarm agent troubleshooting guides to see if they resolve your error?

its a main empty level with 70 sublevels. they are always loaded and I’m not using streaming volumes.
no I’m not using world composition.
yes I’ve read the articles before, actually I’m not having any lightmap problem. All those 70 levels build with 0 error.

the game is running perfectly fine on 4.11
I’m just reporting that the same project get really slow on 4.12

I just baked light on 4.11 and its running solid and noiseless at 99 fps.
when I had the project with baked lights (in 4.12) it was running at 40 / 60 fps and full of peaks

I’ve tried to do a CPU test
booth instances are running at 50% resolution, all effects on lowest settings and unlit mode
so its about a 19 fps difference on the cpu test

maybe theres something todo with this?

Another thing I found considering the performance issue. Looks like it is also related to the shadows rendering. While the engine seems to manage occlusion culling differently from 4.11.2, it also render all the point light that are casting shadows, even if they are completely culled by walls.

In my case fps fell from 60 to 45 on a empty template project.

Does anyone have a sample project this is occurring in I can take a look at or steps I can take to reproduce this on my end?

tested in an empty project; high polycount/occlusion, lights and no success =(

Many new things in 4.12 were implemented to archieve high quality reflections like, “High Precision Static Mesh Vertex Normal and Tangent Encoding”
I wonder if any of these were enabled by default on 4.12 and slowed things down

the new sequencer could in any way (even if its not being used) interfere in the performance?

Good news! Disabling two particle systems that was widely used in many sublevels, unreal 4.12 reached the same framerate from 4.11 (actually 3-4 frames higher) :slight_smile:
I’ll try to investigate further what changed in 4.12 particles.

I managed to reproduce the problem on a new project

the problem is that I was using the distance parameter on the particles. it works in 4.11, but in 4.12 don’t.

I fixed it enabling LODS on the particles

I attached a sample project in this message showing the bug.

Sorry for making this a big deal. I was worried to be stuck in 4.11 forever =P

[link text][2]

HI gustavarios2,

I’m happy to hear you found a solution to the error you were experiencing. I will mark this as answered for tracking purposes. If this occurs again after your fix, please feel free to post back here and I’ll be happy to take another look.

Thank you Adam for your support!

One more thing: you think this have a chance to be fixed? for some reason the distance property works better than lods for disabling the particles.
You can easily see on the sample project I’ve sent that it stopped working in 4.12

https://answers.unrealengine.com/storage/attachments/93662-particlesperformance.zip

The fix you provided above is the correct method to use when utilizing max draw distance. It requires LODs to be enabled to work correctly, otherwise it will not work. This is not a bug, it is simply the correct method to use when attempting to use max draw distance.