经测试, OpenGL ES 在 arm64-v8a 上的指令优化不完美,特别是 glReadPixels() - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
begeekmyfriend
V2EX    Android

经测试, OpenGL ES 在 arm64-v8a 上的指令优化不完美,特别是 glReadPixels()

  •  
  •   begeekmyfriend 2016-11-10 11:52:52 +08:00 13162 次点击
    这是一个创建于 3260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    测试方法就是用 System.nanotime()的 benchmar , arm64-v8a 的执行时间是 armeabi-v7a 的一倍多。在 640x480 的 RGBA 格式上, arm64-v8a 是 40ms 以上, armeabi-v7a 是 20ms 以下。

    第 1 条附言    2016-11-10 17:18:13 +08:00
    感谢大家回复,本人是安卓直播开源项目[yasea]( https://github.com/begeekmyfriend/yasea)作者,目前 native 都是 armeabi-v7a 架构,运行良好。当编译 arm64-v8a 时,美颜滤镜出现 5~6 帧的掉帧,虽然不算严重,但体验上总不如 24 帧设定那样流畅。问题已经定位到 glReadPixels 这个函数,通过 benchmark 发现时间比 v7a 要慢一倍,原因可能是驱动对 64 支持不够完美的缘故,无能为力,所以犹豫是否放出 arm64-v8a 。目前看来不存在有效解决手段。
    7 条回复    2016-11-12 12:41:46 +08:00
    binsys
        1
    binsys  
       2016-11-10 12:30:11 +08:00
    这个在不同平台上差别比较大,不光是 ARCH 上的差别,比如 Qualcomm 自己的不同平台, Allwinner , MTK ,都不一样
    wsy2220
        2
    wsy2220  
       2016-11-10 14:27:06 +08:00
    厂商的显卡驱动太渣吧
    jaryguo2011
        3
    jaryguo2011  
       2016-11-10 14:40:40 +08:00
    求解释。用不同的指令集在同样的架构上速度不一样吗?还是说只是硬件架构不同导致的?
    begeekmyfriend
        4
    begeekmyfriend  
    OP
       2016-11-10 17:19:42 +08:00
    @jaryguo2011 原因可能是 @wsy2220 所说的 GLES 驱动适配问题,我也无能为力了。
    guoxx_
        5
    guoxx_  
       2016-11-11 13:27:57 +08:00 via Android   1
    和 GPU 架构有很大关系。是不是 Tiled based deferred rendering, powervr 的架构就是这样的。 Immediate mode GPU 应该没问题,例如 terga.
    kokutou
        6
    kokutou  
       2016-11-12 10:05:40 +08:00 via Android
    知乎上不是有个这个问题么。。。
    说就不该用这个 glReadPixels 函数。。。
    begeekmyfriend
        7
    begeekmyfriend  
    OP
       2016-11-12 12:41:46 +08:00
    @kokutou 就是我问的,但问题没描述清楚,答主的意思是不宜在渲染到屏幕的时候去 read ,这会导致同步阻塞。但我是渲染到 FBO 再去 read 的,这是教科书里所描述的用法。而且在 armeabi-v7a 架构下不存在掉帧。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2977 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 13:44 PVG 21:44 LAX 06:44 JFK 09:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86