Commit Graph

7 Commits

Author SHA1 Message Date
ben woodhouse
8994040cfe CsvToSvg 2.56 - graph rendering optimizations
- Split graph into segments to make re-rendering faster. This makes graphs slightly larger*
- Also make legend more visible

*This is a stop-gap measure to make reports usable. Need to revisit
- Overdraw in stacked graphs is the main issue - need to look at whether we can do this in a less brute-force way


#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 20355286 via CL 20355299 via CL 20355304
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20356518 by ben woodhouse in ue5-main branch]
2022-05-24 17:41:39 -04:00
ben woodhouse
e34e6acc24 CsvToSVG 2.55 - fix bug where colors are all the same with multiple CSVs
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19966504 via CL 19966958 via CL 19967479
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19971908 by ben woodhouse in ue5-main branch]
2022-04-28 18:56:26 -04:00
ben woodhouse
780fc256db CsvToSvg 2.54 - fix bug with graph smoothing when kernel size is small: Clamp the downsample level so it can't go negative
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19939969 via CL 19939983 via CL 19940000
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19945635 by ben woodhouse in ue5-main branch]
2022-04-27 16:06:34 -04:00
ben woodhouse
85f75b9bd0 CsvToSVG 2.53 - Refactor and optimize SmoothStats via add a SmoothKernel class.
- Add support for downsampled smoothing for an up to 16x speedup
 - More efficient threading
 - Minor perflog fixes
 - Add -PerfLog arg for detailed timings

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19786432 via CL 19786566 via CL 19786610
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19803461 by ben woodhouse in ue5-main branch]
2022-04-19 00:20:54 -04:00
ben woodhouse
e0529f7769 CsvToSvg 2.52
- Optimize interactive graphs, removing redundant characters from number strings. Saves about 1MB in a typical 20MB report

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19782426 via CL 19782438 via CL 19782441
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19803418 by ben woodhouse in ue5-main branch]
2022-04-19 00:19:51 -04:00
ben woodhouse
6c40ffa0aa Add support for fixed point graphs (enabled by default)
Fixed point graphs are smaller because they don't include the decimal point. They're also faster to write. We need to apply a scale in order to have subpixel accuracy. The scale is specified by -fixedpointPrecisionScale <N> (default is 2)
- This improves perf report generation speed by ~15% and report size by 20%.

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19782268 via CL 19782269 via CL 19782270
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19803416 by ben woodhouse in ue5-main branch]
2022-04-19 00:19:38 -04:00
ben woodhouse
da0f70912a CsvToSvg 2.50. Refactor code to move graph generation into a separate lib, so we can use it from PerfReportTool directly instead of executing a separate process and reading all the Csv data multiple times. This also cleans up the code in CsvToSvg considerably.
- Graph Generation is now handled by a GraphGenerator class with MakeGraphs async and synchronous methods. Settings are passed via a GraphParams struct.
- Optimize various functions to speed up graph generation.
Generating graphs for a report is now around 25% faster.

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19781991 via CL 19781996 via CL 19782000
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19803410 by ben woodhouse in ue5-main branch]
2022-04-19 00:19:24 -04:00