Intro to Profiling | Game Engine series

Поділитися
Вставка
  • Опубліковано 12 лис 2024

КОМЕНТАРІ • 35

  • @Josh350
    @Josh350 5 років тому +17

    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 років тому +4

    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?

  • @itskigni8086
    @itskigni8086 5 років тому +38

    "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 років тому +15

      Yup. If you wanna profile GPU rendering use NSight or Renderdoc.

    • @nebulium6641
      @nebulium6641 3 роки тому +4

      @@yasserarguelles6117 Check his latest video about vulkan, he mentioned your comment

  • @DerThomyLP
    @DerThomyLP 5 років тому +6

    Always wanted something like this! :)

  • @Ev3r0x
    @Ev3r0x 2 роки тому +1

    21:28
    you could also explicitly specify the type in the lambda call

  • @Destroyer19941995
    @Destroyer19941995 4 роки тому

    What a clever usage of a destructor :D

  • @तंत्र
    @तंत्र 5 років тому +3

    Good to see you again......... Your videos are really awesome........

  • @thiagoaraujosilva2058
    @thiagoaraujosilva2058 5 років тому +2

    Thanks for sharing your knowledge man :)

  • @jaykayluo7145
    @jaykayluo7145 5 років тому +2

    Good to see you again +1

  • @artie5913
    @artie5913 5 років тому +7

    Engine: Not even close to exist yet...
    Cherno: Lets optimize it!

    • @1Infinitive1
      @1Infinitive1 5 років тому +1

      and its been like a year lmao :D

    • @fossforever512
      @fossforever512 5 років тому

      You should always optimize

    • @artie5913
      @artie5913 5 років тому +1

      @@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 років тому +1

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

  • @sam_is_people1170
    @sam_is_people1170 2 роки тому

    thanks!

  • @fredhair
    @fredhair 5 років тому +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*.

  • @vamidicreations
    @vamidicreations 5 років тому +3

    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?

  • @gbroton
    @gbroton 5 років тому +3

    Can you make a video about callbacks in C++?

  • @AceHardy
    @AceHardy 5 років тому

    👑

  • @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?

  • @ChlorieHCl
    @ChlorieHCl 5 років тому +1

    Why are you taking an rvalue reference and copy the lambda though... You should probably move it into the timer.

  • @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 роки тому +3

      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 3 роки тому +2

      @@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 3 роки тому +5

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

  • @reductor_
    @reductor_ 5 років тому +5

    Takes an rvalue reference in constructor then copies it :(

  • @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 років тому +2

      His name sounds very slavic though, Yan Chernikov