-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add superluminal, Tracy and Optick profilers integration as Gems #834
base: development
Are you sure you want to change the base?
Add superluminal, Tracy and Optick profilers integration as Gems #834
Conversation
Signed-off-by: guillaume-haerinck <[email protected]>
|
||
bool ProfilerSystemComponent::IsActive() const | ||
{ | ||
return false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While superluminal API does not provide anything to trigger a record from the editor, we don't want to leave this unimplemeted either as we can only have one active profiler at a time (with the exception of Pix that is doing its hook directly in profiler.h)
Signed-off-by: guillaume-haerinck <[email protected]>
{ | ||
void CpuProfiler::Init() | ||
{ | ||
AZ::Interface<AZ::Debug::Profiler>::Register(this); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that only one profiler can be active at a time, I might want to assert there, but ideally I should use a mechanism to say that when this gem is enabled none of the other profiling gem can be enabled, I don't know if we have something like that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is, kinda-of. There is a field in gems.json called provided_unique_service
that you can set to any string, and the scripts to enable gems should check against this. We did this for PhysX4 vs PhysX5
Looks like tabbing vs spaces issues going on |
Signed-off-by: guillaume-haerinck <[email protected]>
Ran the clang-format on all of these files :) |
Signed-off-by: guillaume-haerinck <[email protected]>
Signed-off-by: guillaume-haerinck <[email protected]>
What does this PR do?
Users have now the choice to use :
Note : Pix integration would need to be made cleaner, as is does not rely on the
AZ::Debug::Profiler
(and said interface needs improvements to support GPU events)Note : The profile API is lacking and will need improvements to supports these profilers to their full potential
Superluminal
Tracy
Optick
How was this PR tested?
On windows custom build on development branch