Friday, March 8, 2019

Emulator 28.1.10 Canary

Emulator 28.1.10 is now available in the Canary and Dev channels. Changes:

Project Marble
  • Performance monitoring. We've added more detailed monitoring to emulator performance and resource usage.
    • SHOW_PERF_STATS=1. This environment variable enables tracking CPU and memory usage and also breaks down memory usage of graphics versus total resident memory.
    • ANDROID_EMU_TRACING=1. This environment variable enables printing every time an input or graphics operations takes a long time (defined to be >1 ms).
      • This is to address concerns from users where on Windows, more jank (dropped frames) is experienced versus on macOS/Linux. We're now paying more attention to this issue, and noticed that long graphics operations happen tend to take even longer on Windows, which may point to the cause.
  • Graphics optimization. Sped up uniform uploads (glUniform*) by 10-20%.
  • LC_ALL=C by default. To address issues with crashes and other problems stemming from different locales, we now set LC_ALL=C by default.
  • Host audio input control for CI setups. To work better with CI setups that need to use host audio input, we've added a command line flag and console command to allow host audio.
    • Command line flag: -allow-host-audio: Microphone will be activated on startup.
    • Console command: adb emu avd hostmicon, adb emu avd hostmicoff: Control whether host audio input is used.
  • More quality improvements for CI users.
    • emulator-headless now should not depend on system libc++, and properly uses the included libc++ that we ship.
    • To address issues with unexpected EOF when logcat prints a lot, we've increased the logcat buffer size to 2M.
Vulkan
  • Removed a code path where Vulkan support check was incorrectly ran when the feature flag was not enabled.
  • We now support VK_ANDROID_external_memory_android_hardware_buffer, enabling Skia Vulkan Android UI with a properly set-up system image.
Foldable device
  • We saw that foldable emulator UI was being activated improperly in some cases. To address this, foldable is now a hardware property in AVD config.ini.