V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
akann
V2EX  ›  Android

Google TV的模拟器还是那么慢

  •  
  •   akann · 2012-01-09 00:02:53 +08:00 · 11442 次点击
    这是一个创建于 4701 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不是用了kvm吗,执行本地代码都那么慢,速度甚至比没有用kvm的android模拟器还慢,难怪没人去做google tv应用。
    19 条回复    1970-01-01 08:00:00 +08:00
    gowinder
        1
    gowinder  
       2012-01-09 08:44:42 +08:00
    直接买个reuve
    我现在晚上用这个看电视
    madeye
        2
    madeye  
       2012-01-09 09:36:29 +08:00
    检查一下内存使用情况,以及是否开启了snapshot。
    gowinder
        3
    gowinder  
       2012-01-09 09:41:48 +08:00
    楼主开发个支持VPN或者代理的APP吧,这样就可以用REVUE上YOUTUBE了.
    akann
        4
    akann  
    OP
       2012-01-09 12:32:22 +08:00
    @madeye 我用cat /proc/cpuinfo查了一下发现Google TV模拟器的cpu速度确实比普通Android模拟器快好几倍,但是当我运行api demo 里面opengl es 程序时确实感觉比普通Android模拟器慢很多啊。
    madeye
        5
    madeye  
       2012-01-09 20:21:09 +08:00
    @akann 这个应该是 Google TV 的模拟器默认没有打开对 GPU 的模拟吧。其实最新的 Android Emulator 已经可以直接模拟 GPU 了,实现方法很有意思,具体请参见:https://github.com/android/platform_external_qemu/commit/cb88e79ecbd16dea5f2201fd12320db5945db83e
    batfree
        6
    batfree  
       2012-01-09 21:31:36 +08:00
    @akann 在模拟器里运行opengl es不靠谱的。
    akann
        7
    akann  
    OP
       2012-01-09 23:41:21 +08:00
    @madeye 太奇怪了,我照上面说的方法把hardware-qemu.ini中的hw.gpu.enabled = no手工改为yes后,打开Google TV模拟器,再看hardware-qemu.ini中的hw.gpu.enabled又被改回了no.它后面说的运行ToT master AOSP tree补丁不知道是什么,那个链接我打不开。难道是那个补丁没装么?
    akann
        8
    akann  
    OP
       2012-01-09 23:43:35 +08:00
    @batfree 如果是本地代码速度还是可以的,我用这个:http://www.android-x86.org/运行调试opengl es程序就非常不错了。
    akann
        9
    akann  
    OP
       2012-01-10 00:11:27 +08:00
    @madeye 也有可能是android模拟器没能探明我的电脑支持GPU硬件加速,我的linux上的chrome 浏览器就是把“覆盖软件渲染列表”那个开关打开才使Chrome支持硬件加速的。
    madeye
        10
    madeye  
       2012-01-10 10:53:56 +08:00
    @akann 这项功能还不成熟,到了 Linux 上应该会更难用,毕竟 Linux 桌面的 GPU 驱动和性能一直是个老大难问题。其实 Android 团队真正应该做的是把 native code (arm-eabi)和 byte code (dalvik)的模拟分开来,比如直接让 byte code 在 host 的 dalvik VM 中跑,而不是在 qemu 中的 dalvik 中跑。
    akann
        11
    akann  
    OP
       2012-01-10 15:11:44 +08:00
    @madeye 确实。感觉ios sdk在这一点就做得比android sdk好,ios的模拟器就是本地代码实现的,opengl es程序完全能在它的模拟器上跑。
    madeye
        12
    madeye  
       2012-01-10 15:27:30 +08:00
    @akann 各有千秋吧。iOS SDK 是把代码编译成了 x86 的 binary,然后在一个用户态的模拟器里面跑的,性能虽好但是限制太大。比如你不可能自己编一个完整的ROM(当然了 iOS 也不开源。。。),直接扔到模拟器里面运行。
    akann
        13
    akann  
    OP
       2012-01-10 16:28:30 +08:00
    @madeye 同意啊,我在移动应用方面还是个新手,和你聊天了解了不少知识,谢谢啦。
    akann
        14
    akann  
    OP
       2012-01-11 10:52:23 +08:00
    @madeye 我明白了,那个功能是个花架子(上面没花)。参见这里http://groups.google.com/group/android-developers/browse_thread/thread/d5df7e72bff9f088/c932a2c59e6ca9be?show_docid=c932a2c59e6ca9be&pli=1
    他说模拟器能作gpu模拟,但是没有能作gpu模拟的映像,哈哈。
    madeye
        15
    madeye  
       2012-01-11 13:29:42 +08:00
    @akann 这个是很早以前的帖子啊,2011-10-20。不过确实很多人还是用不了,http://www.reddit.com/r/androiddev/comments/mgp62/android_40_sdk_does_gpu_emulation_actually_work/
    akann
        16
    akann  
    OP
       2012-01-11 20:23:18 +08:00
    @madeye 确实现在在各手机的硬件厂家可能已经有能模拟GPU的映像了,但感觉Android SDK提供的那几个img还不行。实际上现在在模拟器上调试普通opengl es程序还行,就是调试shader程序还找不到办法,如果用真实手机设备需要调试多种型号也是个麻烦事。
    madeye
        17
    madeye  
       2012-01-11 21:57:31 +08:00 via iPad
    @akann 这确实是个难题,所谓 fragmentation。不过3d游戏这块,个人开发者还是不要碰比较好。
    akann
        18
    akann  
    OP
       2012-01-11 22:27:06 +08:00
    @madeye 你说得对啊,其实在国内不要说个人开发者了,就是公司在3d这方面的技术力量都相当薄弱。其实如果个人能力比较强的话,可以修改一下引擎玩玩,我以前修改过桌面3d引擎,没做过移动设备的,要真做大型游戏的话,没钱是不行的,光美工就不是几个人能完成的了。
    wszf
        19
    wszf  
       2012-01-12 10:27:35 +08:00
    google TV?找个时间看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1063 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:16 · PVG 03:16 · LAX 11:16 · JFK 14:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.