kirikiroid2吧 关注:286,225贴子:1,351,971

【开发日志】20150423

只看楼主收藏回复

自去年圣诞节以来,L叔和老A已经离开了小半年,毕竟热情劲过了,收入也没起色。可我独揽这个项目之后怎么觉得速度并没减慢多少?
好吧前面那句只是吐槽,其实如果没有他们的努力建立起来的基础,我也没法顺利地把这个项目继续下去。
自从上次更新了可用的motionplayer插件之后,软件渲染器的瓶颈越发明显,是时候把GPU渲染部分给完善了。
现阶段最理想的结果就是完全GPU渲染图像,但是一部分插件对GPU的支持总是落后于实际情况,还有为了兼容tjs脚本能够做像素级别的操作,与CPU交互是必须支持的。
而像素数据在GPU和CPU之间倒腾,那速度已经足够让画面变成幻灯片,还不如全程用CPU运算呢……
回头翻看一年前那试验性的opengl代码,只觉得一阵阵的蛋疼,如果要插件能干涉图像计算,势必得有一个自由灵活高效的渲染器。
于是重写渲染器的漫漫征途就这么开始了……
目前的计划是插件与内部图层对像素的计算都使用glsl脚本,这样大部分渲染都可以在GPU上进行。
软件计算则要想办法让glsl代码能在CPU上运行,直觉上应该有先人实现过了,果然一Google就有不少库声称能做到。
经过几天的查阅与试验,最后锁定在两个库上:Android 3.1起开始支持的RenderScript,和mesa3d的llvmpipe库。
前者有提供libRSSupport给低版本的android提供必要的兼容,而新版本的android直接可以将其运行在GPU上,只是现在还不知道与CPU交互像素数据会不会和opengl一样慢。
后者直接把glsl编译成本地代码运行,效率应该不错。
看RenderScript的介绍倒是挺不错的,即能在CPU上运行又能使用GPU加速,只要做一个glsl代码到rs代码的转换,就可以最大程度利用硬件资源。只是实际开码的时候发现限制太多,这个只能放到将来再引入了,到时候视开发的实际情况,要么与CPU计算互补(如果GPU与CPU之间交换数据够快的话),要么弄成软件渲染和opengl渲染之外的第三个渲染器供用户选择。
※第一次写开发日志,有挺多东西想写的,但八字还没一撇呢,那些脑洞就不写了。预计是每周更新一次日志,只是不知道能坚持多久呢?


IP属地:福建1楼2015-04-23 17:47回复
    不得不说 x86平板让安卓模拟器黯然失色


    IP属地:江苏来自Android客户端2楼2015-04-24 10:30
    收起回复
      沙发没了不高兴


      来自Android客户端3楼2015-04-24 10:32
      收起回复


        来自Android客户端4楼2015-04-24 10:33
        回复
          顶Z大,辛苦了


          IP属地:四川来自Android客户端5楼2015-04-24 11:16
          回复
            混脸熟
               --听说经常熬夜的人不到20岁就会肾虚,不到25岁就会超级肾虚,到30岁就会升级为肾虚王。


            IP属地:云南来自Android客户端6楼2015-04-24 11:18
            回复
              慢慢
                


              IP属地:广西来自Android客户端7楼2015-04-24 11:29
              回复
                虽然我不懂但是必须点个赞Z大加油


                IP属地:浙江来自Android客户端8楼2015-04-24 11:30
                回复
                  不着急,慢慢来


                  来自Android客户端9楼2015-04-24 11:32
                  回复


                    IP属地:日本来自Android客户端10楼2015-04-24 12:23
                    回复


                      IP属地:四川来自Android客户端12楼2015-04-24 12:52
                      回复
                        辛苦了


                        IP属地:上海来自Android客户端13楼2015-04-24 13:14
                        回复
                          辛苦了


                          IP属地:广东来自Android客户端14楼2015-04-24 13:20
                          回复
                            开发辛苦。。。


                            IP属地:安徽来自Android客户端15楼2015-04-24 13:27
                            回复