diff options
author | Sven Gothel <[email protected]> | 2023-03-07 20:04:11 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-03-07 20:04:11 +0100 |
commit | 9a14dd8d40be4f4d88ba8424e908129ff628e259 (patch) | |
tree | dbe3a92ca6834b34d3d39512d85c4ccaea7f5269 /doc/curve/tests/perf02/rpi4_10.log | |
parent | 8476bc8420eafaf741f37ddf3c2f2d4660b31109 (diff) |
Graph Perf Update: 1296 chars to Region per Frame: RaspiPi4 10.25ms (Region) + 3.4ms (draw), PC 2.97ms (Region) + 0.36ms (draw) (GOOD)
Performance update from commit 607eb99b9cad227dd7be6d149c6b6cf57d060c35
(Note: There I mentioned the total duration for 20 frames, not per frame)
A Performance @ 2.4.0 with 119,787 vertices:
- doc/curve/tests/perf00/rpi4_old.log
- RaspiPi4 57.20ms (Region) + 23.4ms (draw)
B Performance @ commit 607eb99b9cad227dd7be6d149c6b6cf57d060c35 with 81,092 vertices:
- doc/curve/tests/perf01/rpi4_7.log + doc/curve/tests/perf01/pc_7.log
- RaspiPi4 11.76ms (Region) + 3.5ms (draw), PC 3.4ms (Region) + 0.35ms (draw)
C Now with 81,092 vertices (and a slight bigger buffer due to 'count' pre-size):
- doc/curve/tests/perf02/rpi4_10.log + doc/curve/tests/perf02/pc_10.log
- RaspiPi4 10.25ms (Region) + 3.4ms (draw), PC 2.97ms (Region) + 0.36ms (draw)
Hence we enhanced performance from A -> C reasonably.
Most important is that neither 'Flight Recorder' not 'Visual VM' could identify
Region.addOutlineShape()'s triangulation nor vertices compounding to be
significant throttle.
After further triangulation bugfixes (delauny tesselation),
we might analyze performance of this method further.
Enhancements of VBO GLArrayData data management
where Region.addOutlineShape() finally we pushes the data into the VBO
helped to remove certain overhead.
Mostly the buffer-size enhancements including API-hooks to count the required vertices & indices
to issue Region.setBufferCapacity() helped to ease the GC.
Diffstat (limited to 'doc/curve/tests/perf02/rpi4_10.log')
-rw-r--r-- | doc/curve/tests/perf02/rpi4_10.log | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/doc/curve/tests/perf02/rpi4_10.log b/doc/curve/tests/perf02/rpi4_10.log new file mode 100644 index 000000000..8967f2661 --- /dev/null +++ b/doc/curve/tests/perf02/rpi4_10.log @@ -0,0 +1,186 @@ +GLUEGEN BUILDDIR: ../../gluegen/make/../build-linux-aarch64 +JOAL BUILDDIR: ../../joal/build-linux-aarch64 +JOGL DIR: ../build-linux-aarch64/.. +JOGL BUILDDIR: ../build-linux-aarch64 +JOGL BUILDDIR BASE: build-linux-aarch64 +JOGL PROFILE: JOGL_ALL +Linux raspi05.goethel.localnet 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux +Info: NO JOGL SWT ../build-linux-aarch64/../make/lib/swt/gtk-linux-aarch64/swt-debug.jar +Info: NO Users SWT /home/sven/.java/swt.jar +JOGAMP_ALL_AWT_CLASSPATH: .:../../gluegen/make/../build-linux-aarch64/gluegen-rt.jar:../../joal/build-linux-aarch64/jar/joal.jar:../build-linux-aarch64/jar/jogl-all.jar:../build-linux-aarch64/jar/atomic/oculusvr.jar:../build-linux-aarch64/jar/jogl-test.jar::../../gluegen/make/../make/lib/junit.jar:/usr/lib/ant.jar:/usr/lib/ant-junit.jar:../../gluegen/make/../make/lib/semantic-versioning/semver.jar:../../gluegen/make/../build-linux-aarch64/gluegen-test-util.jar +JOGAMP_ALL_NOAWT_CLASSPATH: .:../../gluegen/make/../build-linux-aarch64/gluegen-rt.jar:../../joal/build-linux-aarch64/jar/joal.jar:../build-linux-aarch64/jar/jogl-all-noawt.jar:../build-linux-aarch64/jar/atomic/oculusvr.jar:../build-linux-aarch64/jar/jogl-test.jar::../../gluegen/make/../make/lib/junit.jar:/usr/lib/ant.jar:/usr/lib/ant-junit.jar:../../gluegen/make/../make/lib/semantic-versioning/semver.jar:../../gluegen/make/../build-linux-aarch64/gluegen-test-util.jar +JOGAMP_MOBILE_CLASSPATH: .:../../gluegen/make/../build-linux-aarch64/gluegen-rt.jar:../../joal/build-linux-aarch64/jar/joal.jar:../build-linux-aarch64/jar/jogl-all-mobile.jar:../build-linux-aarch64/jar/atomic/oculusvr.jar:../build-linux-aarch64/jar/jogl-test.jar::../../gluegen/make/../make/lib/junit.jar:/usr/lib/ant.jar:/usr/lib/ant-junit.jar:../../gluegen/make/../make/lib/semantic-versioning/semver.jar:../../gluegen/make/../build-linux-aarch64/gluegen-test-util.jar +JOGAMP_CLASSPATH: .:../../gluegen/make/../build-linux-aarch64/gluegen-rt.jar:../../joal/build-linux-aarch64/jar/joal.jar:../build-linux-aarch64/jar/jogl-all.jar:../build-linux-aarch64/jar/atomic/oculusvr.jar:../build-linux-aarch64/jar/jogl-test.jar::../../gluegen/make/../make/lib/junit.jar:/usr/lib/ant.jar:/usr/lib/ant-junit.jar:../../gluegen/make/../make/lib/semantic-versioning/semver.jar:../../gluegen/make/../build-linux-aarch64/gluegen-test-util.jar +JOGAMP_LD_LIBRARY_PATH: :../../gluegen/make/../build-linux-aarch64/obj:../build-linux-aarch64/lib +JOGAMP_DYLD_LIBRARY_PATH: :../../gluegen/make/../build-linux-aarch64/obj:../build-linux-aarch64/lib + +MacOSX REMEMBER to add the JVM arguments -XstartOnFirstThread -Djava.awt.headless=true for running demos without AWT, e.g. NEWT +MacOSX REMEMBER to add the JVM arguments -XstartOnFirstThread -Djava.awt.headless=true com.jogamp.newt.util.MainThread for running demos with NEWT +/usr/bin/java +openjdk version "17.0.4" 2022-07-19 +OpenJDK Runtime Environment (build 17.0.4+8-Debian-1deb11u1) +OpenJDK 64-Bit Server VM (build 17.0.4+8-Debian-1deb11u1, mixed mode, sharing) +LD_LIBRARY_PATH +LIBXCB_ALLOW_SLOPPY_LOCK: +LIBGL_DRIVERS_PATH: +LIBGL_DEBUG: +LIBGL_ALWAYS_INDIRECT: +LIBGL_ALWAYS_SOFTWARE: +SWT_CLASSPATH: +MacOsX 0 +DISPLAY +WAYLAND_DISPLAY +USE_BUILDDIR 0 +USE_CLASSPATH .:../../gluegen/make/../build-linux-aarch64/gluegen-rt.jar:../../joal/build-linux-aarch64/jar/joal.jar:../build-linux-aarch64/jar/jogl-all-noawt.jar:../build-linux-aarch64/jar/atomic/oculusvr.jar:../build-linux-aarch64/jar/jogl-test.jar::../../gluegen/make/../make/lib/junit.jar:/usr/lib/ant.jar:/usr/lib/ant-junit.jar:../../gluegen/make/../make/lib/semantic-versioning/semver.jar:../../gluegen/make/../build-linux-aarch64/gluegen-test-util.jar + +Test Start: com.jogamp.opengl.test.junit.graph.PerfTextRendererNEWT00 -es2 -Nperf -long_text -loop 40 + +__GL_THREADED_OPTIMIZATIONS + +/usr/bin/java -DummyArg --add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.java2d=ALL-UNNAMED -Djava.awt.headless=true -cp .:../../gluegen/make/../build-linux-aarch64/gluegen-rt.jar:../../joal/build-linux-aarch64/jar/joal.jar:../build-linux-aarch64/jar/jogl-all-noawt.jar:../build-linux-aarch64/jar/atomic/oculusvr.jar:../build-linux-aarch64/jar/jogl-test.jar::../../gluegen/make/../make/lib/junit.jar:/usr/lib/ant.jar:/usr/lib/ant-junit.jar:../../gluegen/make/../make/lib/semantic-versioning/semver.jar:../../gluegen/make/../build-linux-aarch64/gluegen-test-util.jar com.jogamp.opengl.test.junit.graph.PerfTextRendererNEWT00 -es2 -Nperf -long_text -loop 40 +Performance test enabled: false +----------------------------------------------------------------------------------------------------- +Platform: LINUX / Linux 5.15.32-v8+ (5.15.32), aarch64 (ARM64, EABI_AARCH64), 4 cores, littleEndian true +MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment: + int8 1 / 1, int16 2 / 2 + int 4 / 4, long 8 / 8 + int32 4 / 4, int64 8 / 8 + float 4 / 4, double 8 / 8, ldouble 16 / 16 + pointer 8 / 8, page 4096 +Platform: Java Version: 17.0.4 (17.0.4u0), VM: OpenJDK 64-Bit Server VM, Runtime: OpenJDK Runtime Environment +Platform: Java Vendor: Debian, https://tracker.debian.org/openjdk-17, Java17, dynamicLib: true, AWT enabled: false +----------------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------------- +Package: com.jogamp.opengl +Extension Name: com.jogamp.opengl +Specification Title: Java Bindings for OpenGL API Specification +Specification Vendor: JogAmp Community +Specification Version: 2.5 +Implementation Title: Java Bindings for OpenGL Runtime Environment +Implementation Vendor: JogAmp Community +Implementation Vendor ID: com.jogamp +Implementation URL: http://jogamp.org/ +Implementation Version: 2.5.0-rc-20230307 +Implementation Build: 2.5-bmanual-20230307 +Implementation Branch: master +Implementation Commit: 8476bc8420eafaf741f37ddf3c2f2d4660b31109 +Implementation SHA Sources: null +Implementation SHA Classes: null +Implementation SHA Classes-this: null +Implementation SHA Natives: null +Implementation SHA Natives-this: null +----------------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------------- +EGLGraphicsDevice[type .egl, v1.4.0, nativeDisplayID 0x7ee8001570, connection decon, unitID 0, handle 0x7ee8019e50, owner true, ResourceToolkitLock[obj 0x8b87145, isOwner true, <6483f5ae, b9afc07>[count 1, qsz 0, owner <main>]]]: + Natives + GL4bc false + GL4 false + GLES3 true [3.1 (ES profile, arb, compat[ES2, ES3, ES31], FBO, hardware)] + GL3bc false + GL3 false + GL2 false + GLES2 true [3.1 (ES profile, arb, compat[ES2, ES3, ES31], FBO, hardware)] + GLES1 true [1.1 (ES profile, arb, compat[FP32], hardware)] + Count 3 / 8 + Common + GL4ES3 true + GL2GL3 false + GL2ES2 true + GL2ES1 true + Mappings + GLES1 GLProfile[GLES1/GLES1.hw] + GLES2 GLProfile[GLES2/GLES3.hw] + GL2ES1 GLProfile[GL2ES1/GLES1.hw] + GL4ES3 GLProfile[GL4ES3/GLES3.hw] + GL2ES2 GLProfile[GL2ES2/GLES3.hw] + GLES3 GLProfile[GLES3/GLES3.hw] + default GLProfile[GLES3/GLES3.hw] + Count 6 / 12 + +Swap Interval 1 +GL Profile GLProfile[GLES3/GLES3.hw] +GL Version 3.1 (ES profile, arb, compat[ES2, ES3, ES31], FBO, hardware) - OpenGL ES 3.1 Mesa 20.3.5 [GL 3.1.0, vendor 20.3.5 (Mesa 20.3.5)] +Quirks [No10BitColorCompOffscreen] +Impl. class jogamp.opengl.es3.GLES3Impl +GL_VENDOR Broadcom +GL_RENDERER V3D 4.2 +GL_VERSION OpenGL ES 3.1 Mesa 20.3.5 +GLSL true, has-compiler-func: true, version: OpenGL ES GLSL ES 3.10 / 3.0.0 +GL FBO: basic true, full true +GL_EXTENSIONS 91 +GLX_EXTENSIONS 28 +----------------------------------------------------------------------------------------------------- +Requested Caps: GLCaps[rgba 8/8/8/4, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono , hw, GLProfile[GLES2/GLES3.hw], on-scr[.]] +Requested Region-RenderModes: vbaa +Chosen Caps: GLCaps[egl cfg 0x1e, vid 0x34325258: rgba 8/8/8/1, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/4, sample-ext default, dbl, mono , hw, GLProfile[GLES2/GLES3.hw], on-scr[.], [0x4d: GL, GLES1, GLES2, GLES3, VG]] +Chosen Font: FreeSans-Regular +Region post ctor w/ default initial buffer size +VBORegion2PVBAAES2: idx32 true + indices [elements 0 cnt / 330 cap, bytes 0 cnt / 3,960 cap, filled 0.0%, left 100.0%] + vertices [elements 0 cnt / 640 cap, bytes 0 cnt / 7,680 cap, filled 0.0%, left 100.0%] + params [elements 0 cnt / 640 cap, bytes 0 cnt / 7,680 cap, filled 0.0%, left 100.0%] + color [null] + total [bytes 0 / 19,320], filled 0.0%, left 100.0%] +Region count: text 1296 chars -> vertices 96088, indices 58098 +Region post set-buffer-size w/ matching vertices 96088, indices 58098 +VBORegion2PVBAAES2: idx32 true + indices [elements 0 cnt / 58,098 cap, bytes 0 cnt / 697,176 cap, filled 0.0%, left 100.0%] + vertices [elements 0 cnt / 96,088 cap, bytes 0 cnt / 1,153,056 cap, filled 0.0%, left 100.0%] + params [elements 0 cnt / 96,088 cap, bytes 0 cnt / 1,153,056 cap, filled 0.0%, left 100.0%] + color [null] + total [bytes 0 / 3,003,288], filled 0.0%, left 100.0%] +Perf: Elapsed since startup: 2,609 [ms], 2,609,054,608 [ns] +- monotonic startup 1970-01-07T05:23:20.951147954Z, 537,800,951 [ms] +- monotonic current 1970-01-07T05:23:23.560202562Z, 537,803,560 [ms] +- wall current 2023-03-07T18:36:15.615735175Z +- currentNanos: Elapsed 2,637,011,606 [ns] + - test-startup 436,456 [ns] + - test-current 2,637,448,062 [ns] +Text_1: tbox [ dim 54.787003 x 16.547 x 0.0, box 0.015000001 / -15.818001 / 0.0 .. 54.802002 / 0.72900003 / 0.0, ctr 27.4085 / -7.5445004 / 0.0 ] +Text_1: rbox [ dim 54.787006 x 16.546999 x 0.0, box 1.986 / -15.817999 / 0.0 .. 56.773006 / 0.729 / 0.0, ctr 29.379503 / -7.5444994 / 0.0 ] + + + 1: Perf Launch: +- loading GlueGen - loading test 0 [ms] +- loading GlueGen - start test 1,631 [ms] +- loading test - start test 1,630 [ms] +- loading test - gl 2,644 [ms] +- loading test - graph 2,649 [ms] +- loading test - txt 2,754 [ms] +- loading test - draw 3,040 [ms] + 1 / 1: Perf Launch: Total: graph 4, txt 104, draw 286, txt+draw 391 [ms] + 1 / 1: Perf Launch: PerLoop: graph 4,884,937, txt 104,996,699, draw 286,529,273, txt+draw 391,525,972 [ns] +GLRegion: for GLProfile[GLES3/GLES3.hw] using int32_t indiced: true +GLRegion: Region[vbaa, q 1, dirty 0, vertices 81092, box [ dim 54.787006 x 16.546999 x 0.0, box 1.986 / -15.817999 / 0.0 .. 56.773006 / 0.729 / 0.0, ctr 29.379503 / -7.5444994 / 0.0 ]] +Text length: 1296 +VBORegion2PVBAAES2: idx32 true + indices [elements 42,409 cnt / 58,098 cap, bytes 508,908 cnt / 697,176 cap, filled 73.0%, left 27.0%] + vertices [elements 81,092 cnt / 96,088 cap, bytes 973,104 cnt / 1,153,056 cap, filled 84.4%, left 15.6%] + params [elements 81,092 cnt / 96,088 cap, bytes 973,104 cnt / 1,153,056 cap, filled 84.4%, left 15.6%] + color [null] + total [bytes 2,455,116 / 3,003,288], filled 81.7%, left 18.3%] + 1 / 1: Perf Frame1: Total: graph 4, txt 104, draw 286, txt+draw 391 [ms] + 1 / 1: Perf Frame1: PerLoop: graph 4,884,937, txt 104,996,699, draw 286,529,273, txt+draw 391,525,972 [ns] + 20 / 20: Perf Frame20: Total: graph 16, txt 336, draw 357, txt+draw 694 [ms] + 20 / 20: Perf Frame20: PerLoop: graph 839,546, txt 16,824,350, draw 17,890,222, txt+draw 34,714,573 [ns] +GLRegion: for GLProfile[GLES3/GLES3.hw] using int32_t indiced: true +GLRegion: Region[vbaa, q 1, dirty 0, vertices 81092, box [ dim 54.787006 x 16.546999 x 0.0, box 1.986 / -15.817999 / 0.0 .. 56.773006 / 0.729 / 0.0, ctr 29.379503 / -7.5444994 / 0.0 ]] +Text length: 1296 +VBORegion2PVBAAES2: idx32 true + indices [elements 42,409 cnt / 58,098 cap, bytes 508,908 cnt / 697,176 cap, filled 73.0%, left 27.0%] + vertices [elements 81,092 cnt / 96,088 cap, bytes 973,104 cnt / 1,153,056 cap, filled 84.4%, left 15.6%] + params [elements 81,092 cnt / 96,088 cap, bytes 973,104 cnt / 1,153,056 cap, filled 84.4%, left 15.6%] + color [null] + total [bytes 2,455,116 / 3,003,288], filled 81.7%, left 18.3%] + 20 / 40: Perf Frame40: Total: graph 3, txt 205, draw 68, txt+draw 273 [ms] + 20 / 40: Perf Frame40: PerLoop: graph 173,438, txt 10,252,801, draw 3,408,976, txt+draw 13,661,778 [ns] +** new frame ** (sleep: 100ms) + +Test End: com.jogamp.opengl.test.junit.graph.PerfTextRendererNEWT00 -es2 -Nperf -long_text -loop 40 + +EDT START + 0 0 0 +EDT END + 0 0 0 +EDT EXIT + 0 0 0 |