Hi, my team has been doing some experiments to find out whether we can preview sequences in-Editor at 60 fps on our current workstations. With the Editor fps/memory stats on, I found that we nearly get there in some sequences, but not quite. So I checked Insights and found that an upsetting amount of each frame is spent in Slate. That led me to try some more experiments, and I found the following info:
When I have a somewhat basic sequence with 2 somewhat expensive characters open, not evaluating, and Sequencer itself (the track view window) minimized, I got around 53 fps. When I maximize Sequencer on my other monitor instead, even with many of the tracks and folders collapsed, I get around 37 fps. And if Sequencer is not maximized but just open in various window sizes, my fps scales between those two extremes depending on the size of the window. This is a setup where both monitors are 4K60 with 150% DPI scaling.
Obviously our cinematic artists will likely have the Sequencer window open or perhaps docked, so it’s somewhat unavoidable at the moment for us to make meaningful changes to the perf here. I have not tested in 5.6, which released today, and I may not get a chance to for a good while. Is this something that should be improved there, or if not, is it something you intend to improve in future versions? We all know Editor perf is precious, so I hope this helps to identify a problem area for targeted improvement. Thanks!
Hey Matt. Are you able to provide an insights capture of the offending frames at all?
Could you also check whether you are in Animation Mode or Selection Mode in the Level Editor, and also whether the framerate drop is related to having objects or transform tracks selected in the Sequencer outliner? There are a couple of things that we know can be slow (such as some instances of trajectory rendering) but in general we would expect performance to be pretty good even with large numbers of keyframes.
Hey Matt - apologies for the delay in replying here - we were all out here at Epic for a couple of weeks. Just to let you know that upon investigation there are are a few issues that are causing this, but mostly it seems to be a general slowdown caused by rendering the editor UI with slate as the UI complexity increases. The editor team are investigating and we’ll let you know what we find.
I did some tests in the stock LyraEditor in 5.6, so I’m hoping you can repro easily with my steps. But if you still need me to provide an Insights trace, I can look into doing that. But I think anyone should be able to see similar results, barring some crazy hardware with no slowdown. I confirmed the following is in Selection Mode.
Open LyraEditor with default settings.
Go to Editor Preferences. Check “Show Frame Rate and Memory” and uncheck “Use Less CPU when in Background”.
For me, the frame rate is now 110-115 fps.
Click Content Browser on my way to creating a test sequence. Notice that the frame rate is immediately down to about 97-100. If I wiggle the mouse quickly around the empty space, I can get it down to around 88 until I stop.
Make a new Level Sequence and open it. At default window layout (taking up a fair amount of the monitor, not maximized, not docked), the frame rate is now 78-80.
Drag the sequence to another monitor and maximize it, without adding any actors or tracks. Frame rate should be unchanged (78-80).
Drag in a Sphere from the Place Actors panel. It defaults to being selected. Frame rate now 70-72.
Expand the Transform track, then expand Location, Rotation, and Scale. Frame rate now 62-65.
So having done almost nothing, no cameras/animation/transforms/materials, we’ve lost 47% of the entire Editor’s performance. In a real sequence with expensive characters and animations and in a real environment, we struggle to even preview at 30 fps.
Notably, if I deselect the actor after step 8, I get back up to 81-84 fps. So something like 20 fps of that performance is the outline of the Sphere in the main viewport + the translate gizmo drawn on it. If I delect the Sphere and collapse it so none of the tracks show, I can get the fps back to around 95 fps, which is even more mysterious - that’s significantly better than when I had no actor at all. If it’s fully collapsed but selected, I’m around 71 fps.
Hopefully this helps, but again, let me know if you still need a capture to see what I’m seeing.