UE4 Graphics Profiling: Measuring Performance

  Рет қаралды 95,989

Tech Art Aid

Tech Art Aid

Күн бұрын

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...

Пікірлер: 115
@sonofamortician
@sonofamortician 2 жыл бұрын
great clear, concise tutorial, I wish all Unreal tutorials was this useful.
@ripley_73
@ripley_73 Жыл бұрын
Incredibly helpful been looking for a explanation like this thank you
@breikdans1646
@breikdans1646 4 жыл бұрын
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!!
@TechArtAid
@TechArtAid 4 жыл бұрын
Perfect! My pleasure :)
@wmka
@wmka 2 жыл бұрын
Searched for "RHI Unreal". This is first in the search result. Thank you and have a good one.
@Piotr-n8s
@Piotr-n8s Ай бұрын
Professor Świerad. This should be a mandatory course for all studying for intermediate level in game dev.
@TechArtAid
@TechArtAid Ай бұрын
I wish this was common knowledge, yup. Share it with students and newcomers if you meet some
@GameDevBeat
@GameDevBeat 7 жыл бұрын
thanks a lot .. these series really gonna help me with my game optimization .. cant wait to see more
@iamisandisnt
@iamisandisnt 7 жыл бұрын
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 7 жыл бұрын
+iamisandisnt Great. Thanks. If you can't wait and want "spoilers", then check Vincent Loignon's article (in the description) ;)
@barelyvisibl
@barelyvisibl 8 ай бұрын
short and smart. Thank you!
@MichaelGaskin
@MichaelGaskin 7 жыл бұрын
Great stuff, thanks for taking the time to make this video!
@TechArtAid
@TechArtAid 7 жыл бұрын
+Michael Gaskin I'm glad to hear that and I'd like to recommend the entire series :)
@soggymcfries8072
@soggymcfries8072 7 жыл бұрын
Dobra robota Oskar! Dzięki :)
@unlinkedgames6595
@unlinkedgames6595 7 жыл бұрын
I LOVE your tutorial. Thank you. Really.
@WowPlusWow
@WowPlusWow 3 жыл бұрын
Kalkulator
@dszarts
@dszarts 7 жыл бұрын
Damn I needed to know this!.. Thanks!!
@fabioapelbaum8840
@fabioapelbaum8840 4 жыл бұрын
you rock, thanks for sharing and make us better artist considering performance on top of everything!
@TechArtAid
@TechArtAid 4 жыл бұрын
Cheers! New videos coming soon, by the way: kzbin.info/www/bejne/qpuUdnaYfbWNis0 Not public yet, so I'll take any amounts of feedback :)
@raviiyer4765
@raviiyer4765 3 жыл бұрын
@@TechArtAid Thank you Good Sir! Was waiting eagerly for your new videos.
@EliasWick
@EliasWick 6 жыл бұрын
This video was really, really helpful! I solved a huge problem in my game thanks to this!
@TechArtAid
@TechArtAid 6 жыл бұрын
I'm happy to hear that. I think of optimization in terms of a problem solver as well. Not just more fps :)
@MetehanYengil
@MetehanYengil 4 жыл бұрын
It helps me a lot. Thanks!
@Thunder_Owl
@Thunder_Owl 5 жыл бұрын
Thanks a lot for all this explanation
@aurimasa4952
@aurimasa4952 7 жыл бұрын
Nice one man!
@EmrahBolum
@EmrahBolum 3 жыл бұрын
It's really useful.
@AlainMajdalani
@AlainMajdalani 6 жыл бұрын
Thank you very much for your clear explanation! Cheers
@zakaria20062
@zakaria20062 4 жыл бұрын
Thanks for the efford you are putting to help the community.... I hope have something like this for mobile
@crazyuniverze
@crazyuniverze 6 жыл бұрын
Thanks man, that's really helpful.
@rifat.ahammed
@rifat.ahammed 2 жыл бұрын
Thank you
@sean8306
@sean8306 7 жыл бұрын
That was awesome, thank you !
@TechArtAid
@TechArtAid 7 жыл бұрын
+Sean Thanks! I'm working on a text version of these series now
@lunaruzz7639
@lunaruzz7639 5 жыл бұрын
My englisch is not perfect but i understand it. Thank you so much for sharing this important things with us. Kind regards from germany
@TechArtAid
@TechArtAid 5 жыл бұрын
Thank you for the feedback! :)
@NBiTe
@NBiTe 3 жыл бұрын
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.
@aryanviolett4606
@aryanviolett4606 6 жыл бұрын
helped me alot! thanks man :)
@bernhard.rieder
@bernhard.rieder 3 жыл бұрын
wesome. Do you know how to increase the Font Size of the GPU Profiler? Thank you so much, keep rocking.
@TechArtAid
@TechArtAid 2 жыл бұрын
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 :/
@chintan7426
@chintan7426 2 жыл бұрын
On 10:58, what if I have Another Graphic card..Then what would be stat command?
@TechArtAid
@TechArtAid 2 жыл бұрын
Then you don't need this line. It will work without it
@JohnSmith-ou3uj
@JohnSmith-ou3uj 6 жыл бұрын
@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 6 жыл бұрын
Thanks! Every such tip is useful :) It was also one of my viewers who finally taught me to pronounce "variable" ;)
@JohnSmith-ou3uj
@JohnSmith-ou3uj 6 жыл бұрын
Glad to have helped! I teach English so I know how it is :) @@TechArtAid
@Restart-Gaming
@Restart-Gaming 4 жыл бұрын
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??
@Moaedmsawer
@Moaedmsawer Жыл бұрын
Hello .. do unsed files and assets in content folder affect the processing afer packaging for ( android )
@TechArtAid
@TechArtAid Жыл бұрын
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)
@Paul-hw7kc
@Paul-hw7kc 4 жыл бұрын
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.
@JohnDaniels
@JohnDaniels 6 жыл бұрын
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 6 жыл бұрын
There is a big difference in CPU usage. Memory - probably not so much
@JohnDaniels
@JohnDaniels 6 жыл бұрын
Thank you!
@JohnDaniels
@JohnDaniels 6 жыл бұрын
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 6 жыл бұрын
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 6 жыл бұрын
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.
@Khaliszt
@Khaliszt 7 жыл бұрын
Thanks a lot!
@ДартВейдер-х8щ
@ДартВейдер-х8щ 3 жыл бұрын
Thanks for video. How to increase font size in stat tables?
@TechArtAid
@TechArtAid 3 жыл бұрын
Can't do it, afaik
@timursibatov730
@timursibatov730 2 жыл бұрын
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 2 жыл бұрын
stat startfile stat stopfile the recording will be in YourProject/Saved/Profiling. open it using Unreal's built-in Profiler, as shown
@timursibatov730
@timursibatov730 2 жыл бұрын
@@TechArtAid thank you very much! :)
@GonziHere
@GonziHere 3 жыл бұрын
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 3 жыл бұрын
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 3 жыл бұрын
@@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.
@AndrewByrnes1
@AndrewByrnes1 3 жыл бұрын
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 3 жыл бұрын
Check my video about "GPU Visualizer". It breaks down the total cost into categories
@mhnoni
@mhnoni 7 жыл бұрын
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 7 жыл бұрын
+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 7 жыл бұрын
+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: kzbin.info/www/bejne/n5aroYd9lLVrh5I
@mhnoni
@mhnoni 7 жыл бұрын
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 7 жыл бұрын
+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
@GameDevAraz
@GameDevAraz 8 ай бұрын
how to fix frame if its 30.0? but all other 3 things are normal
@TechArtAid
@TechArtAid 8 ай бұрын
Then I think you need to dig deeper. Use Unreal Insights to look for places where some function is stalling the rest
@sergelyukshin8302
@sergelyukshin8302 7 жыл бұрын
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 7 жыл бұрын
Or if you know there i can look for this information - pretty appreciate. I'm Working in UE4 too.
@TechArtAid
@TechArtAid 7 жыл бұрын
+l6969 Productions Hi :) Link no 1 in the description should provide you with good general advice
@Xale007
@Xale007 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@TechArtAid so it there a viable number to get ? Because MS depends of the hardware aswell.
@TechArtAid
@TechArtAid 4 жыл бұрын
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.
@ROSALIEIK
@ROSALIEIK 3 жыл бұрын
i donno how to open these menues....
@GamesUKStudios
@GamesUKStudios 6 жыл бұрын
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 6 жыл бұрын
I also have spline blueprints
@siphon8063
@siphon8063 4 жыл бұрын
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.
@chlbrn
@chlbrn 7 жыл бұрын
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 7 жыл бұрын
+Charlie.H Nice! What were the main issues to address on Surface?
@chlbrn
@chlbrn 7 жыл бұрын
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.
@jinchaohan2485
@jinchaohan2485 5 жыл бұрын
so how do you turn off those stats?
@TechArtAid
@TechArtAid 5 жыл бұрын
Just type the same command again
@justplaying4292
@justplaying4292 2 жыл бұрын
9:18 was that your stomach sound!? :DDD
@KENISEG
@KENISEG 7 жыл бұрын
когда вы выложите asset по процедурной генерации зданий на свой сайт?
@TechArtAid
@TechArtAid 7 жыл бұрын
gumroad.com/l/wxqI - Папка "Content\TechArtAid\RandomizingInstances"
@starscream2092
@starscream2092 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
Hey, this Flex looks interesting... Just saw a demo on Tomasz Figas' channel: kzbin.info/www/bejne/n2XSipWGnpuXqrc 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 7 жыл бұрын
yes it is interesting, i would like to know how to compile everything together, flex, VXGI, hair works.
@TimeoutMegagameplays
@TimeoutMegagameplays 6 жыл бұрын
APEX is already included in UE4.
@sean8306
@sean8306 7 жыл бұрын
Is there a way to profile your textures and materials?
@TechArtAid
@TechArtAid 7 жыл бұрын
+Sean Part 2, probably second half, has info on that :) Optimization view modes and texture statistics window
@sean8306
@sean8306 7 жыл бұрын
thank you very much :-) getting onto it right now
@sean8306
@sean8306 7 жыл бұрын
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 7 жыл бұрын
+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 7 жыл бұрын
That's really helpful, thank you for your reply :-)
@SteaveP
@SteaveP 6 жыл бұрын
nice
@raishelmy7176
@raishelmy7176 7 жыл бұрын
What computer's spec did you use?
@TechArtAid
@TechArtAid 7 жыл бұрын
+Rais Helmy Intel Xeon 1240v3 (equiv. of i7-3770), 16 GB ram, Nvidia GTX 760 2 GB, SSD drive
@raishelmy7176
@raishelmy7176 7 жыл бұрын
owh.. Thanks
@liquidos232
@liquidos232 4 жыл бұрын
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!
@Xperto_
@Xperto_ 6 жыл бұрын
stat fps stat unitgraph
@jakremastered706
@jakremastered706 7 жыл бұрын
Make new tutorials please!!
@TechArtAid
@TechArtAid 7 жыл бұрын
+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 :)
@fonfa
@fonfa 7 жыл бұрын
Thank you so much!
UE4 Graphics Profiling: Pipeline and Bottlenecks
22:46
Tech Art Aid
Рет қаралды 46 М.
How to Optimize Performance in Unreal Engine 5
17:40
Nu Makes Games
Рет қаралды 49 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
UE4 Graphics Profiling: Intel Frame Analyzer
24:27
Tech Art Aid
Рет қаралды 11 М.
UE4 Graphics Profiling: All Categories Guide (Rendering Passes)
39:52
5 Tips to Optimize Environments in Unreal Engine 4
12:23
UE4 Optimization: Instancing
28:34
Tech Art Aid
Рет қаралды 151 М.
When Optimisations Work, But for the Wrong Reasons
22:19
SimonDev
Рет қаралды 1,2 МЛН
The Price of Realism? | SH2R Optimization From The GPU Perspective
15:59
Threat Interactive
Рет қаралды 294 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН