Main Page
Class Hierarchy
Compound List
Compound Members
Include
extensions
PxDefaultBufferedProfiler.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
3
*
4
* NVIDIA CORPORATION and its licensors retain all intellectual property
5
* and proprietary rights in and to this software, related documentation
6
* and any modifications thereto. Any use, reproduction, disclosure or
7
* distribution of this software and related documentation without an express
8
* license agreement from NVIDIA CORPORATION is strictly prohibited.
9
*/
10
11
12
#ifndef PX_DEFAULT_BUFFERED_PROFILER_H
13
#define PX_DEFAULT_BUFFERED_PROFILER_H
14
18
#include "
common/PxPhysXCommonConfig.h
"
19
20
#ifndef PX_DOXYGEN
21
namespace
physx
22
{
23
#endif
24
class
PxProfileZoneManager;
25
34
struct
PxBufferedProfilerEvent
35
{
36
PxU64
startTimeNs
;
37
PxU64
stopTimeNs
;
38
const
char
*
name
;
39
const
char
*
profileZoneName
;
40
PxU16
id
;
41
PxU64
contextId;
42
43
44
PxU32
threadId
;
45
PxU8
threadPriority
;
46
PxU8
cpuId
;
47
};
48
54
class
PxBufferedProfilerCallback
55
{
56
public
:
60
static
const
PxU32
CROSS_THREAD_ID = 99999789;
61
69
virtual
void
onEvent(
const
PxBufferedProfilerEvent
&event) = 0;
70
71
protected
:
72
virtual
~PxBufferedProfilerCallback
(
void
) {}
73
};
74
76
88
class
PxDefaultBufferedProfiler
89
{
90
public
:
96
virtual
void
flushEvents() = 0;
97
101
virtual
PxProfileZoneManager& getProfileZoneManager() = 0;
102
108
virtual
void
addBufferedProfilerCallback(
PxBufferedProfilerCallback
& cb) = 0;
109
115
virtual
void
removeBufferedProfilerCallback(
PxBufferedProfilerCallback
& cb) = 0;
116
120
virtual
void
release() = 0;
121
122
protected
:
123
virtual
~PxDefaultBufferedProfiler
(
void
) {}
124
};
125
126
140
PxDefaultBufferedProfiler
*
PxDefaultBufferedProfilerCreate
(
PxFoundation
& foundation,
const
char
* profileZoneNames );
141
142
143
#ifndef PX_DOXYGEN
144
}
// namespace physx
145
#endif
146
148
#endif // PX_DEFAULT_BUFFERED_PROFILER_H
Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.
www.nvidia.com