别逼秃驴喝咖啡–关于Tegra2的一点讨论

小明 2011-09-5 7,012 views

熟悉我的人都知道我一直是n粉,所以买新手机时我毫不犹豫的选了ME860。这款手机配备了nVIDIA最新的处理器图睿2–Tegra2。今天看了官方关于Tegra2的WhitePaper,但没看完。明天继续看。
首先我的疑问就是为什么安卓系统虽是Linux但软件全要用JAVA写。看网上说google为了提高效率自己实现了一个java虚拟机,而且不是基于栈的而是寄存器的。那么它的一些基本算数运算应该是可以在chip上完成了,但既然如此为何还要搞个虚拟机???为什么还要在硬件之上在虚拟一层呢?这效率不知差了多少。可能有些人支持虚拟机说是它兼容性好,那么我觉得没什么东西比xp兼容性更好的了。光是想想第一款显卡到最新款显卡,这中间不下百种显卡吧,它们都能通过驱动层完美地运行起来,为什么说区区几款手机就不能用c实现兼容性了。
如此让人蛋疼的设计逼的nVIDIA不得不再提供.so文件来提供芯片软件接口的调用,用一种C和JAVA混编的方式实现游戏程序设计。问题解决了么?我下了Fruit Ninja THD给我老婆玩。这款切水果是专为Tegra2推出的高清版,在WhitePaper中也有提到,它比原版提供了更精细的模型和纹理贴图,而且支持各向异性过滤。画质却是提高了很多,运行也很流畅,但我老婆说它的操作感还是赶不上苹果的。我想对于图形渲染,Tegra2一点都不差,问题是运行在虚拟机之上的逻辑代码能保持高效的执行效率么?能赶得上ios或是wm7么?我想这款游戏已经能说明问题了。
再说说新出的高通MSM8260处理器,据说主频达到了1.5G,处理能力比普通双核提高20%。新的GPU是Tegra2性能的5倍。那么真的有传说中的这么强大么?我看未必。根据Tegra2的WhitePaper,Tegra2具备4个顶点处理器4个像素处理器,支持Early-Z,各项异性过滤,Pixel Cache、Texture Cache,根据OpenGPU的帖子,它的核心是基于Geforce 6x系列。nVIDIA在桌面显卡的技术实力是有目共睹的,正如它自己所说的,nVIDIA在图形处理器领域有超过十年的技术积累,拿Texture Cache来说,它的缓存击中率达到90%以上,这种算法本来就非常复杂,而且没有多年的经验是达不到如此高击中率的,所以图形芯片拼的不是主频,而是算法。简单地堆积流水线提高主频并不难办到,难的是设计出这种耗电少效率高的处理单元。nVIDIA在这方面的经验不会白费的,在移动图形处理器中必将会起到关键的作用。
想起多年前在学校宿舍里时常去看nVIDIA的Tegra处理器有没有做成产品,老是失望而归,没想到今天我口袋里就装着它。
爱DOTA,爱编程,我是n粉,我是小明。

    已经搭了5 块砖头了!

    1. 梧桐梧桐

      整篇文章我只看懂两个字,老婆,哈哈,小卷小明,甜蜜蜜~~

      • 小明小明

        :)随便写写,见笑了

    2. 博主文章确实不错,有空来我的网站看看,黄金网http://www.huangjin5.org/我自己设计做出来的。

    3. 这都是sun带的头嘛,安卓编程的感觉和javaME很象,追求和运行效率和编程效率的时候,编程效率更重要一些,反正运行效率的问题可以交给硬件去解决。

      至于切水果的流畅问题,苹果机专门系统专门硬件,安卓机上什么系统什么硬件都有,好比家用主机游戏和PC游戏一样,家用机总是很流畅的,PC上总是有很多种原因慢得。

      • 小明小明

        对于硬件实现虚拟机的问题,应该包含两个先决条件。1.实现它的代价有多大。2.作用有多大。首先代价上对于类似手机的硬件全靠java虚拟机实现功能不现实,那么如果是单做一块芯片处理字节流又太耗电。其次,实现它并不能带来多少好处,因为该芯片需要先解码字节流然后去访问周边硬件。所以安卓并没有这么干。
        我用的切水果是thd版,就是专为tegra2开发的,这一版本只能运行在tegra2上,所以不存在兼容性导致的效率问题。安卓系统虽然内核用的一个,但是各个厂商都只能开发对应产品的版本,实际上类似在安卓上单独做的驱动。全球手机加起来能过500种就不错了,pc光显卡就不止500种了。所以安卓运行缓慢与其虚拟机运行程序的方式有很大关系。


    欢迎拍砖!