Intro to Profiling | Game Engine series

  Рет қаралды 27,440

The Cherno

The Cherno

Күн бұрын

Пікірлер: 35
@Josh350
@Josh350 5 жыл бұрын
I'm not programming this, but I enjoy watching your videos in support. Mainly because I'd have no idea what to do with it when done and I really don't grasp most concepts in general. Thank you for providing this free for all to see on YT.
@OnePiece-fy2kt
@OnePiece-fy2kt 5 жыл бұрын
The wait has come to an end once again. Thank you so much!
@hatema
@hatema 5 жыл бұрын
We are one piece closer to finishing the puzzle amirite?
@DerThomyLP
@DerThomyLP 5 жыл бұрын
Always wanted something like this! :)
@Ev3r0x
@Ev3r0x 3 жыл бұрын
21:28 you could also explicitly specify the type in the lambda call
@itskigni8086
@itskigni8086 5 жыл бұрын
"Renderer Draw" is not measuring the actual draw time, right? it is measuring the time it takes to send the all the draw commands to the gpu.
@yasserarguelles6117
@yasserarguelles6117 5 жыл бұрын
Yup. If you wanna profile GPU rendering use NSight or Renderdoc.
@nebulium6641
@nebulium6641 3 жыл бұрын
@@yasserarguelles6117 Check his latest video about vulkan, he mentioned your comment
@thiagoaraujosilva2058
@thiagoaraujosilva2058 5 жыл бұрын
Thanks for sharing your knowledge man :)
@तंत्र
@तंत्र 5 жыл бұрын
Good to see you again......... Your videos are really awesome........
@jaykayluo7145
@jaykayluo7145 5 жыл бұрын
Good to see you again +1
@vamidicreations
@vamidicreations 5 жыл бұрын
Amazing to see a simple 'profiler' class for functions. I played with it myself and have a imgui log window. Could you not tie it together with the spdf logger? I have created two sinks one for the console and one for the imgui renderer. therefor you can also capture the log level and stuff and display colors based on the types =D ? Also how are you planning to handle events?
@sam_is_people1170
@sam_is_people1170 3 жыл бұрын
thanks!
@gbroton
@gbroton 5 жыл бұрын
Can you make a video about callbacks in C++?
@AceHardy
@AceHardy 5 жыл бұрын
👑
@ChlorieHCl
@ChlorieHCl 5 жыл бұрын
Why are you taking an rvalue reference and copy the lambda though... You should probably move it into the timer.
@Destroyer19941995
@Destroyer19941995 4 жыл бұрын
What a clever usage of a destructor :D
@fredhair
@fredhair 5 жыл бұрын
Please be aware that when rendering the profile results you are using strcat with a null terminated const char* so you don't know the size of the string and you're using a rather small buffer of 50 characters so this is likely to cause a buffer overflow! Not safe code to be using, please be aware of how you're using string data in C / C++. C++ has ways around this instead of using old C functions or if you're going to use this sort of code at least do an assert on the strlen of your result.Name, any client code isn't going to be aware necessarily that there is a 50 character limit - the "%.3fms ". You could check this at compile time since you are using a const char*.
@SimonBuchanNz
@SimonBuchanNz 4 жыл бұрын
Does the Cherno not know about string_view? It was added to std in C++17, but there have been library versions floating around for years earlier.
@PrinceGupta-jo8lo
@PrinceGupta-jo8lo 4 жыл бұрын
He knows, he even made a video about it in C++ series, and he's been using it much before C++17, he mentioned it. He's professional game engine developer fam.
@gregd6022
@gregd6022 4 жыл бұрын
@@PrinceGupta-jo8lo he's hardly "professional", he just goofin with an audience that knows less than he does, he makes seriously unprofessional mistakes and that's just from watching "blips" of his stuff. Good talker though..
@PrinceGupta-jo8lo
@PrinceGupta-jo8lo 4 жыл бұрын
@@gregd6022 Well he used to be a "professional" game engine dev at EA. Maybe you're just better than him, it's totally possible but his videos have good insights, and his hazel-dev is also no joke
@RockTo11
@RockTo11 5 жыл бұрын
Useful for ballpark benchmarks, certainly. I would guess though that for actual profiling with hardware performance counters, you would just use a profiler and not build it into the framework/engine?
@reductor_
@reductor_ 5 жыл бұрын
Takes an rvalue reference in constructor then copies it :(
@artie5913
@artie5913 5 жыл бұрын
Engine: Not even close to exist yet... Cherno: Lets optimize it!
@1Infinitive1
@1Infinitive1 5 жыл бұрын
and its been like a year lmao :D
@fossforever512
@fossforever512 5 жыл бұрын
You should always optimize
@artie5913
@artie5913 5 жыл бұрын
@@fossforever512 no, you should not
@RockTo11
@RockTo11 5 жыл бұрын
Yes, you should always optimize. The "premature optimization" preacher brigade are a major reason why we have such slow software these days.
@artie5913
@artie5913 5 жыл бұрын
@@RockTo11 it seems to me that you don't even understand what premature optimization means. It's not about profiling, it's about writing sane optimal code in the first place instead of giving preference to "readability". And after 8 years of software engineering, 6 years of AAA game dev and 2 years of game engine programming, I'm saying, that you should not waste time on performance research for a system in such an early days of it's life
@Rodrigo-dx4pm
@Rodrigo-dx4pm 5 жыл бұрын
Cherno is from australia or germany?, where he lives?, it is english his native language?
@vamidicreations
@vamidicreations 5 жыл бұрын
It's indeed an Australian accent.
@Gunslinger962
@Gunslinger962 5 жыл бұрын
His name sounds very slavic though, Yan Chernikov
Visual Profiling | Game Engine series
28:46
The Cherno
Рет қаралды 25 М.
Refs, Scopes and Smart Pointers | Game Engine series
24:55
The Cherno
Рет қаралды 37 М.
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
The Absolute Best Intro to Monads For Software Engineers
15:12
Studying With Alex
Рет қаралды 680 М.
Arenas, strings and Scuffed Templates in C
12:28
VoxelRifts
Рет қаралды 102 М.
Fixing Your Dictionary Problem in .NET
9:19
Nick Chapsas
Рет қаралды 20 М.
Tips for C Programming
34:41
Nic Barker
Рет қаралды 42 М.
How to make C++ run FASTER (with std::async)
23:10
The Cherno
Рет қаралды 270 М.
Emulating a CPU in C++ (6502)
52:28
Dave Poo
Рет қаралды 1 МЛН
Building a Particle Simulation Physics Engine in C++ from Scratch
9:56
TEXTURES | Game Engine series
51:48
The Cherno
Рет қаралды 44 М.
The Art of Game Optimization
10:18
Worlds In Motion
Рет қаралды 302 М.