CFx SDK Documentation
2024 SP0
Loading...
Searching...
No Matches
SDK
CFx
dd_inc
Gs
GsVectPerformance.h
Go to the documentation of this file.
1
2
// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3
// All rights reserved.
4
//
5
// This software and its documentation and related materials are owned by
6
// the Alliance. The software may only be incorporated into application
7
// programs owned by members of the Alliance, subject to a signed
8
// Membership Agreement and Supplemental Software License Agreement with the
9
// Alliance. The structure and organization of this software are the valuable
10
// trade secrets of the Alliance and its suppliers. The software is also
11
// protected by copyright law and international treaty provisions. Application
12
// programs incorporating this software must include the following statement
13
// with their copyright notices:
14
//
15
// This application incorporates Open Design Alliance software pursuant to a license
16
// agreement with Open Design Alliance.
17
// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18
// All rights reserved.
19
//
20
// By use of this software, its documentation or related materials, you
21
// acknowledge and accept the above terms.
23
#ifndef GS_VECT_PERFORMANCE_H
24
#define GS_VECT_PERFORMANCE_H
25
26
#include "
TD_PackPush.h
"
27
33
class
GsDevicePerformanceTm
34
{
35
public
:
39
GsDevicePerformanceTm
() {
reset
(); }
40
44
void
reset
()
45
{
46
m_update
= 0;
47
m_updateGeometry
= 0;;
48
m_updateScreen
= 0;
49
m_updateEntities
= 0;
50
}
51
52
public
:
53
double
m_update
;
54
double
m_updateGeometry
;
55
double
m_updateScreen
;
56
double
m_updateEntities
;
57
};
58
59
enum
EParallelVectOptions
60
{
61
eEnableParallelVectorization
= 0x00000001,
62
eEnableParallelDisplay
= 0x00000002,
63
eEnableOptimalThreadsNumber
= 0x00000004,
64
eEnableSchedulerLogOutput
= 0x00000008,
65
eEnablePerfMeasurements
= 0x00000010,
66
eForcePartialUpdateForTest
= 0x00000020,
67
eForceParallelVectorization
= 0x00000040,
68
eEnableUpdateExtentsOnly
= 0x00000080
69
};
70
76
class
GsVectPerformanceData
77
{
78
public
:
82
GsVectPerformanceData
():
m_options
(0),
m_numVectUsedUpdateGeom
(0),
83
m_numVectUsedUpdateScr
(0){}
84
90
bool
enableParallelVectorization
()
const
91
{
return
GETBIT
(
m_options
,
eEnableParallelVectorization
); }
92
98
bool
enableParallelDisplay
()
const
99
{
return
GETBIT
(
m_options
,
eEnableParallelDisplay
); }
100
106
bool
schedulerLogOutput
()
const
107
{
return
GETBIT
(
m_options
,
eEnableSchedulerLogOutput
); }
108
114
bool
optimalThreadsNumber
()
const
115
{
return
GETBIT
(
m_options
,
eEnableOptimalThreadsNumber
); }
116
122
bool
enablePerfMeasurements
()
const
123
{
return
GETBIT
(
m_options
,
eEnablePerfMeasurements
); }
124
130
bool
forcePartialUpdateForTest
()
const
131
{
return
GETBIT
(
m_options
,
eForcePartialUpdateForTest
); }
132
138
bool
forceParallelVectorization
()
const
139
{
return
GETBIT
(
m_options
,
eForceParallelVectorization
); }
140
146
bool
enableVectorizationOnly
()
const
147
{
return
GETBIT
(
m_options
,
eEnableUpdateExtentsOnly
); }
148
public
:
149
OdUInt32
m_options
;
//bit flags, see EParallelVectOptions
150
GsDevicePerformanceTm
m_tm
;
151
OdUInt32
m_numVectUsedUpdateGeom
;
152
OdUInt32
m_numVectUsedUpdateScr
;
153
};
154
155
#include "
TD_PackPop.h
"
156
157
#endif
// GS_VECT_PERFORMANCE_H
EParallelVectOptions
EParallelVectOptions
Definition:
GsVectPerformance.h:60
eEnableUpdateExtentsOnly
@ eEnableUpdateExtentsOnly
Definition:
GsVectPerformance.h:68
eEnablePerfMeasurements
@ eEnablePerfMeasurements
Definition:
GsVectPerformance.h:65
eEnableOptimalThreadsNumber
@ eEnableOptimalThreadsNumber
Definition:
GsVectPerformance.h:63
eForcePartialUpdateForTest
@ eForcePartialUpdateForTest
Definition:
GsVectPerformance.h:66
eEnableSchedulerLogOutput
@ eEnableSchedulerLogOutput
Definition:
GsVectPerformance.h:64
eEnableParallelVectorization
@ eEnableParallelVectorization
Definition:
GsVectPerformance.h:61
eEnableParallelDisplay
@ eEnableParallelDisplay
Definition:
GsVectPerformance.h:62
eForceParallelVectorization
@ eForceParallelVectorization
Definition:
GsVectPerformance.h:67
OdUInt32
unsigned int OdUInt32
Definition:
OdPlatformSettings.h:814
GETBIT
#define GETBIT(flags, bit)
Definition:
OdaDefs.h:517
TD_PackPop.h
TD_PackPush.h
GsDevicePerformanceTm
Definition:
GsVectPerformance.h:34
GsDevicePerformanceTm::m_updateScreen
double m_updateScreen
Definition:
GsVectPerformance.h:55
GsDevicePerformanceTm::GsDevicePerformanceTm
GsDevicePerformanceTm()
Definition:
GsVectPerformance.h:39
GsDevicePerformanceTm::m_update
double m_update
Definition:
GsVectPerformance.h:53
GsDevicePerformanceTm::m_updateGeometry
double m_updateGeometry
Definition:
GsVectPerformance.h:54
GsDevicePerformanceTm::m_updateEntities
double m_updateEntities
Definition:
GsVectPerformance.h:56
GsDevicePerformanceTm::reset
void reset()
Definition:
GsVectPerformance.h:44
GsVectPerformanceData
Definition:
GsVectPerformance.h:77
GsVectPerformanceData::forceParallelVectorization
bool forceParallelVectorization() const
Definition:
GsVectPerformance.h:138
GsVectPerformanceData::m_tm
GsDevicePerformanceTm m_tm
Definition:
GsVectPerformance.h:150
GsVectPerformanceData::m_numVectUsedUpdateScr
OdUInt32 m_numVectUsedUpdateScr
Definition:
GsVectPerformance.h:152
GsVectPerformanceData::optimalThreadsNumber
bool optimalThreadsNumber() const
Definition:
GsVectPerformance.h:114
GsVectPerformanceData::m_numVectUsedUpdateGeom
OdUInt32 m_numVectUsedUpdateGeom
Definition:
GsVectPerformance.h:151
GsVectPerformanceData::m_options
OdUInt32 m_options
Definition:
GsVectPerformance.h:149
GsVectPerformanceData::GsVectPerformanceData
GsVectPerformanceData()
Definition:
GsVectPerformance.h:82
GsVectPerformanceData::enableVectorizationOnly
bool enableVectorizationOnly() const
Definition:
GsVectPerformance.h:146
GsVectPerformanceData::enableParallelDisplay
bool enableParallelDisplay() const
Definition:
GsVectPerformance.h:98
GsVectPerformanceData::forcePartialUpdateForTest
bool forcePartialUpdateForTest() const
Definition:
GsVectPerformance.h:130
GsVectPerformanceData::enableParallelVectorization
bool enableParallelVectorization() const
Definition:
GsVectPerformance.h:90
GsVectPerformanceData::schedulerLogOutput
bool schedulerLogOutput() const
Definition:
GsVectPerformance.h:106
GsVectPerformanceData::enablePerfMeasurements
bool enablePerfMeasurements() const
Definition:
GsVectPerformance.h:122
Generated on Wed Apr 5 2023 17:29:19