- Multiplier support for variables. Add multiplier="N" attribute to a variableset or variable
- FPSCharts : Compute frametime color thresholds automatically if MVP thresholds are specified and frametime is not
- Support empty color thresholds (useful if we want to clear via a variable)
- Add support for dumping the variables to the log for each CSV via -dumpVariables param
[CL 30060917 by ben woodhouse in ue5-main branch]
Metadata queries can also be blank if necessary if we want the values to always be set.
SourceName/DestName are still supported for back-compat if no query is provided
Note: There is no globalvariable support here. Solving this is not worth the complexity, performance hit and potential ordering and correctness implications
#tests Passes Test cases with identical results
[FYI] tyler.staples
[CL 29922595 by ben woodhouse in ue5-main branch]
- Add support for variable sets. This allows us to set blocks of variables based on metadata, which can be accessed via ${NAME} syntax. Variable sets support nesting and can be conditional using metadata queries
- We support a global variable set (declared under <globalVariableSet> in root), and local variable sets which apply to a given report type only (as <variableSet> children of the ReportType element)
example:
<globalVariableSet>
<variableSet>
<var mvpStatName="MVP${meta.targetframerate}"/>
<var targetFps="${meta.targetframerate}"/>
<var dynamicResBudget="100"/>
</variableSet>
<!-- Switch -->
<variableSet metadataQuery="platform=Switch">
<var frameTimeBudget="33.33"/>
<variableSet metadataQuery="deviceprofile=Switch_Console_Forward*">
<var dynamicResBudget="92"/>
</variableSet>
<variableSet metadataQuery="deviceprofile=Switch_Handheld_Forward*">
<var dynamicResBudget="88"/>
</variableSet>
</variableSet>
</globalVariableSet>
#tests Passes Test cases with identical results (if no changes to the XML)
[FYI] tyler.staples
[CL 29918333 by ben woodhouse in ue5-main branch]
- Equallity now uses numeric comparisons if appropriate
- Add a ~= operator for contains
- Fix a potential infinite loop if a bad term is evaluated
[CL 29918133 by ben woodhouse in ue5-main branch]
Support is provided for Summary classes via XElement extension helper methods, which now take an optional XmlVariableMappings param which handles the variable resolving. GetAttribute, GetSafeAttribute and GetValue support this.
Non metadata variables are also supported in theory e.g ${MyVariable}, but support for populating these does not exist yet
Various cleanup/refactoring and fixups of old code
#tests Passes Test cases with identical results (if no changes to the XML)
[FYI] tyler.staples
[CL 29912786 by ben woodhouse in ue5-main branch]
Also removed debug directory handling for launching CSVToSVG in debug mode.
#rnx
#tests prt test cases, prs unit tests, local report generation
#rb ben.woodhouse
[CL 29875869 by tyler staples in ue5-main branch]
- Add maxAutoMaxY param to graphs and csvToSVG params which allows us to clamp the max automatic Y to a particular value. Also:
- Fix some naming clashes when there are mulltiple graphs on a page. This was preventing us from having graphs with different sizes in a perf report
- Add -embedGraphCommandline arg to help debugging
[FYI] tyler.staples
[CL 29745624 by ben woodhouse in ue5-main branch]
BoundedStatValueSummaries weights the stat averages by the frametimes. Normally it's not an issue to use the same value for both the value and the weight as they'll end up canceling each other out resulting in an unweighted average. However, in the case where some values are much larger than others this can skew the value resulting in a value much different from the weighted average. This is the case for server frametimes as there can be a few very large spikes that end up skewing the weights.
Since it's not trivial to detect which stats are actually "frametime" stats as they can go by different names, the simplest solution is adding a new "unweighted_average" formula. This also allows using it in other cases where it might make more sense, but these should be very rare.
#rnx
#rb andrew.ladenberger
[FYI] ben.woodhouse
[CL 26644283 by tyler staples in ue5-main branch]
If the new param isn't found or "auto" is specified, detection is automatic (based on the presence of http:// or https://)
#rb tyler.staples
[CL 26296250 by ben woodhouse in ue5-main branch]
Adds the following params:
-sortColumnsByDiff : sorts columns by the max of its diff scores (use with -addDiffRows)
Note: Diff score corresponds to the value of a column's diff row; the sign is reversed if LowIsBad
-columnDiffDisplayThreshold <value> : if specified, hides columns with max abs diff value below this threshold
Also: added some helpers to summary tables to find aggregate columns . Added a isCountColumn accessor to avoid string compares
[CL 25982885 by ben woodhouse in ue5-main branch]