user1274860
user1274860

Reputation: 1

Is there a way to enable hardware acceleration in the Google TV Emulator?

I have a Logitech Revue running Google TV 3.1 and I've just finished setting up my build environment to develop for it. So I boot up the emulator to see what it can do and to my surprise it can barely draw two untextured cubes (I ran the GLSurfaceView API Demo). The frame rate hovers around 10 fps and my machine is running nothing but the emulator.

"The Kernel-based Virtual Machine (KVM) is a virtual machine framework that provides performance comparable to that of a native machine. The emulator uses KVM to mimic Google TV devices with performance comparable to an actual device connected to a TV." [https://developers.google.com/tv/android/docs/gtv_emulator#KVM]

As I understand it, KVM allows virtual machines to use hardware components, such as the graphics card, directly. As a requirement for the Google TV Emulator I assumed it would be able to take advantage of my GPU. To test this I found a program call psensor [http://ubuntuguide.net/monitor-cpunvdia-gpushard-disk-temperature-in-ubuntu-using-psensor] and used it to determine if my GPU was being utilized. Upon running GLSurfaceView the temperature of the GPU shot from 42C to 50C and the fan kicked in, so I'm assuming the app has access.

The quote above says comparable performance to an actual device, I decided to test a 3D app on the Revue. I downloaded a simple 3D dice rolling app and started it up. There's more than twice the amount of cubes, textured, and no visible loss of frame rate. The device seems capable of running 3D applications just fine.

I want to be able to test my application in a development environment, I need the emulator running in a way that is comparable to what the end user will experience.

  1. Do apps within the emulator take advantage of hardware?
  2. If so, what would be the cause of such a drastic decrease in performance?
  3. Any other information you feel I should know that might help?

I don't want to resort to remote debugging on the device due to it being a major inconvenience.

Thanks!

Upvotes: 0

Views: 1138

Answers (2)

Check out this G+ page that covers how to configure AVD to use graphics acceleration:

http://goo.gl/cZXM1

Upvotes: 1

Christian Kurzke
Christian Kurzke

Reputation: 80

Currently the Google TV Emulator does not use the Host PC GPU to execute any OpenGL. Instead it uses a Software emulation.

I strongly recommend to use real hardware to do any kind of OpenGL development. (same is true afaik for Android emulator of Phones/Tablets)

Upvotes: 0

Related Questions