UE4 Graphics Profiling: Measuring Performance

Sdílet
Vložit
  • čas přidán 28. 08. 2024
  • Get project files: techartaid.com...
    Support on Patreon: / techartaid
    How to measure performance, pin-point bottlenecks and compare solutions in Unreal. Use console commands: stat fps, stat unitgraph, stat SceneRendering, stat gpu. Record profiling data as a graph.
    All parts playlist: • UE4 Graphics Profiling
    Thanks to early reviewers: Mikołaj Fabjański and Ch Hope.
    Links and sources:
    [1] "Optimizing and Profiling Games With Unreal Engine 4": vincentloignon....
    [2] "UE4 - Overview of Static Mesh Optimization Options": www.casualdistr...
    [3] UE4 docs on GPU profiling: docs.unrealeng...
    [4] Stat commands' output explained (for UE3): www.hourences.c...

Komentáře • 113

  • @sonofamortician
    @sonofamortician Před 2 lety +2

    great clear, concise tutorial, I wish all Unreal tutorials was this useful.

  • @ripley_73
    @ripley_73 Před rokem +1

    Incredibly helpful been looking for a explanation like this thank you

  • @barelyvisibl
    @barelyvisibl Před 3 měsíci +1

    short and smart. Thank you!

  • @wmka
    @wmka Před 2 lety

    Searched for "RHI Unreal".
    This is first in the search result.
    Thank you and have a good one.

  • @breikdans1646
    @breikdans1646 Před 4 lety +2

    I really appreciate these videos and the work you put on them!! they have a huge amount of interesting and crucial information that you gathered and explained very clear and neat, so again thank so much for saving us the pain!! Stay safe mate!!

  • @unlinkedgames6595
    @unlinkedgames6595 Před 7 lety +5

    I LOVE your tutorial. Thank you. Really.

  • @soggymcfries8072
    @soggymcfries8072 Před 7 lety +2

    Dobra robota Oskar! Dzięki :)

  • @GameDevBeat
    @GameDevBeat Před 7 lety +1

    thanks a lot .. these series really gonna help me with my game optimization .. cant wait to see more

  • @MichaelGaskin
    @MichaelGaskin Před 7 lety

    Great stuff, thanks for taking the time to make this video!

    • @TechArtAid
      @TechArtAid  Před 7 lety +2

      +Michael Gaskin I'm glad to hear that and I'd like to recommend the entire series :)

  • @iamisandisnt
    @iamisandisnt Před 7 lety

    This was amazing! I was just thinking about how the next tutorial series I need to watch needs to be how to do exactly this sort of performance analysis and eventually optimization! Pro tips, thank you so much! Looking forward to more :)

    • @TechArtAid
      @TechArtAid  Před 7 lety +1

      +iamisandisnt Great. Thanks. If you can't wait and want "spoilers", then check Vincent Loignon's article (in the description) ;)

  • @dszarts
    @dszarts Před 7 lety +3

    Damn I needed to know this!.. Thanks!!

  • @lunaruzz7639
    @lunaruzz7639 Před 5 lety +1

    My englisch is not perfect but i understand it. Thank you so much for sharing this important things with us. Kind regards from germany

  • @zakaria20062
    @zakaria20062 Před 3 lety

    Thanks for the efford you are putting to help the community.... I hope have something like this for mobile

  • @fabioapelbaum8840
    @fabioapelbaum8840 Před 3 lety

    you rock, thanks for sharing and make us better artist considering performance on top of everything!

    • @TechArtAid
      @TechArtAid  Před 3 lety +1

      Cheers! New videos coming soon, by the way: czcams.com/video/tj1ECbHPZTk/video.html
      Not public yet, so I'll take any amounts of feedback :)

    • @raviiyer4765
      @raviiyer4765 Před 3 lety +1

      @@TechArtAid Thank you Good Sir! Was waiting eagerly for your new videos.

  •  Před 2 lety

    It's really useful.

  • @WowPlusWow
    @WowPlusWow Před 2 lety +1

    Kalkulator

  • @AlainMajdalani
    @AlainMajdalani Před 6 lety

    Thank you very much for your clear explanation! Cheers

  • @EliasWick
    @EliasWick Před 6 lety

    This video was really, really helpful! I solved a huge problem in my game thanks to this!

    • @TechArtAid
      @TechArtAid  Před 6 lety +1

      I'm happy to hear that. I think of optimization in terms of a problem solver as well. Not just more fps :)

  • @Latvian3Dman
    @Latvian3Dman Před 5 lety

    Thanks a lot for all this explanation

  • @rifat.ahammed
    @rifat.ahammed Před rokem

    Thank you

  • @MetehanYengil
    @MetehanYengil Před 4 lety

    It helps me a lot. Thanks!

  • @crazyuniverze
    @crazyuniverze Před 6 lety

    Thanks man, that's really helpful.

  • @sean8306
    @sean8306 Před 6 lety

    That was awesome, thank you !

    • @TechArtAid
      @TechArtAid  Před 6 lety

      +Sean Thanks! I'm working on a text version of these series now

  • @aurimasa4952
    @aurimasa4952 Před 7 lety

    Nice one man!

  • @bernhard.design
    @bernhard.design Před 2 lety +1

    wesome. Do you know how to increase the Font Size of the GPU Profiler? Thank you so much, keep rocking.

    • @TechArtAid
      @TechArtAid  Před 2 lety

      This Ctrl+Shift+; scales together with Unreal's UI. Go to Tools -> Widget Reflector -> increase multiplier to 1.25x or some other value.
      But the STAT commands' output or Device Profiler window don't scale, unfortunately :/

  • @aryanviolett4606
    @aryanviolett4606 Před 6 lety

    helped me alot! thanks man :)

  • @Paul-hw7kc
    @Paul-hw7kc Před 4 lety +1

    Is there a way to check the memory usage of a specific object in a scene? I want to contrast two different oceans and see which one is less resource heavy.

  • @starscream2092
    @starscream2092 Před 7 lety +6

    Hi, could you make a video about how to implement into UE 4 , NVIDIA FLEX, HAIR WORKS, NVIDIA physx for APEX, VXGI, in visual studio ?

    • @TechArtAid
      @TechArtAid  Před 7 lety

      Oh man. I know nothing about any of these :D VXGI could be interesting (though such video could quickly get outdated). Here is a general thread: forums.unrealengine.com/showthread.php?53735-NVIDIA-GameWorks-Integration

    • @starscream2092
      @starscream2092 Před 7 lety +1

      I know that you have to download, hairworks, flex or anything you want and compile it together with UE 4 in visual studio, but there is no video on youtube showing it.

    • @TechArtAid
      @TechArtAid  Před 7 lety

      Hey, this Flex looks interesting... Just saw a demo on Tomasz Figas' channel: czcams.com/video/i4oYbPi6dtU/video.html
      In his words, it sounds simple: "Download git windows client and follow instruction on their git hub page, clone [...] Once you get all done, you should be able to run the flex"
      But yeah, from what I read, you have to compile your own editor through Visual Studio.

    • @starscream2092
      @starscream2092 Před 7 lety

      yes it is interesting, i would like to know how to compile everything together, flex, VXGI, hair works.

    • @TimeoutMegagameplays
      @TimeoutMegagameplays Před 6 lety

      APEX is already included in UE4.

  • @JohnSmith-ou3uj
    @JohnSmith-ou3uj Před 5 lety

    @tech aid art
    Hey man, seeing your first language is probably Polish and your second is English you speak pretty well! Just wanted to let you know "thirty" is pronounced pretty much is it is. A "thh" sound "errr" and then a "tee". Thh-err-tee" You keep saying "furty". In the UK, some say it this way but have poor education. You clearly don't so im just helping you out, I know second languages are hard, and appreciate it when people point these things out to me! :D
    Anyway, thanks for the video, was helpful ^^

    • @TechArtAid
      @TechArtAid  Před 5 lety +1

      Thanks! Every such tip is useful :) It was also one of my viewers who finally taught me to pronounce "variable" ;)

    • @JohnSmith-ou3uj
      @JohnSmith-ou3uj Před 5 lety +1

      Glad to have helped! I teach English so I know how it is :) @@TechArtAid

  • @fonfa
    @fonfa Před 7 lety

    Thank you so much!

  • @Khaliszt
    @Khaliszt Před 7 lety

    Thanks a lot!

  • @Moaedmsawer
    @Moaedmsawer Před rokem

    Hello .. do unsed files and assets in content folder affect the processing afer packaging for ( android )

    • @TechArtAid
      @TechArtAid  Před rokem

      In theory, no. The cook process analyzes what's used. However, make sure to go to Proj Settings -> Maps & Modes, then make an *exclusive* list of maps to be included in the cook. (read more in UE docs)

  • @chlbrn
    @chlbrn Před 6 lety

    Thank a lot. I am working on optimizing an arch viz project from a powerful PC to Microsoft surface pro which only has an integrated video chip and it just suck, and its cpu sucks as well. Your video just help me with that.

    • @TechArtAid
      @TechArtAid  Před 6 lety

      +Charlie.H Nice! What were the main issues to address on Surface?

    • @chlbrn
      @chlbrn Před 6 lety

      As you may guessed, translucency sometimes makes problem for instance I have a fireplace in my living room which spawns fire particle with translucent material. I reduced the settings in engine and lowered particle count and used particle LOD to make performance better. But I still have some problem, when I debug in packaged game, I used command line "stat scenerendering" to check which costs time to render and then I found there is a process called "render query result" took about 40ms on Surface while deferred lighting only costed 5ms. I still don't know what that is and I haven't found any documentation or any info about that. So now I am preparing some empty scene to check if that thing still there or it is just my project. BTW, my project runs about 600-1000 fps on my GTX1080 and it cannot run 30 fps stably.

  • @NBiTe
    @NBiTe Před 2 lety

    Hi, im searching to trick this tips of counters in a visual way, do u now how fake the num or add a multiplier on the fps counter in games created in ue, like fortnite? All made throught the files we have acess. I try to use CheatEngind but it is detected as a cheat.

  • @JohnDaniels
    @JohnDaniels Před 6 lety

    How about the memory usage for static mesh collision, Use Complex as Simple vs Default, is there really a big hit on using "Complex as Simple" for the collision on the mesh?

    • @TechArtAid
      @TechArtAid  Před 6 lety +1

      There is a big difference in CPU usage. Memory - probably not so much

    • @JohnDaniels
      @JohnDaniels Před 6 lety

      Thank you!

    • @JohnDaniels
      @JohnDaniels Před 6 lety

      What would be a good way to test this? I put a 100 static mesh roads with guard rails that are pretty complex into a level and then changed them from simple to complex could not see a difference.

    • @JohnDaniels
      @JohnDaniels Před 6 lety

      I was looking on the Unreal document site and it did not say anything about CPU but it did say could use more memory.
      "This helps save memory since we don't need to bake the trimesh and can improve performance if the collision geometry is simpler"
      docs.unrealengine.com/en-us/Engine/Physics/SimpleVsComplex

    • @TechArtAid
      @TechArtAid  Před 6 lety

      Are you looking at the 'stat unit' CPU number *during* a collision with these elements? For example dropping a bunch of physically simulated objects onto the rails. If there's still no difference, then good for you - the meshes are simple enough or the entire game isn't that demanding.

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    This is all very confusing at 10;40 what he show if I put that in will I get better frame rate my problem is I have a very large open world map with 60+ frame rate only when I look down, When i put my head up and look straight ahead can see my trees and mountains but rate drops to 5% and very choppy game play in editor been trying for months to find out what the problem is there is little to none on this most I have come across are small maps that are used for zombie games have not found anyone who is making a open world survival with tree chopping animals a large lake etc it almost at a point where just want to give up on this one and make zombie shoot them up game with tiny map just a single developer and help like doc to explain what setting are needed tried one but was told had to delete the landscape material camera??

  • @GonziHere
    @GonziHere Před 2 lety

    Thanks, I have one question though - I have many instanced static meshes parented to the scene root. I simply transform said root and my performance tanks. Are you aware of some solutions to that?

    • @TechArtAid
      @TechArtAid  Před 2 lety +1

      How many? Do you use them as intended, meaning you have a single instanced static mesh component for each mesh model, then add elements to the array? Also try disabling physics (NoCollision and no Overlap)

    • @GonziHere
      @GonziHere Před 2 lety

      @@TechArtAid Thanks, physics actually was the culprit - it's obvious to me now, but it just flew over my head at the time. Right now, I'm moving 1.2M meshes with 12ms frametime :) On a side note, PIE window also runs much faster for some reason.

  • @mhnoni
    @mhnoni Před 7 lety

    Great tutorial , i finally understood the difference between Draw and GPU in stat unit , btw is this grass free by community and shared if so i hope you provide the link to download it looks great ?
    One more question , if i have too many draw call will i get more "GPU time "or "Draw time " in stat unit ?
    And Draw call made by both CPU and GPU or only CPU ?

    • @TechArtAid
      @TechArtAid  Před 7 lety

      +N nOni That's a good question - will too many draw calls affect Draw (CPU) first? Interesting. I'll try to check it. Anyway, in the end, it will mean that the GPU has to wait for the CPU (driver) to build and send a command list. The big promise of DX12/Vulkan is allowing for much more draw calls, because the operation can be multithreaded and much better separated from the driver.

    • @TechArtAid
      @TechArtAid  Před 7 lety

      +N nOni The project can be downloaded from gumroad.com/techartaid - it's a separate zip, you can download just that :) But please don't use this grass... Instead, use the model with 24 triangles (it's also packed with the project). I will explain that in Part 2. And *be sure* to change the material translucency type to Masked (instead of Translucent). Like here: czcams.com/video/ieHpTG_P8Q0/video.html

    • @mhnoni
      @mhnoni Před 7 lety

      yes masked take less power as for using i might use it in the feature so i am sure i will see your tutorial before using it . and thanks for adding google drive as gumroad not working for me , make sure you provide a link to your paypal so people can support your channel/site and all these small stuff :)

    • @TechArtAid
      @TechArtAid  Před 7 lety

      +N nOni Right, you told me about it. Sorry, I didn't realise it also matters for the asset project :P I'll look into the Sellfy thing

  • @chintan7426
    @chintan7426 Před 2 lety

    On 10:58, what if I have Another Graphic card..Then what would be stat command?

    • @TechArtAid
      @TechArtAid  Před 2 lety +1

      Then you don't need this line. It will work without it

  • @GamesUKStudios
    @GamesUKStudios Před 6 lety

    Hi
    Urgent advice
    I have a landscape at 1 mile in length and fps at 5.6 fps
    I’m needing to get 120 fps in editor and in game
    It’s for a vr Project I’m working on any advice

    • @GamesUKStudios
      @GamesUKStudios Před 6 lety

      I also have spline blueprints

    • @siphon8063
      @siphon8063 Před 4 lety

      Sorry. May be late but you could hide all particles in a certain range of the player. You could also remove and translucent/ transparent materials or change the. out at a certain range.

  • @GameDevAraz
    @GameDevAraz Před 2 měsíci

    how to fix frame if its 30.0? but all other 3 things are normal

    • @TechArtAid
      @TechArtAid  Před 2 měsíci

      Then I think you need to dig deeper. Use Unreal Insights to look for places where some function is stalling the rest

  • @user-ug5kc1dv2o
    @user-ug5kc1dv2o Před 2 lety

    Thanks for video. How to increase font size in stat tables?

  • @Xale007
    @Xale007 Před 4 lety

    I don't get it.
    Yeah FPS is not interesting but getting the ms render ?
    I want the polycount of my scene and know what maximum I shouldn't exceed.

    • @TechArtAid
      @TechArtAid  Před 4 lety

      Polycount stopped to be a viable indicator of performance around 2005. For example, the complexity of the materials (how many nodes, textures etc) usually have a much higher impact than raw polycount. Lighting is often a bottleneck too.

    • @Xale007
      @Xale007 Před 4 lety

      @@TechArtAid so it there a viable number to get ? Because MS depends of the hardware aswell.

    • @TechArtAid
      @TechArtAid  Před 4 lety +2

      Of course it does. But one thing is important - ms let you split the final framerate into ingredients. If you know how many ms are spent on ambient occlusion, for example, then you know what's the maximum gain you can have by disabling it. If you know what takes longer - vertices or shaders - you know what to sacrifice and try optimizing for the best gain. Check the next videos in the series for specifics.

  • @timursibatov730
    @timursibatov730 Před rokem

    Hello, thank you very much for awesome tutorial!
    I've got a small issue in UE 5.0.3 version. The "stat file" command doesn't appear to be working. I don't receive any visual feedback from it and can't find any recordings.

    • @TechArtAid
      @TechArtAid  Před rokem +1

      stat startfile
      stat stopfile
      the recording will be in YourProject/Saved/Profiling. open it using Unreal's built-in Profiler, as shown

    • @timursibatov730
      @timursibatov730 Před rokem

      @@TechArtAid thank you very much! :)

  • @SteaveP
    @SteaveP Před 6 lety

    nice

  • @AndrewByrnes1
    @AndrewByrnes1 Před 2 lety

    How on earth is your draw so low? I am in a scene with everything deleted almost, and my draw is still around 8. It was 12 but i deleted all my lights and some particle effects. In a basic scene it easily sits around 17.

    • @TechArtAid
      @TechArtAid  Před 2 lety

      Check my video about "GPU Visualizer". It breaks down the total cost into categories

  • @ROSALIEIK
    @ROSALIEIK Před 3 lety

    i donno how to open these menues....

  • @KENISEG
    @KENISEG Před 7 lety

    когда вы выложите asset по процедурной генерации зданий на свой сайт?

    • @TechArtAid
      @TechArtAid  Před 7 lety

      gumroad.com/l/wxqI - Папка "Content\TechArtAid\RandomizingInstances"

  • @sergelyukshin8302
    @sergelyukshin8302 Před 7 lety

    Asking for total overview of making big scenes and "optimize perfomance tricks".A year ago I've started building an indie game, but i realy nervous: what if final scene will be unplayable because i made optimization mistakes, and i will need to rebuild the whole world from scratch?

    • @sergelyukshin8302
      @sergelyukshin8302 Před 7 lety

      Or if you know there i can look for this information - pretty appreciate. I'm Working in UE4 too.

    • @TechArtAid
      @TechArtAid  Před 7 lety

      +l6969 Productions Hi :) Link no 1 in the description should provide you with good general advice

  • @Xperto_
    @Xperto_ Před 5 lety

    stat fps
    stat unitgraph

  • @justplaying4292
    @justplaying4292 Před 2 lety

    9:18 was that your stomach sound!? :DDD

  • @raishelmy7176
    @raishelmy7176 Před 7 lety

    What computer's spec did you use?

    • @TechArtAid
      @TechArtAid  Před 7 lety

      +Rais Helmy Intel Xeon 1240v3 (equiv. of i7-3770), 16 GB ram, Nvidia GTX 760 2 GB, SSD drive

    • @raishelmy7176
      @raishelmy7176 Před 7 lety

      owh.. Thanks

  • @jinchaohan2485
    @jinchaohan2485 Před 4 lety

    so how do you turn off those stats?

  • @sean8306
    @sean8306 Před 6 lety

    Is there a way to profile your textures and materials?

    • @TechArtAid
      @TechArtAid  Před 6 lety

      +Sean Part 2, probably second half, has info on that :) Optimization view modes and texture statistics window

    • @sean8306
      @sean8306 Před 6 lety

      thank you very much :-) getting onto it right now

    • @sean8306
      @sean8306 Před 6 lety

      Hi again, I watched the video and it was very helpful in many ways. What I'm trying to measure is the difference between say using a 512 textures, and the same textures at a 4k resolution. Ideally I was looking for evidence such as an increase in milliseconds. Is that at all possible?

    • @TechArtAid
      @TechArtAid  Před 6 lety +1

      +Sean Textures should mostly affect 'Base pass' in 'stat GPU' or GPU Visualizer. But in general, what will suffer is video RAM and texture quality. Unreal tries to prevent over-allocation of VRAM by having a streaming pool. When this pool is full, you will see blurry textures.

    • @sean8306
      @sean8306 Před 6 lety

      That's really helpful, thank you for your reply :-)

  • @liquidos232
    @liquidos232 Před 4 lety

    Hello, i have several problems in optimization. Your videos is very very amazing and very well explained, however i stuck on how do i implement it in my project. Can you help me? i sent you a private email, but we can go to discord if you like. Thank you very much!

  • @jakremastered706
    @jakremastered706 Před 6 lety

    Make new tutorials please!!

    • @TechArtAid
      @TechArtAid  Před 6 lety

      +Jak Remastered Yeah, can't wait to return to recording. Currently I'm focused on the profiling book. But gotta interleave it some how, since that would take a while :)