CFx SDK Documentation
2023 SP0
SDK
CFx
dd_inc
Gs
GsVectPerformance.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2017, 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 Teigha(R) software pursuant to a license
16
// agreement with Open Design Alliance.
17
// Teigha(R) Copyright (C) 2002-2017 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
:
36
GsDevicePerformanceTm
() {
reset
(); }
37
void
reset
()
38
{
39
m_update
= 0;
40
m_updateGeometry
= 0;;
41
m_updateScreen
= 0;
42
m_updateEntities
= 0;
43
}
44
45
public
:
46
double
m_update
;
47
double
m_updateGeometry
;
48
double
m_updateScreen
;
49
double
m_updateEntities
;
50
};
51
52
enum
EParallelVectOptions
53
{
54
eEnableParallelVectorization
= 0x00000001,
55
eEnableParallelDisplay
= 0x00000002,
56
eEnableOptimalThreadsNumber
= 0x00000004,
57
eEnableSchedulerLogOutput
= 0x00000008,
58
eEnablePerfMeasurements
= 0x00000010,
59
eForcePartialUpdateForTest
= 0x00000020
60
};
61
67
class
GsVectPerformanceData
68
{
69
public
:
70
GsVectPerformanceData
():
m_options
(0),
m_numVectUsedUpdateGeom
(0),
71
m_numVectUsedUpdateScr
(0){}
72
bool
enableParallelVectorization
()
const
73
{
return
GETBIT
(
m_options
,
eEnableParallelVectorization
); }
74
bool
enableParallelDisplay
()
const
75
{
return
GETBIT
(
m_options
,
eEnableParallelDisplay
); }
76
bool
schedulerLogOutput
()
const
77
{
return
GETBIT
(
m_options
,
eEnableSchedulerLogOutput
); }
78
bool
optimalThreadsNumber
()
const
79
{
return
GETBIT
(
m_options
,
eEnableOptimalThreadsNumber
); }
80
bool
enablePerfMeasurements
()
const
81
{
return
GETBIT
(
m_options
,
eEnablePerfMeasurements
); }
82
bool
forcePartialUpdateForTest
()
const
83
{
return
GETBIT
(
m_options
,
eForcePartialUpdateForTest
); }
84
85
public
:
86
OdUInt32
m_options
;
//bit flags, see EParallelVectOptions
87
GsDevicePerformanceTm
m_tm
;
88
OdUInt32
m_numVectUsedUpdateGeom
;
89
OdUInt32
m_numVectUsedUpdateScr
;
90
};
91
92
#include "
TD_PackPop.h
"
93
94
#endif
// GS_VECT_PERFORMANCE_H
EParallelVectOptions
EParallelVectOptions
Definition:
GsVectPerformance.h:53
eEnablePerfMeasurements
@ eEnablePerfMeasurements
Definition:
GsVectPerformance.h:58
eEnableOptimalThreadsNumber
@ eEnableOptimalThreadsNumber
Definition:
GsVectPerformance.h:56
eForcePartialUpdateForTest
@ eForcePartialUpdateForTest
Definition:
GsVectPerformance.h:59
eEnableSchedulerLogOutput
@ eEnableSchedulerLogOutput
Definition:
GsVectPerformance.h:57
eEnableParallelVectorization
@ eEnableParallelVectorization
Definition:
GsVectPerformance.h:54
eEnableParallelDisplay
@ eEnableParallelDisplay
Definition:
GsVectPerformance.h:55
OdUInt32
unsigned int OdUInt32
Definition:
OdPlatformSettings.h:783
GETBIT
#define GETBIT(flags, bit)
Definition:
OdaDefs.h:500
TD_PackPop.h
TD_PackPush.h
GsDevicePerformanceTm
Definition:
GsVectPerformance.h:34
GsDevicePerformanceTm::m_updateScreen
double m_updateScreen
Definition:
GsVectPerformance.h:48
GsDevicePerformanceTm::GsDevicePerformanceTm
GsDevicePerformanceTm()
Definition:
GsVectPerformance.h:36
GsDevicePerformanceTm::m_update
double m_update
Definition:
GsVectPerformance.h:46
GsDevicePerformanceTm::m_updateGeometry
double m_updateGeometry
Definition:
GsVectPerformance.h:47
GsDevicePerformanceTm::m_updateEntities
double m_updateEntities
Definition:
GsVectPerformance.h:49
GsDevicePerformanceTm::reset
void reset()
Definition:
GsVectPerformance.h:37
GsVectPerformanceData
Definition:
GsVectPerformance.h:68
GsVectPerformanceData::m_tm
GsDevicePerformanceTm m_tm
Definition:
GsVectPerformance.h:87
GsVectPerformanceData::m_numVectUsedUpdateScr
OdUInt32 m_numVectUsedUpdateScr
Definition:
GsVectPerformance.h:89
GsVectPerformanceData::optimalThreadsNumber
bool optimalThreadsNumber() const
Definition:
GsVectPerformance.h:78
GsVectPerformanceData::m_numVectUsedUpdateGeom
OdUInt32 m_numVectUsedUpdateGeom
Definition:
GsVectPerformance.h:88
GsVectPerformanceData::m_options
OdUInt32 m_options
Definition:
GsVectPerformance.h:86
GsVectPerformanceData::GsVectPerformanceData
GsVectPerformanceData()
Definition:
GsVectPerformance.h:70
GsVectPerformanceData::enableParallelDisplay
bool enableParallelDisplay() const
Definition:
GsVectPerformance.h:74
GsVectPerformanceData::forcePartialUpdateForTest
bool forcePartialUpdateForTest() const
Definition:
GsVectPerformance.h:82
GsVectPerformanceData::enableParallelVectorization
bool enableParallelVectorization() const
Definition:
GsVectPerformance.h:72
GsVectPerformanceData::schedulerLogOutput
bool schedulerLogOutput() const
Definition:
GsVectPerformance.h:76
GsVectPerformanceData::enablePerfMeasurements
bool enablePerfMeasurements() const
Definition:
GsVectPerformance.h:80
Generated on Thu Feb 24 2022 15:09:34