AutomaticAsyncBenchmark

Updated: 03/17/2021

Note: The following features are not available in the SDKs prior to Cubism 4 SDK for Unity R2.

AutomaticAsyncBenchmark Scene

  • The method for setting up the model whose performance you want to check is the same as for the AsyncBenchmark scene.
    See “AsyncBenchmark#How to Setup Scenes” for more information.
  • AutomaticAsyncBenchmark scenes automatically increase the number of models as the scene is run.
    The number of models will stop changing when the value set in BenchmarkController.TargetFrameRate is no longer met.
  • When the number of models stops changing, the number of models is displayed in the text UI labeled Reached Model Count, and the elapsed time since the models stopped changing is displayed in Reached Time.

Additional Features Common to AsyncBenchmark and AutomaticAsyncBenchmark Scenes

1. FrameRateUiHolder component

  • This component is attached to the scene’s GameObject “Spawner.”
  • The ShownElapsedTime toggle can be used to toggle the display of the total benchmark run time.
  • The ShownFrameRate toggle can be used to toggle the display of two UIs: the maximum frame rate and the minimum frame rate in case the frame rate is below the target frame rate.
    However, these UIs are not independent and either both or none must be displayed.
    (The target frame rate is described in the FrameRateMeasurer component.)
  • The maximum and minimum frame rates are displayed along with the time at which they were observed.
  • The maximum and minimum frame rate values are reset when the number of models changes.

2. FrameRateMeasurer component

  • TargetFrameRate allows you to set the target frame rate.
  • At the time that measurement is performed below this target frame rate, the UI displays the highest and lowest frame rates.

Functionality Present Only in AutomaticAsyncBenchmark Scene

  • BenchmarkController component
    • TargetFrameRate allows you to set the target frame rate.
    • Vertical sync is turned off when a scene is started.
      The value set for TargetFrameRate is assigned to Application.targetFrameRate, and that value becomes the upper limit for the frame rate.
    • The ReachedTime value is reset when the number of models changes.
    • When this component is present, the value of FrameRateMeasurer.TargetFrameRate is overwritten by the TargetFrameRate value of this component.
Was this article helpful?
YesNo
Please let us know what you think about this article.