Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
00f097b6
Kaydet (Commit)
00f097b6
authored
Agu 01, 2014
tarafından
weigao
Kaydeden (comit)
Markus Mohrhard
Agu 06, 2014
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
test patch of creating bitmap in render thread
Change-Id: Ic0879dba3ad6a80359931edb65f0b72c1cc4d597
üst
f9d2de85
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
68 additions
and
2 deletions
+68
-2
GL3DBarChart.cxx
chart2/source/view/charttypes/GL3DBarChart.cxx
+66
-1
GL3DBarChart.hxx
chart2/source/view/inc/GL3DBarChart.hxx
+1
-0
GL3DRenderer.cxx
chart2/source/view/main/GL3DRenderer.cxx
+1
-1
No files found.
chart2/source/view/charttypes/GL3DBarChart.cxx
Dosyayı görüntüle @
00f097b6
...
@@ -171,6 +171,7 @@ void RenderAnimationThread::execute()
...
@@ -171,6 +171,7 @@ void RenderAnimationThread::execute()
*/
*/
renderFrame
();
renderFrame
();
}
}
mpChart
->
mpRenderer
->
ReleaseScreenTextShapes
();
}
}
class
RenderBenchMarkThread
:
public
RenderThread
class
RenderBenchMarkThread
:
public
RenderThread
...
@@ -178,8 +179,13 @@ class RenderBenchMarkThread : public RenderThread
...
@@ -178,8 +179,13 @@ class RenderBenchMarkThread : public RenderThread
public
:
public
:
RenderBenchMarkThread
(
GL3DBarChart
*
pChart
)
:
RenderBenchMarkThread
(
GL3DBarChart
*
pChart
)
:
RenderThread
(
pChart
),
RenderThread
(
pChart
),
mbExecuting
(
false
)
mbExecuting
(
false
),
miFrameCount
(
0
)
{
{
osl_getSystemTime
(
&
mafpsRenderStartTime
);
osl_getSystemTime
(
&
mafpsRenderEndTime
);
osl_getSystemTime
(
&
maScreenTextUpdateStartTime
);
osl_getSystemTime
(
&
maScreenTextUpdateEndTime
);
}
}
protected
:
protected
:
virtual
void
execute
()
SAL_OVERRIDE
;
virtual
void
execute
()
SAL_OVERRIDE
;
...
@@ -190,6 +196,9 @@ private:
...
@@ -190,6 +196,9 @@ private:
void
MoveToDefault
();
void
MoveToDefault
();
void
MoveToCorner
();
void
MoveToCorner
();
void
ProcessScroll
();
void
ProcessScroll
();
void
UpdateScreenText
();
void
UpdateFPS
();
int
calcTimeInterval
(
TimeValue
&
startTime
,
TimeValue
&
endTime
);
private
:
private
:
glm
::
vec3
maStartPos
;
glm
::
vec3
maStartPos
;
glm
::
vec3
maEndPos
;
glm
::
vec3
maEndPos
;
...
@@ -199,6 +208,12 @@ private:
...
@@ -199,6 +208,12 @@ private:
glm
::
vec3
maStepDirection
;
glm
::
vec3
maStepDirection
;
size_t
mnStep
;
size_t
mnStep
;
size_t
mnStepsTotal
;
size_t
mnStepsTotal
;
TimeValue
mafpsRenderStartTime
;
TimeValue
mafpsRenderEndTime
;
TimeValue
maScreenTextUpdateStartTime
;
TimeValue
maScreenTextUpdateEndTime
;
int
miFrameCount
;
OUString
maFPS
;
};
};
void
RenderBenchMarkThread
::
MoveCamera
()
void
RenderBenchMarkThread
::
MoveCamera
()
...
@@ -309,6 +324,53 @@ void RenderBenchMarkThread::ProcessMouseEvent()
...
@@ -309,6 +324,53 @@ void RenderBenchMarkThread::ProcessMouseEvent()
}
}
}
}
int
RenderBenchMarkThread
::
calcTimeInterval
(
TimeValue
&
startTime
,
TimeValue
&
endTime
)
{
TimeValue
aTime
;
aTime
.
Seconds
=
endTime
.
Seconds
-
startTime
.
Seconds
-
1
;
aTime
.
Nanosec
=
1000000000
+
endTime
.
Nanosec
-
startTime
.
Nanosec
;
aTime
.
Seconds
+=
aTime
.
Nanosec
/
1000000000
;
aTime
.
Nanosec
%=
1000000000
;
return
aTime
.
Seconds
*
1000
+
aTime
.
Nanosec
/
1000000
;
}
void
RenderBenchMarkThread
::
UpdateFPS
()
{
int
aDeltaMs
=
calcTimeInterval
(
mafpsRenderStartTime
,
mafpsRenderEndTime
);
if
(
aDeltaMs
>=
500
)
{
osl_getSystemTime
(
&
mafpsRenderEndTime
);
aDeltaMs
=
calcTimeInterval
(
mafpsRenderStartTime
,
mafpsRenderEndTime
);
int
iFPS
=
miFrameCount
*
1000
/
aDeltaMs
;
maFPS
=
OUString
(
"Render FPS: "
)
+
OUString
::
number
(
iFPS
);
miFrameCount
=
0
;
osl_getSystemTime
(
&
mafpsRenderStartTime
);
}
osl_getSystemTime
(
&
mafpsRenderEndTime
);
#if 0
opengl3D::ScreenText tFPS(mpChart->mpRenderer.get(), *(mpChart->mpTextCache), mpChart->mTestString, 0);
opengl3D::TextCacheItem tmpTextCache = mpChart->mpTextCache->getText(mpChart->mTestString);
#else
opengl3D
::
ScreenText
tFPS
(
mpChart
->
mpRenderer
.
get
(),
*
(
mpChart
->
mpTextCache
),
maFPS
,
0
);
opengl3D
::
TextCacheItem
tmpTextCache
=
mpChart
->
mpTextCache
->
getText
(
maFPS
);
#endif
float
rectWidth
=
(
float
)
tmpTextCache
.
maSize
.
Width
()
/
(
float
)
tmpTextCache
.
maSize
.
Height
()
*
0.05
;
tFPS
.
setPosition
(
glm
::
vec2
(
-
0.99
f
,
0.99
f
),
glm
::
vec2
(
-
0.99
f
+
rectWidth
,
0.89
f
));
tFPS
.
render
();
}
void
RenderBenchMarkThread
::
UpdateScreenText
()
{
int
aDeltaMs
=
calcTimeInterval
(
maScreenTextUpdateStartTime
,
maScreenTextUpdateEndTime
);
if
(
aDeltaMs
>=
20
)
{
mpChart
->
mpRenderer
->
ReleaseScreenTextShapes
();
UpdateFPS
();
osl_getSystemTime
(
&
maScreenTextUpdateStartTime
);
}
osl_getSystemTime
(
&
maScreenTextUpdateEndTime
);
}
void
RenderBenchMarkThread
::
execute
()
void
RenderBenchMarkThread
::
execute
()
{
{
while
(
true
)
while
(
true
)
...
@@ -317,6 +379,7 @@ void RenderBenchMarkThread::execute()
...
@@ -317,6 +379,7 @@ void RenderBenchMarkThread::execute()
osl
::
MutexGuard
aGuard
(
mpChart
->
maMutex
);
osl
::
MutexGuard
aGuard
(
mpChart
->
maMutex
);
if
(
mpChart
->
mbRenderDie
)
if
(
mpChart
->
mbRenderDie
)
break
;
break
;
UpdateScreenText
();
ProcessMouseEvent
();
ProcessMouseEvent
();
renderFrame
();
renderFrame
();
}
}
...
@@ -328,6 +391,7 @@ void RenderBenchMarkThread::execute()
...
@@ -328,6 +391,7 @@ void RenderBenchMarkThread::execute()
nTV
.
Nanosec
=
1000000
;
nTV
.
Nanosec
=
1000000
;
osl_waitThread
(
&
nTV
);
osl_waitThread
(
&
nTV
);
#endif
#endif
miFrameCount
++
;
}
}
}
}
...
@@ -534,6 +598,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
...
@@ -534,6 +598,7 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
maShapes
.
push_back
(
new
opengl3D
::
Text
(
mpRenderer
.
get
(),
*
mpTextCache
,
maShapes
.
push_back
(
new
opengl3D
::
Text
(
mpRenderer
.
get
(),
*
mpTextCache
,
aCats
[
i
],
nId
));
aCats
[
i
],
nId
));
mTestString
=
aCats
[
i
];
nId
+=
ID_STEP
;
nId
+=
ID_STEP
;
p
=
static_cast
<
opengl3D
::
Text
*>
(
&
maShapes
.
back
());
p
=
static_cast
<
opengl3D
::
Text
*>
(
&
maShapes
.
back
());
aTopLeft
.
x
=
nXPos
+
TEXT_HEIGHT
+
0.5
*
BAR_SIZE_X
;
aTopLeft
.
x
=
nXPos
+
TEXT_HEIGHT
+
0.5
*
BAR_SIZE_X
;
...
...
chart2/source/view/inc/GL3DBarChart.hxx
Dosyayı görüntüle @
00f097b6
...
@@ -137,6 +137,7 @@ private:
...
@@ -137,6 +137,7 @@ private:
RenderEventType
maRenderEvent
;
RenderEventType
maRenderEvent
;
sal_uInt32
mSelectBarId
;
sal_uInt32
mSelectBarId
;
Point
maClickPos
;
Point
maClickPos
;
OUString
mTestString
;
};
};
}
}
...
...
chart2/source/view/main/GL3DRenderer.cxx
Dosyayı görüntüle @
00f097b6
...
@@ -2115,7 +2115,7 @@ void OpenGL3DRenderer::ReleaseShapes()
...
@@ -2115,7 +2115,7 @@ void OpenGL3DRenderer::ReleaseShapes()
ReleasePolygonShapes
();
ReleasePolygonShapes
();
ReleaseExtrude3DShapes
();
ReleaseExtrude3DShapes
();
ReleaseTextShapes
();
ReleaseTextShapes
();
ReleaseScreenTextShapes
();
//
ReleaseScreenTextShapes();
ReleaseBatchBarInfo
();
ReleaseBatchBarInfo
();
ReleaseTextShapesBatch
();
ReleaseTextShapesBatch
();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment