mirror of
https://github.com/ARM-software/devlib.git
synced 2025-09-01 09:31:53 +01:00
derived: add DerivedSurfaceFlingerStats
Add DerivedSurfaceFlingerStats that parse output from SurfaceFlingerFramesInstrument to produce FPS data and rendering statistics.
This commit is contained in:
@@ -179,3 +179,43 @@ FPS / Rendering
|
||||
Please see the `gfxinfo documentation`_ for details.
|
||||
|
||||
.. _gfxinfo documentation: https://developer.android.com/training/testing/performance.html
|
||||
|
||||
|
||||
.. class:: DerivedSurfaceFlingerStats(drop_threshold=5, suffix='-fps', filename=None, outdir=None)
|
||||
|
||||
Produces FPS (frames-per-second) and other dervied statistics from
|
||||
:class:`SurfaceFlingerFramesInstrument` output. This takes several optional
|
||||
parameters in creation:
|
||||
|
||||
:param drop_threshold: FPS in an application, such as a game, which this
|
||||
processor is primarily targeted at, cannot reasonably
|
||||
drop to a very low value. This is specified to this
|
||||
threhold. If an FPS for a frame is computed to be
|
||||
lower than this treshold, it will be dropped on the
|
||||
assumption that frame rednering was suspended by the
|
||||
system (e.g. when idling), or there was some sort of
|
||||
error, and therefore this should be used in
|
||||
performance calculations. defaults to ``5``.
|
||||
:param suffix: The name of the gerated per-frame FPS csv file will be
|
||||
derived from the input frames csv file by appending this
|
||||
suffix. This cannot be specified at the same time as
|
||||
a ``filename``.
|
||||
:param filename: As an alternative to the suffix, a complete file name for
|
||||
FPS csv can be specified. This cannot be used at the same
|
||||
time as the ``suffix``.
|
||||
:param outdir: By default, the FPS csv file will be placed in the same
|
||||
directory as the input frames csv file. This can be changed
|
||||
by specifying an alternate directory here
|
||||
|
||||
.. warning:: Specifying both ``filename`` and ``oudir`` will mean that exactly
|
||||
the same file will be used for FPS output on each invocation of
|
||||
``process()`` (even for different inputs) resulting in previous
|
||||
results being overwritten.
|
||||
|
||||
.. method:: DerivedSurfaceFlingerStats.process(measurement_csv)
|
||||
|
||||
Process the fames csv generated by :class:`SurfaceFlingerFramesInstrument` and
|
||||
returns a list containing exactly three entries: :class:`DerivedMetric`\ s
|
||||
``fps`` and ``total_frames``, followed by a :class:`MeasurentCsv` containing
|
||||
per-frame FPSs values, followed by ``janks`` ``janks_pc``, and
|
||||
``missed_vsync`` metrics.
|
||||
|
Reference in New Issue
Block a user