Тёмный

UE4 Graphics Profiling: Measuring Performance 

Tech Art Aid
Подписаться 27 тыс.
Просмотров 94 тыс.
50% 1

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

Опубликовано:

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 113   
@unlinkedgames6595
@unlinkedgames6595 7 лет назад
I LOVE your tutorial. Thank you. Really.
@ripley_73
@ripley_73 Год назад
Incredibly helpful been looking for a explanation like this thank you
@bernhard.design
@bernhard.design 2 года назад
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 :/
@sonofamortician
@sonofamortician 2 года назад
great clear, concise tutorial, I wish all Unreal tutorials was this useful.
@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.
@WowPlusWow
@WowPlusWow 2 года назад
Kalkulator
@barelyvisibl
@barelyvisibl 4 месяца назад
short and smart. Thank you!
@dszarts
@dszarts 7 лет назад
Damn I needed to know this!.. Thanks!!
@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! :)
@Restart-Gaming
@Restart-Gaming 3 года назад
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)
@wmka
@wmka 2 года назад
Searched for "RHI Unreal". This is first in the search result. Thank you and have a good one.
@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 :)
@soggymcfries8072
@soggymcfries8072 7 лет назад
Dobra robota Oskar! Dzięki :)
@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.
@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
@justplaying4292
@justplaying4292 2 года назад
9:18 was that your stomach sound!? :DDD
@GameDevAraz
@GameDevAraz 3 месяца назад
how to fix frame if its 30.0? but all other 3 things are normal
@TechArtAid
@TechArtAid 3 месяца назад
Then I think you need to dig deeper. Use Unreal Insights to look for places where some function is stalling the rest
@ROSALIEIK
@ROSALIEIK 3 года назад
i donno how to open these menues....
@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!
@GameDevBeat
@GameDevBeat 7 лет назад
thanks a lot .. these series really gonna help me with my game optimization .. cant wait to see more
2 года назад
It's really useful.
@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.
@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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-i4oYbPi6dtU.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 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.
@rifat.ahammed
@rifat.ahammed Год назад
Thank you
@ДартВейдер-х8щ
@ДартВейдер-х8щ 3 года назад
Thanks for video. How to increase font size in stat tables?
@TechArtAid
@TechArtAid 3 года назад
Can't do it, afaik
@zakaria20062
@zakaria20062 3 года назад
Thanks for the efford you are putting to help the community.... I hope have something like this for mobile
@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
@AlainMajdalani
@AlainMajdalani 6 лет назад
Thank you very much for your clear explanation! Cheers
@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.
@timursibatov730
@timursibatov730 Год назад
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 Год назад
stat startfile stat stopfile the recording will be in YourProject/Saved/Profiling. open it using Unreal's built-in Profiler, as shown
@timursibatov730
@timursibatov730 Год назад
@@TechArtAid thank you very much! :)
@JohnSmith-ou3uj
@JohnSmith-ou3uj 5 лет назад
@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 5 лет назад
Thanks! Every such tip is useful :) It was also one of my viewers who finally taught me to pronounce "variable" ;)
@JohnSmith-ou3uj
@JohnSmith-ou3uj 5 лет назад
Glad to have helped! I teach English so I know how it is :) @@TechArtAid
@Latvian3Dman
@Latvian3Dman 5 лет назад
Thanks a lot for all this explanation
@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
@GonziHere
@GonziHere 2 года назад
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 2 года назад
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 2 года назад
@@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.
@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!
@KENISEG
@KENISEG 7 лет назад
когда вы выложите asset по процедурной генерации зданий на свой сайт?
@TechArtAid
@TechArtAid 7 лет назад
gumroad.com/l/wxqI - Папка "Content\TechArtAid\RandomizingInstances"
@chlbrn
@chlbrn 6 лет назад
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 6 лет назад
+Charlie.H Nice! What were the main issues to address on Surface?
@chlbrn
@chlbrn 6 лет назад
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.
@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) ;)
@Xperto_
@Xperto_ 5 лет назад
stat fps stat unitgraph
@crazyuniverze
@crazyuniverze 6 лет назад
Thanks man, that's really helpful.
@fonfa
@fonfa 7 лет назад
Thank you so much!
@SteaveP
@SteaveP 6 лет назад
nice
@Khaliszt
@Khaliszt 7 лет назад
Thanks a lot!
@fabioapelbaum8840
@fabioapelbaum8840 3 года назад
you rock, thanks for sharing and make us better artist considering performance on top of everything!
@TechArtAid
@TechArtAid 3 года назад
Cheers! New videos coming soon, by the way: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tj1ECbHPZTk.html 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.
@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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ieHpTG_P8Q0.html
@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
@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.
@aryanviolett4606
@aryanviolett4606 6 лет назад
helped me alot! thanks man :)
@aurimasa4952
@aurimasa4952 7 лет назад
Nice one man!
@jinchaohan2485
@jinchaohan2485 4 года назад
so how do you turn off those stats?
@TechArtAid
@TechArtAid 4 года назад
Just type the same command again
@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 :)
@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 :)
@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
@sean8306
@sean8306 7 лет назад
That was awesome, thank you !
@TechArtAid
@TechArtAid 7 лет назад
+Sean Thanks! I'm working on a text version of these series now
@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 :-)
Далее
UE4 Graphics Profiling: Pipeline and Bottlenecks
22:46
5 Tips to Optimize Environments in Unreal Engine 4
12:23
UE4 Tutorial: Optimization (VR)
12:22
Просмотров 13 тыс.