Jump to content


Photo

Studio Now Supports Profiling


  • Please log in to reply
19 replies to this topic

#1 NakedPaulToast

NakedPaulToast

    GM Studio/Mac/Win

  • GMC Member
  • 8808 posts
  • Version:GM:Studio

Posted 11 April 2014 - 11:11 AM

According to the latest techblog, Studio now supports profiling!
 
For those unaware of what a profiler is; a profiler "measures" how much time is spent in functions (or events) then presents a summary of time spent.
 
It's a critical component to optimising games, allowing one to focus on improving code that is executed a lot and not waste time optimising code that doesn't execute much anyway.
 
Kudos to the dev team.
  • 3

If the Bible truly is inspired by God, you would think that somebody as omnipotent and all-knowing would have known to get his message out using TCP instead of UDP.

 


#2 Nocturne

Nocturne

    Nocturne Games

  • Administrators
  • 25708 posts
  • Version:GM:Studio

Posted 11 April 2014 - 11:12 AM

Note that this won't be available to anybody until the next Early Access release, which should be sometime soon...  :thumbsup:


  • 1

U1FVsm3.png

40799.png


#3 xygthop3

xygthop3

    You may know me from such forums as "Shaders"

  • GMC Member
  • 3367 posts
  • Version:GM:Studio

Posted 11 April 2014 - 11:15 AM

This will be an invaluable tool.


Edited by xygthop3, 11 April 2014 - 11:15 AM.

  • 0

#4 rwkay

rwkay

    YoYo Games CTO

  • YoYo Games Staff
  • 2937 posts
  • Version:Unknown

Posted 11 April 2014 - 11:23 AM

Note : Currently the profiler focuses on the CPU side so it will tell you what is happening with the CPU it does not help if your game is GPU bound and the CPU spends all its time waiting for the GPU to finish rendering.

 

We are looking to add more metrics as time goes on to expose various counters from the engine i.e.

 

+ Amount of Free Memory

+ Size of the Memory Heap

+ Number of collision checks made

+ Number of draw calls made

+ Number of drawing primitives drawn

 

The goal is to gradually expose more and more information on what is happening within the engine to allow you to optimise your code better...

 

Russell


  • 8

#5 gnysek

gnysek

    GMC Member

  • GMC Member
  • 613 posts
  • Version:GM:Studio

Posted 11 April 2014 - 12:37 PM

THIS IS AWESOME

 

rainbow_drool.gif


  • 0

Previously game developer at YoYoGames, Currently PHP developer in DB-Team
Programming and working with: GML/C#/PHP/JS/MySql/CSS/HTML

Follow 
@GameMakerUpdate to get info about latest versions of GM when they are released: https://twitter.com/GameMakerUpdate or visit website.

(it's managed by bot, not by human, remember)


#6 Lonewolff

Lonewolff

    Permanent Resident

  • GMC Member
  • 3517 posts
  • Version:GM:Studio

Posted 11 April 2014 - 12:40 PM

Note : Currently the profiler focuses on the CPU side so it will tell you what is happening with the CPU it does not help if your game is GPU bound and the CPU spends all its time waiting for the GPU to finish rendering.
 
We are looking to add more metrics as time goes on to expose various counters from the engine i.e.
 
+ Amount of Free Memory
+ Size of the Memory Heap
+ Number of collision checks made
+ Number of draw calls made
+ Number of drawing primitives drawn
 
The goal is to gradually expose more and more information on what is happening within the engine to allow you to optimise your code better...
 
Russell


Any chance this may include the amount of free GPU memory as well?

I know this is a lot harder to measure though due to the way GPU's behave
  • 0

#7 rwkay

rwkay

    YoYo Games CTO

  • YoYo Games Staff
  • 2937 posts
  • Version:Unknown

Posted 11 April 2014 - 01:11 PM

I wish   we could expose that information but there is not a simple measurement of that exposed in a way that we could give you (we would like it ourselves).

 

Russell


  • 0

#8 Rusky

Rusky

    GMC Member

  • GMC Member
  • 2492 posts
  • Version:Unknown

Posted 11 April 2014 - 01:53 PM

Any chance of visualizations for the data like flame graphs?


  • 0

#9 Erik Leppen

Erik Leppen

    GMC Member

  • GMC Member
  • 2751 posts
  • Version:GM:Studio

Posted 11 April 2014 - 02:00 PM

This is something I have wanted for so long (and reported as a wish ages ago). It's great to see it's finally coming! Wonderful! :D
  • 0

promo_briquidmini_500x150.png


#10 rwkay

rwkay

    YoYo Games CTO

  • YoYo Games Staff
  • 2937 posts
  • Version:Unknown

Posted 11 April 2014 - 02:08 PM

Graphs are coming for profiling as well (in subsequent versions, we are working on it now)... not sure what a flame graph is??

 

Russell


  • 0

#11 Rusky

Rusky

    GMC Member

  • GMC Member
  • 2492 posts
  • Version:Unknown

Posted 11 April 2014 - 02:16 PM

Flame Graphs are a visualization of which call stacks run for how long.


  • 0

#12 rwkay

rwkay

    YoYo Games CTO

  • YoYo Games Staff
  • 2937 posts
  • Version:Unknown

Posted 11 April 2014 - 02:53 PM

OK that is interesting as that is pretty much what Alan has implemented, you can choose to see each function highlighted individually (and if it is a parent in the call tree it will show the combined value of all the children, though you can ask for each child to be shown as well) - it does allow you to quickly identify spikes over time and see relative performance over time as well.

 

Russell


  • 0

#13 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 12 April 2014 - 12:06 AM

Great stuff guys! Next I would like a trace log system to work in pair with the debugoutput parameter so we can figure out where in the game a crash occurs on a client!
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#14 CloudBomb

CloudBomb

    GMC Member

  • GMC Member
  • 475 posts
  • Version:GM:Studio

Posted 12 April 2014 - 12:18 AM

This is awesome, kudos.


  • 0

#15 !nfexious

!nfexious

    GMC Member

  • GMC Member
  • 108 posts
  • Version:GM:Studio

Posted 12 April 2014 - 12:40 AM

This is great to hear, it's a powerful tool to have indeed.

I'm sure that this will also help the developers working on game maker, to improve the way it handles it's codes and such.


  • 0

#16 Mania

Mania

    GMC Member

  • GMC Member
  • 231 posts
  • Version:GM:Studio

Posted 12 April 2014 - 04:38 AM

Could the articles clearly state whether something is already available or "coming soon"?


  • 1

gb_greenlight.png


#17 Chrscool8

Chrscool8

    Call me Chris.

  • GMC Member
  • 2399 posts
  • Version:GM:Studio

Posted 15 April 2014 - 05:58 AM

Oh, god, this is beautiful. I am loooving the new debugger already and this will surely be incredibly useful. I've been waiting for these two things for years now. Hugely good additions to GM. Thanks, Yoyo. Despite what some people around here say about Studio, I think you're making GM amazing. Loving every update.


  • 1

Click the banner to check out my game, Suh Burb!

XPTintI.gif

Add me on Steam! Let's talk about making games!


#18 obscene

obscene

    GMC Member

  • GMC Member
  • 3171 posts
  • Version:GM:Studio

Posted 04 May 2014 - 10:26 PM

I'm using the profiler today for the first time to solve a problem. Selected the show calls/time total so I could see exactly how many times a function is being called every step. So much easier to find problems now and fix them.

 

Thank you Yoyo, I mean really. Thank you for this.


  • 0

#19 xygthop3

xygthop3

    You may know me from such forums as "Shaders"

  • GMC Member
  • 3367 posts
  • Version:GM:Studio

Posted 04 May 2014 - 11:00 PM

Thank you profiler for saving me valuable FPS caused by a rouge surface_reset_target();


Edited by xygthop3, 04 May 2014 - 11:02 PM.

  • 0

#20 Chrscool8

Chrscool8

    Call me Chris.

  • GMC Member
  • 2399 posts
  • Version:GM:Studio

Posted 04 May 2014 - 11:40 PM

Yeah, now that I've got to use it some, it's super amazing. Even happier about it than I anticipated! Love it, Yoyo. 


  • 0

Click the banner to check out my game, Suh Burb!

XPTintI.gif

Add me on Steam! Let's talk about making games!