kirikiroid2吧 关注:289,034贴子:1,364,444

【开发日志】20150822

只看楼主收藏回复

自灾后重建以来已经过了一周,随着物资补充并伴随荷包缩水,一切又渐渐地回到正轨(TMD我下个月就搬出这鬼地方)。
代码重构并发布1.2.0后,果然如预料内的bug不断……基本代码有改动到的地方都出bug了,所幸这种事情只做一次就够了。毕竟不用理解别人写的代码,而变作自己完全熟悉并理解的系统(这才是重构的目的?)之后无论要改动还是扩展都容易不少。
beta4发布后感觉这个版本可以稳定下来了,也好继续接下来的新功能开发。
现阶段的模拟器最大的弊病就是内存的占用太多。PC端的游戏基本不用担心内存不足,毕竟有虚拟内存可用,最多变慢,而手机就不行了。特别是内存只有1G的手机,除开操作系统的占用,就只剩下200~300M的内存可用。然而有些情况下还没用到100M就闪退了。因此,有必要在内存利用率上做一些改进。
目前的想法是纹理在内存中存放形式做优化,而这又与渲染器直接相关,软件渲染器与OGL渲染器有不同的方式。
软件渲染器:
·区分只读纹理与可写纹理(存放中间结果),对只读纹理进行压缩;
·选择压缩方法:
1.使用索引表引用重复的行像素(针对重复的图像,比如全白、全黑、上下重复的图片等)
2.使用索引表令纹理行数减半(或更少,简单暴力地牺牲清晰度换取空间)
3.使用RLE或相似的快速压缩算法保存像素数据(简单暴力地牺牲CPU换取空间)
4.未知的外星技术
与现在的渲染器设计相比,唯一需要改动框架的部分,就是纹理需要增加行索引表。这个表的开销并不大,参与渲染时的CPU开销也可以忽略不计,唯一的缺点就是可能与某些插件不相兼容,这很可能成为潜在的需要长期测试并修正的漏洞。
GPU渲染器:
·同样区分只读纹理与可写纹理,并对只读纹理进行压缩
·选择压缩方法:
1.读取纹理而直接分辨率减半(或更少,同上)
2.读取纹理时针对设备的GPU(比如ADRENO系列、MALI系列、PowerVR系列、TEGRA系列……etc)选择对应的纹理压缩算法压缩后再传递给GPU(牺牲加载速度,同样是CPU换取空间的方法)
3.读取纹理后直接传递给GPU,后台利用空闲的CPU时间压缩纹理并更新(这或许不是个好主意,如果短时间内读取大量图片的话内存占用率反而会成倍增长)
4.未知的外星技术
OGL的框架没什么需要改动的地方,最大的问题或许就是各家GPU厂商提供的压缩算法基本都不考虑效率问题。毕竟用压缩纹理的都是在开发阶段用PC生成,再在手机端读取使用,很少有什么游戏或软件会在运行期间进行压缩。有开源的好算法自然最好,没有的话以我的能力是基本不可能改进什么的……
一眼看去这个计划又是一个深坑,是不可能也不适合一次性全部完成的。所以应该是一点点地实现,分散在各个版本中(也好测试出问题并及时修复,免得像这次1.2.0这样集中出现大量bug)。估计这个功能的完成也可以标志着1.3这个大版本更新了。
现暂定下一版本从修改软件渲染器架构支持纹理行索引表做起,到时还指望各位的测试协力了。


IP属地:福建1楼2015-08-22 22:57回复
    z大辛苦了!感谢!!!


    IP属地:湖北来自Android客户端2楼2015-08-22 23:03
    回复
      2025-12-28 22:03:12
      广告
      不感兴趣
      开通SVIP免广告
      @World_Creator @海国遗梦


      IP属地:湖北来自Android客户端3楼2015-08-22 23:03
      收起回复


        来自Android客户端4楼2015-08-22 23:04
        回复
          未知的外星技术,这么一想还有些小激动


          IP属地:广东来自Android客户端5楼2015-08-22 23:12
          回复
            好评^ω^


            IP属地:福建来自Android客户端7楼2015-08-22 23:30
            回复
              我来报错啦!其实不是什么大bug,就是鼠标模式下,悬停的位置会被默认点击一下,导致操作小的按键的时候会出现问题。


              IP属地:四川来自Android客户端8楼2015-08-22 23:56
              回复
                目前好像更多人还是使用软件渲染器吧


                IP属地:江苏来自Android客户端9楼2015-08-23 00:02
                回复
                  2025-12-28 21:57:12
                  广告
                  不感兴趣
                  开通SVIP免广告
                  反正现在新版确实bug太多,坐等完善


                  来自Android客户端11楼2015-08-23 00:25
                  回复
                    来冒个泡,感觉做一款软件真不容易


                    IP属地:浙江来自Android客户端12楼2015-08-23 00:35
                    回复
                      Z大辛苦,不知道是优化还是怎么的,1.2.0打开恋樱的速度非常慢。点击后会卡几十秒才有画面出来。


                      IP属地:广东来自Android客户端13楼2015-08-23 01:11
                      收起回复
                        3g内存够不够用
                        --刚才在教室捡到一个遥控器 我好奇的按了一下开关 然后前面的一个女同学突然蹲在地上颤抖 她是不是有病阿→→


                        IP属地:美国来自Android客户端14楼2015-08-23 03:28
                        收起回复
                          前来报道


                          IP属地:江苏来自Android客户端15楼2015-08-23 07:26
                          回复
                            话说z大……却测试么


                            IP属地:日本来自Android客户端16楼2015-08-23 07:56
                            回复
                              2025-12-28 21:51:12
                              广告
                              不感兴趣
                              开通SVIP免广告
                              不懂帮顶


                              IP属地:广西来自Android客户端17楼2015-08-23 08:01
                              回复