Announcement

Collapse
No announcement yet.

Why is performance wasted on blueprint graphs while playing in PIE?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Why is performance wasted on blueprint graphs while playing in PIE?

    I wonder why the engine is rendering minimized blueprint graphs while I'm playing the game in PIE?

    I often have opened 20-30 tabs with blueprints (all in a new tab) and if I minimize the tab, click play and play the game in PIE I have like 3 fps in the game. If I close the windows with all the tabs, so I have no blueprints graphs or UMG widgets opened, I get 20 fps in PIE. So there is an extreme amount of performance wasted on rendering invisible graphs and probably UMG editors too. Why? Is there any reason why this is needed? I obviously don't want to close all my tabs just for hitting PIE, but I also don't want to play with 3 fps only
    Easy to use UMG Mini Map on the UE4 Marketplace.
    Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

    #2
    I dont have that issue, even from a laptop, which is 5yo one. But i have my tabs docked to main window, not minimized. Which is not an answer for your question, just another side.

    Comment


      #3
      This is not actually PIE, or blueprints for that matter - Unreal natively lowers the FPS and pulls all performance if you are 'unfocused' out of the game itself. (i.e: if you click a different tab, or change focus to anything outside of the PIE viewport)
      Alessa Baker,
      Technical Artist & Member of the Epic Streaming Team.

      Shelling System - Measurement-based Blockout tool for Level Designers and Arch Viz Artists.

      Comment


        #4
        Also keep in mind that the BP screens may need to be updated during gameplay.
        Just think about debugging and the pulsing* wires....

        *Im not an English native speaker, so Im a bit unsure if "pulsing" or "pulsating" would be correct here

        Comment


          #5
          You can try to disable "Use Less CPU when in Background" in Editor Preferences > Miscellaneous

          Comment


            #6
            I wonder why the engine is rendering minimized blueprint graphs while I'm playing the game in PIE?
            We don't. Slate does not render any Window that's not visible or minimized. It's probably code that doesn't realize it's not visible that's responding to events that don't derive from the Slate's render path. Like timer callbacks or debugging events; something along those lines that don't involve the slate render path.

            Comment


              #7
              Why are people thinking I have the game running in background while I am trying to play it? It's obviously the focused window since I try to play it.

              And I think invisible BP graphs don't need to be updated, why draw debug stuff if it's not visible anywhere

              Originally posted by NickDarnell View Post
              We don't. Slate does not render any Window that's not visible or minimized. It's probably code that doesn't realize it's not visible that's responding to events that don't derive from the Slate's render path. Like timer callbacks or debugging events; something along those lines that don't involve the slate render path.
              I just see this, so I think it's slate:

              Click image for larger version

Name:	e7fbc618ef.png
Views:	1
Size:	3.9 KB
ID:	1088053

              If it's just "timer callbacks or debugging events", do they really need to waste so much performance? Why do they not when the tabs are all closed? The screenshot above was actually taken with only 5 opened tabs, all minimized, so they don't render. 3 UMG widgets and 2 regular actor blueprints. After closing the 5 tabs and start PIE again and profile, it looks like this:

              Click image for larger version

Name:	c52c4bc996.png
Views:	1
Size:	2.7 KB
ID:	1088054

              So this is really needed and can't get optimized?
              Easy to use UMG Mini Map on the UE4 Marketplace.
              Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

              Comment


                #8
                I certainly have lower FPS in-editor when I have Blueprints open on another screen or if I have loads of tabs open. Not surprised by that though. Especially if you have ~30 tabs open, which is insane...

                Comment


                  #9
                  Dunno. That's the render thread. You could use "stat slate" console command to see what's happening on the main thread. I've verified that minimized windows do no pass through to the render thread to be drawn, so there's something unique in your setup that I'm unable to reproduce.

                  Platform? Version? What do the stats show when the window is not minimized?

                  Comment


                    #10
                    Sure, here is the information you asked about:

                    Platform: Win7 64bit
                    Version: 4.9.1

                    1. This is "stat slate" with minimized tabs:

                    Click image for larger version

Name:	e98967e99a.png
Views:	1
Size:	133.1 KB
ID:	1088093

                    2. This is "stat slate" with the tab window visible in the background, so one blueprint graph is visible below the PIE window:

                    Click image for larger version

Name:	8e9e1dc4ab.png
Views:	1
Size:	138.6 KB
ID:	1088094

                    3. This is "stat slate" with no tabs opened at all, just the editor in the background:

                    Click image for larger version

Name:	25edf8ad19.png
Views:	1
Size:	133.7 KB
ID:	1088095

                    The times you see on 3. are actually just the stat overhead since they only appear if I have "stat slate" enabled. Without the stats enabled it runs smooth in PIE if no tabs are opened anywhere or minimized. If I take a look at "profilegpu" while not having "stat slate" enabled, the slate time is something like 0.45 ms, same like on the screenshot I posted above. If I have "stat slate" enabled, the slate time in "profilegpu" is something like 40 ms.

                    Now what I think is strange is that the difference between 1 and 3 is really low, but 3 runs smooth with stat slate disabled while 1 shows a slate time about 90 ms in profilegpu (with "stat slate" disabled). Does this mean that what's causing the performance loss is not detected from "stat slate"?

                    Just to be clear: This issue is annoying, but it's just annoying. I can live with it. It's just in the editor, everything is fine in standalone, so no real problem. It's not anywhere near the importance of the cyclical dependency problems of UMG (which make my project not even package), they really make using UE4 a nightmare at the moment. So if there is no time for fixing minor issues like this I can totally understand it
                    Last edited by John Alcatraz; 09-24-2015, 01:43 AM.
                    Easy to use UMG Mini Map on the UE4 Marketplace.
                    Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

                    Comment


                      #11
                      Nick / UMG team has been doing a big focus on Slate performance over the last couple of releases. I personally am not seeing anything as intense as this.. I'll check anyway though just in case. What do those stats look like when your NOT actually playing your game with those tabs open / minimized? Is it possible that some of the in-game UMG / widgets are to blame for the performance hit?

                      Also John do you have a DXDiag handy?

                      Comment


                        #12
                        Hmm those numbers don't match the story. You should be seeing 1 SlatePrepass per window, on just the editor open you've got 4, which tells me you've got 3 other windows somewhere doing work still. Do you have several notification windows in the bottom right hand corner? Here's what vanilla 4.9.2 looks like on my 2.2 Ghz box.

                        Click image for larger version

Name:	TypicalNumbers.png
Views:	1
Size:	132.9 KB
ID:	1088111

                        Is this on a vanilla run of the editor. Do you have any editor plugins that could be doing wacky stuff?

                        Comment


                          #13
                          I have not used any editor plugins, but while doing the tests above I still had one content browser opened on a second monitor and one minimized output log. Minimizing the content browser did not gave any significant difference in the times.

                          But the difference between 0.45 ms slate time with no tabs opened and 80 ms slate time with 5 tabs minimized means that the tabs are the problem, right?
                          Easy to use UMG Mini Map on the UE4 Marketplace.
                          Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

                          Comment


                            #14
                            Your editor is still attempting to render minimized windows but nobody else seems to be having that problem. So there's something different with your setup, but I'm clueless as to what that might be.
                            Last edited by Nick Darnell; 09-24-2015, 03:10 PM.

                            Comment


                              #15
                              I use the regular 4.9.1 version from the launcher, there is nothing special about my setup. I can't believe this is only happening for me?

                              Could a few more people try to have some blueprint graphs and UMG widgets in a new editor window and minimize this window while playing PIE and see what profilegpu says about the slate time? I can't be the only one with such huge differences between minimized window with tabs and no window with tabs.
                              Easy to use UMG Mini Map on the UE4 Marketplace.
                              Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

                              Comment

                              Working...
                              X