- Only call AssetDatabase.Refresh() in Cleanup() when something actually got deleted BUTFP-29
- Avoid boxing from enum.Equals in ConvertSamples.
- Prevent unnecessary asset recompilation by skipping result writing when the content is unchanged.
- Added assert when sample is measured for a non-existing ProfilerMarker.
- Use ProfilerRecorder API to measure profiler markers.
- Updated GC.Alloc measurements (GC() function of Measure.Method) to collect allocation count on the running thread only.
- SampleGroup.GetRecorder is now marked as [Obsolete] and will be removed in a future update.
- Improved render threading mode reporting
- Added an optional command-line argument "perfTestResults" to control the target location of performance test run results file.
- Warmup cycles no longer record GC measurements.
- Setup and Cleanup cycles no longer contribute to GC measurements.
- Fixed issue where exception in OnTestEnded callback would result in EndTest method not finalising properly
- Temporarily removed "Open Script" from Performance Benchmark Window
- Some clarifications in documentation were added ("Extension" naming changed to "Package", Package limitations clarified)
- Added additional InternalsVisibleTo attribute for internal test assembly
- Removed false "unityRelease" field from package.json
- "Open Source Code" menu item to test results
- Test Filter to filter results by test name
- Items in test results are grouped by classname
- Make Sample Groups to be shown only when clicking on items with them
- "New Data available" label re-located
- Replaced CamelCase headers with regular text headers in csv report
- Replaced TRUE/FALSE with Yes/No in the "Increase Is Better" column in csv report
- Renamed the default report name to PerformanceTestResults
- Documentation updates to reflect API changes
- Median calculation in case of even number of samples
- Deviation division by zero
- Exception thrown after clicking Cancel button (during Test Result export)
- The issue where the last column was always empty in csv report
- Help button, which redirects the user to documentation website
- Clear Results button, which clears all Performance test results
- Updated CI to support more Unity versions and expand test coverage
- Updated the style of toolbar buttons to match that of the Test Runner window for consistency
- Export button is now disabled instead of hidden when there are no Performance test results
- Made AutoRefresh toggle retain its state after closing and reopening the window
- Moved the Performance Test Report from 'Window/Analysis' to 'Window/General' near Test Runner for better accessibility
- Build project from CI
- Issue where running tests with the Test Report window open would cause the error message "The object of type ' Material' has been destroyed" to appear
- Issues where incorrect labels were displayed at certain scenarios
- Issues flagged by SonarQube
- Merged 2.8.1 changes that weren't reflected in 2.10.0 release
- Fixing issues from SonarQube check
- Updating obsolete API's that stopped working with recent Unity versions
- Clarified how to add package in Unity project in documentation
- Support for dynamic measurement count in Measure.Method and Measure.Frames
- Support for overriding measurement count
- Setting up date when building player. It will set up at the beginning of the run.
- Overloads to measurements for overriding sample unit
- Cases where cleanup throws an exception
- Reduce metadata overhead when running locally by caching dependencies
- Restructured documentation
- The need for link.xml
- Method measurement IterationsPerMeasurement
- Build configuration support
- Serialization for Performance Test Report window
- Domain reload support
- Switched from Newtonsoft.Json to Unity json module
- Metadata collection was made public
Performance Test Report window updates:
- CSV export option.
- Monitoring of results file timestamp to support auto refresh when a new file is found.
- Display of timestamp of last loaded results file.
- Option to sort test report window by order the tests ran in (index). This is now the default.
- Min and max to the table.
- Improved titles and tooltips on columns
- Upgraded json dependency to release version
- Reduced overhead introduced when running tests
- Overhead introduced with Measure.Method no longer calculates execution time of Setup and Cleanup changes
- Measure.Method overhead
- Measure.Method no longer calculates execution time of Setup and Cleanup
- Overwritten test name will be displayed with method name in Test Result viewer
- Support for custom metadata
- Flexible horizontal splitter for report window
- Date format
- Profiler measurements for method measurements
- Throw exceptions when measuring NaN
- Fix profiler marker capture when changing scenes in editor tests
- Only shift samplegroups for UI
- Results parsing
- Development player field
- Disallow multiple performance attributes
- Disallow empty samplegroup name
- Assign samplegroup name to frames measurements
- Update json package to support AOT platforms
- New fields to data format BuildTarget, StereoRenderingPath
- Increased test serialization version
- Player callbacks when no tests were executed
- Tests to package testables
- Refactored data format, reduced nesting
- Slight refactor on measurement API
- Shift sample units when printing results
- Switched to newtosoft json package
- Unused fields
- Deprecated attributes
- Resources cleanup meta files
- Warning after cleaning resources
- Test suite when running in the editor
- Switch to errors from exceptions when parsing results
- Increase minimum unity version to 2019.3
- Metadata collectors tests
- Categorize performance tests as performance
- ProfilerMarkers can now be called with string params
- Switch measuring frames and methods to stopwatch
- Profiler section on docs as the feature was removed
- Test publish for CI
- Test publish for CI
- Updated changelog
- Support for domain reload
- Bug that would cause player build failures
- Increase unity version to 2019.2
- Update assembly definition formats to avoid testables in package manifest
- Update scripting runtime setting for 2019.3
- Automation test deploy
- Automation test deploy
- Updated changelog
- Conditional support for 2019.1
- Unnecessary meta files
- package.json update
- package.json update
- Updated Documentation to reflect breaking changes
- Refactor attributes
- Results paths to persistent data
- Revert changes to profiler and GC
- Doc updates and ignore GC api in editor due to api issues
- Debug logs
- Breaking changes introduced by testrunner API rename
- Breaking changes to data submodule
- Disable GC and update API to work around warning
- Method measurements setup and cleanup
- Button on report window to open profiler output for test
- Save profiler output on perf tests
- Unsupported features for legacy scripting runtime
- Unnecessary assembly definition
- Version attribute for test cases
- Test report graph
- Update documentation
- Duplicate module from docs
- Updated documentation
- ProfilerMarkers now take params as arguments
Measure.Method improvements:
- Add GC allocation to Measure.Method
- Add setup/cleanup for Measure.Method
- Move order of calls for Measure.Scope
- Obsolete warnings
- Obsolete warnings, doc update with modules and internals, ValueSource fix
- Method and Frames measurements can now specify custom warmup, measurement and iteration counts
- Marked metadata tests with performance category
- Method measurement
- Moving back to json in xml due to multiple instabilities
- json printing from output
- Meta files to npm ignore
Preparing package for moving to public registry:
- Inversed changelog order
- Excluded CI files from published package
- Missing meta files
- Print out json to xml by default for backwards compatability
- Issues with packman, bumping up version
- Option to specify custom Measure.Method Execution and Warmup count
- Issues introduced by .18 fix
- Package has been renamed to
com.unity.test-framework.performanceto match test framework
- Fix SetUp and TearDown for 2018.1
- Refactor Method and Frames measurements
- Metadata collected using internal test runner API and player connection for 2018.3+
- Bug fix regarding measureme methods being disposed twice
- Metadata test, the test was failing if a json file was missing for playmode tests
- Addition of measuring a method or frames for certain amount of times or for duration
- Introduced SampleGroupDefinition
- Refactored measuring methods
- Removes linq usage for due to issues with AOT platforms
- Added total, std and sample count aggregations
- Added sample unit to multi sample groups
- Removed totaltime from frametime measurements
- Fixed android metadata collecting
- Naming
- json serialization
- 2018.1 internal namespaces
- Added editmode and playmode tests that collect metadata
- Change fields to UpperCamelCase
- json output for 2018.1 which will be printed after test run
- Fix an exception on 2018.1
- Changed some of the names to match new convention
- Addressed typos in docs
- Multiple overloads replaced by using default arguments
- Measure.Custom got a new overload with SampleGroup
- Readme now includes installation and more examples
- Checks for usage outside of Performance tests
- System info to performance test output
- Preparing for reporting test data
- Temporarily removing tests from the package into separate repo
- Update for a missing bracket
- Test output now includes json that can be used to parse performance data from TestResults.xml
- Added defines to be compatible with 2018.1 and newer
- Measurement methods can now take in SampleGroup as argument
- Removed unnecessary overloads for measurements due to introduction of SampleGroup
Initial version.