Screen recording quality

Learn about session recording quality settings, how you can manage them, and possible trade-offs

Understanding video recording quality

Although everyone wants the best video quality when recording their app, setting the appropriate video quality requires careful consideration. Also, understanding the trade-offs of different settings.

The higher the video quality, the more demanding the recording is in terms of CPU load, memory footprint, energy consumption (battery life), and network traffic.

The easiest way to set video quality is to select one of the available presets in the dashboard. Changes in dashboard settings affect all new recordings.

Recording Quality

Smartlook offers three preset video qualities: Low/Medium/High.

Setting the video quality sets the video bitrate, which affects the video image quality and size of the video data. For most projects, Medium has the best price-performance ratio.

The current settings are:

PresetBitrateMaximum bandwidth
Low80 000 bits/s~ 0.5 MB per minute
Medium160 000 bits/s~ 1 MB per minute
High320 000 bits/s~ 2 MB per minute

The real data size depends on many factors including how complex the UI is, how often it significantly changes, and more..

Also, this setting affects the memory footprint of the SDK, its CPU load, and the size of the data that the SDK sends over the network.

Frame rate

Frame rate (in frames per second, or fps) states how often Smartlook takes a snapshot of the screen. The higher the frame rate, the smoother the recording. However, the higher the frame rate, the higher the CPU load and energy consumption. For analyzing user interaction in a common application, the default fps value (2fps) is quite sufficient. Higher frame rates make more sense in dynamic apps such as games.

We recommend setting the frame rate for the project on the dashboard.

You can also set the frame rate as a Smartlook setup option. This is particularly useful for debugging and finding the optimal value for your app. This option should not be used in production releases.

The configured frame rate, however, is its maximal value. In order to reduce the footprint, Smartlook looks for real changes in the UI and takes snapshots only when the UI is not idle. While working well in most apps, this kind of optimization, known as adaptive frame rate, may not work perfectly in some edge cases with technologies that are used to create UI. If you are not getting desired results using adaptive frame rate, you can disable it.

Rendering Mode

On top of taking snapshots for the session recording, Smartlook can also present the UI as wireframe rendering modes.

Different rendering modes use different amounts of CPU, memory, and produce video data of different sizes. Different rendering modes would suit different apps based on how the app is structured. There is not always a direct relation between the simplicity of the visual presentation and resources load.

For more information, see Rendering modes.