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/perf00 | |
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/perf00')
-rw-r--r-- | doc/curve/tests/perf00/rpi4_old.log | 27 |
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] + |