kirikiroid2吧 关注:289,036贴子:1,364,457

【开发日志】20170120 《望各位协助解决1.3.0更新遇到的问题》

只看楼主收藏回复

1.3.0自开始测试以来已经快一个月了,修复了大量的bug,到现在为止已趋于稳定。
但是,还有两个由于android设备的碎片化导致的头疼问题,不得不再次面对:
1.外部SD卡的访问权限
原本以为在Android5.0设备之后利用SAF授权就可以解决了,没想到居然还有坑——经过测试,某些设备,某些版本的系统中,如果应用升级了版本,或者系统升级了版本,会导致外卡只有一部分目录有访问权限。
这点是最坑爹的,如果外卡权限完全被收回,那么应用可以检测到并重新走一遍授权流程。然而偏偏外卡的根目录可以访问以为没问题了,但到子目录又不可以访问,导致后来的存档各种问题。
暂时的策略是把1.2版本那时候的每次加载游戏前检测当前目录是否可写,然后弹窗建议把游戏放在data/org.tvp.kirikiri2_free/files里。但这也并非完美,如果游戏目录可写,偏偏下面的savedata不可写呢?多判断一次savedata,那么部分游戏不把savedata作为存档目录而用 公司名/游戏名/save 之类的路径作为存档呢?
还是希望听听各位的意见,能不能想到更好的办法来解决这个问题。
2.Adreno GPU的驱动bug(可能还有其它不知名型号也有同样问题)
这次版本更新使用的OpenGL渲染器充分利用了fetch framebuffer扩展特性来提高性能,然而就是有些设备报告支持这个特性,结果不支持(由于bug或者啥其它原因导致不能获得正确的渲染结果)。
目前为止获得此类报告的用户都是使用Adreno的GPU,所以目前的暂时策略是在设置界面里切换到OGL渲染器时检查是否为Adreno的GPU,如果是,那么弹个窗口让用户注意画面错误,并进入高级设置里关闭这个扩展。(还曾突发奇想每帧渲染时都走一遍不使用扩展特性的流程,然后比较两帧画面看看有没有出问题……当然这么干掉帧掉得厉害,自然否决了)
然而这么做还是不完美,如果用户是从旧版本模拟器升级到1.3.0,那么继承了旧设置的模拟器不会给出任何提示。结果用户发现画面错误后就到论坛来问了……
毕竟有些Adreno的GPU工作还是正常的,既不能一棒子打死不厌其烦地每次启动都提示,也不能只提示了一次后被用户关闭了就再也不出声,最后用户发现画面错误还是得到论坛上来问……
目前自认为自己在技术上没有什么好办法判断设备对扩展的正确支持程度,也没法像那些大公司一样每个设备都测试一遍然后建个数据库来作为特效开关的依据,只能在界面设计上下功夫让用户注意到问题并引导其进入高级设置里手动关闭出问题的扩展。
希望听听各位是否有更好的主意来协助解决这个问题。
最后吐个槽:
做iOS开发就是省心,统一的系统,统一的硬件规格,统一的接口设计,最关键的是有问题自己就能发现修正,发布后极少会在发布后出现系统或硬件不同导致的各种问题。而做Android开发就非常容易遇到各种莫名其妙的,明明自己的设备都OK别人的设备就是不行的问题……


IP属地:福建1楼2017-01-20 17:33回复


    IP属地:浙江来自Android客户端2楼2017-01-20 17:36
    收起回复
      2025-12-29 06:40:47
      广告
      不感兴趣
      开通SVIP免广告


      IP属地:湖北来自Android客户端3楼2017-01-20 17:37
      回复
        辛苦了


        IP属地:安徽来自Android客户端4楼2017-01-20 17:38
        回复
          顶z大


          IP属地:福建来自Android客户端5楼2017-01-20 17:39
          回复
            辛苦了


            IP属地:新疆来自Android客户端6楼2017-01-20 17:41
            回复
              辛苦了,萌新帮顶
                 --我才不是萝莉控呢,只是喜欢的女孩子恰好年龄比较小而已...


              IP属地:上海来自Android客户端7楼2017-01-20 17:44
              回复
                问题1很多人纠结


                IP属地:浙江8楼2017-01-20 17:47
                收起回复
                  2025-12-29 06:34:47
                  广告
                  不感兴趣
                  开通SVIP免广告
                  写入权限的话我手机存档正常(但是千恋等一些新游戏不行),但是新建独立配置文件出错。。
                  不过我是1.2.6的,不清楚1.3.0是否还有这个问题


                  IP属地:湖北来自Android客户端9楼2017-01-20 17:48
                  回复
                    2的话可以写个工程模式来跑一遍特性然后根据返回提示用户这个特性在机器上是否可用


                    IP属地:贵州来自Android客户端10楼2017-01-20 17:50
                    收起回复
                      辛苦了,萌新帮顶


                      IP属地:上海来自Android客户端11楼2017-01-20 17:51
                      回复
                        adreno指的是高通么


                        IP属地:山东来自Android客户端13楼2017-01-20 17:57
                        收起回复
                          不懂帮顶,辛苦了


                          来自Android客户端14楼2017-01-20 19:25
                          回复
                            看来以后对求助贴有新回复了:换ios。Sy和朝日快来挂个直播@World_Creator @海国遗梦


                            IP属地:湖北来自Android客户端15楼2017-01-20 19:31
                            收起回复
                              2025-12-29 06:28:47
                              广告
                              不感兴趣
                              开通SVIP免广告
                              具体是哪个adreno系列的GPU?旗舰821的530不至于会不支持吧?让报错的留下手机型号吧


                              来自Android客户端16楼2017-01-20 20:08
                              收起回复