Collect detailed timing for each function marked in your code. Extremely useful for primary investigation and keeping track of performance over time.
Collect statistical data about the work that is performed by any specified scope of your application during a profiling run.
Hook any function from sampling run to collect precise timing in every frame. Indispensable tool for fast checking assumptions, spike investigation and keeping eye on system functions.
One line in your code is more than enough to start.
Of course you can store all your profiling data. It's very joyful to compare timings 'before' and 'after' optimization.
Someone from your team is in trouble? Connect to his game via network. You do not need to take a walk any more.
Even a couple thousand counters will have virtually zero impact on your performance. You can even leave them in your Release build to be always ready.
Allows you to check your assumptions extremely fast. Usually you won't need to build or restart your application to get everything you need.
Hell yeah! That's all you need!
With the help of Event Tracing for Windows API Brofiler captures system events. You can easily get crucial information about context switches.
Timeline control shows you precise information about your threads and can help to profile and fix synchronization bottlenecks.
Bunch of system functions (Sleep, WaitForSingleObject) are hooked and automatically will get to the scope.
Started as a small tool, Brofiler has grown up to an everyday instrument, that helps not only to find and fix hotspots,
but also to hold control over performance after any time-critical modification.
Here is a list of use cases in Skyforge: