summaryrefslogtreecommitdiffstats
path: root/doc/curve/tests/perf00
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-03-07 20:04:11 +0100
committerSven Gothel <[email protected]>2023-03-07 20:04:11 +0100
commit9a14dd8d40be4f4d88ba8424e908129ff628e259 (patch)
treedbe3a92ca6834b34d3d39512d85c4ccaea7f5269 /doc/curve/tests/perf00
parent8476bc8420eafaf741f37ddf3c2f2d4660b31109 (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/perf00')
-rw-r--r--doc/curve/tests/perf00/rpi4_old.log27
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/curve/tests/perf00/rpi4_old.log b/doc/curve/tests/perf00/rpi4_old.log
new file mode 100644
index 000000000..30f3367e1
--- /dev/null
+++ b/doc/curve/tests/perf00/rpi4_old.log
@@ -0,0 +1,27 @@
+ 17: Perf: graph 0, txt[1 38, 2 0, all 38], draw 6, txt+draw 44, fin 0 [ms]
+ 18: Perf: graph 0, txt[1 38, 2 0, all 38], draw 6, txt+draw 44, fin 0 [ms]
+Text_1: tbox [ dim 55.571003 x 15.901001 x 0.0, box 0.010000001 / -15.125001 / 0.0 .. 55.581 / 0.776 / 0.0, ctr 27.7955 / -7.1745005 / 0.0 ]
+Text_1: rbox [ dim 55.57101 x 15.901001 x 0.0, box 0.01 / -15.125001 / 0.0 .. 55.58101 / 0.776 / 0.0, ctr 27.795504 / -7.1745005 / 0.0 ]
+ 19: Perf: graph 1, txt[1 37, 2 0, all 37], draw 7, txt+draw 44, fin 0 [ms]
+VBORegion2PVBAAES2: idx32 true
+ indices [elements 60,016 / 62,000, bytes 720,192 / 744,000, filled 96.8%, left 3.2%]
+ vertices [elements 119,787 / 123,000, bytes 1,437,444 / 1,476,000, filled 97.4%, left 2.6%]
+ params [elements 119,787 / 123,000, bytes 1,437,444 / 1,476,000, filled 97.4%, left 2.6%]
+ color [elements 119,787 / 123,000, bytes 1,916,592 / 1,968,000, filled 97.4%, left 2.6%]
+ total [bytes 5,511,672 / 5,664,000], filled 97.3%, left 2.7%]
+Region.add(): count 21460, total 903 [ms], per-add 42102.455 [ns]
+ shape_get 206 [ms], per-add 9602.414 [ns]
+ buffer_prep 6 [ms], per-add 286.271 [ns]
+ vertices 177 [ms], per-add 8278.021 [ns]
+ push_idx 70 [ms], per-add 3264.097 [ns]
+ push_vertidx 222 [ms], per-add 10347.168 [ns]
+ triangles 513 [ms], per-add 23935.750 [ns]
+TypecastFont.process(): count 20, total 1011, per-add 50.550 [ms]
+ transform 25, per-add 1.250 [ms]
+ id 1, per-add 0.050 [ms]
+ shape_get 1, per-add 0.050 [ms]
+ translate 32, per-add 1.600 [ms]
+ visitor 915, per-add 45.750 [ms]
+ 20: Perf: Total: graph 36, txt[1 1144, 2 0, all 1144], draw 468, txt+draw 1612, fin 0 [ms]
+ 20: Perf: PerLoop: graph 1.80, txt[1 57.20, 2 0.00, all 57.20], draw 23.40, txt+draw 80.60, fin 0.00 [ms]
+