blob: ad17641d3ce2161e3381ae1d3c924dea92ff284d [file] [log] [blame]
RELEASE NOTES
Version 1.0.0
=============
- This initial version of the Android Game SDK features the Android Frame Pacing library.
- Features
- Display buffer synchronization.
- Auto refresh rate mode and pipelining support.
- Collection of frame rendering statistics.
- Graceful selection of behavior at runtime, depending on the presence of the Android, OpenGL,
and Vulkan features needed by Swappy.
- Static and dynamic linking of the library.
- Support for devices with multiple refresh rates.
For more information, see https://developer.android.com/games/sdk/.
Version 1.0.1
=============
- This is primarily a bug fix release.
- Bugs fixed
- Clean up resources at exit in Swappy Vulkan on the SwappyFallback code path.
- SwappyVk_destroySwapchain now doesn't destroy device resources if there is more than one
swapchain.
- The Swappy version is now printed in logcat.
- Fixes to crashing and deadlocking in Swappy_destroy for API<=24
- New features
- Support for custom thread managers (Swappy_setThreadFunctions)
- Support for hooking of Vulkan functions (SwappyVk_setFunctionProvider)
Version 1.0.2
=============
This release includes bug fixes and changes in the behaviour of auto-mode.
- Bug fixes for swappy destruction and re-initialization.
- Pipelining is now *on* by default. If auto-pipelining is on, Swappy can still decide to switch
it off when the workload is very low.
- When auto-mode is enabled, Swappy will decide to switch swap interval only after 15% of frames
within a 2 second window are either faster or slower than expected.
Note that Swappy will never swap slower than the user-specified swap interval.
Version 1.1.0
=============
- This version features the Android Performance Tuner (AKA Tuning Fork) metric reporting and
quality tuning library.
- Features of Android Performance Tuner
- Integration with the Android Frame Pacing Library to automatically record frame times and other
rendering metrics.
- Frame timing information is recorded in histograms and uploaded periodically.
- Annotation of timing data with the current game state.
- Device characteristics, annotations and quality settings are uploaded with the timing data to
allow cross-sectional analysis.
- Special treatment of annotations that signify level-loading time. Frame tick data is not recorded
during loading, but the duration of each loading period is.
- Ability to record custom timing information (startTrace/endTrace).
- In expert mode, quality settings are remotely setable using the Play console.
- A Unity plugin incorporating the Tuning Fork library is available separately.
- Known Issues:
- Incorrect frame pacing on Android 11 w/ multiple refresh rates. Fixed in version 1.2.0
Version 1.2.0
=============
This release includes several bug fixes for Swappy and new features for APT.
- Android Frame Pacing (Swappy) v 1.7
- Auto-mode refresh rate switching support.
**Note that for support of multiple refresh rates in Android 11, whether using auto-mode or not,
SwappyGL_setWindow or SwappyVk_setWindow should be called.**
- Auto-mode bug fixes.
- Vulkan bug fixes.
-Android Performance Tuner (Tuning Fork) v 1.1
- Loading time
- New functions: TuningFork_recordLoadingTime, TuningFork_startRecordingLoadingTime,
TuningFork_stopRecordingLoadingTime should be called to record annotated loading time events.
Time from app startup to TuningFork_init and the first tick recorded by TuningFork are
automatically recorded.
- The previous method of setting a loading time annotation will no longer work.
- Memory metrics. More memory metrics are now recorded when TuningFork_enableMemoryRecording(true)
is called.
- Lifecycle events. TuningFork_reportLifecycleEvent should be called upon the appropriate Java
onCreate, etc. being called. This enables detailed crash reporting from within Tuning Fork.
- Memory model change: the maximum number of metrics of each type is now specified at start-up,
rather than allocating space for all possible annotation combinations.
See TuningFork_MetricLimits in tuningfork.h.
For more information, see https://developer.android.com/games/sdk/.