饥荒游戏吧 关注:204,213贴子:2,999,537

16-06-22丨【mod】饥荒游戏LuaJIT引擎桥接MOD | RoG, SW, DST

只看楼主收藏回复

原贴排版有点问题,趁DST兼容版发布的时候另开个新贴吧。
饥荒游戏默认采用了lua 5.1.4作为脚本引擎,在优化不到位的情况下,如果游戏当前活动对象过多(可以通过Backspace查看左上角的awake得到),就会出现明显的卡顿现象。加之游戏本身是单线程的,所以满载只能跑满一个CPU核心,经常CPU占用只有20%,但是游戏已经卡得不能玩。
LuaJIT是一个Just-in Time的lua引擎,由Mike Pall开发。它可以将lua代码编译成CPU指令而不是虚拟机指令直接执行,在速度上比官方lua要快非常多(相差一到两个数量级)。具体的性能测试可到luajit官方网站(luajit.org)上看。
这个MOD的作用就是使用LuaJIT替换掉原有的lua引擎,可以缓解因为对象数过多/MOD数过多引起了卡顿问题。但是由于饥荒主程序并没有导出lua函数,因此这个替换的过程是使用了特征码匹配的。
特征码匹配没有办法保证它在所有版本的游戏中都可以正确运行,我仅仅在发贴时最近的steam正版Don't Starve v181038+ 上进行了测试。因此我需要收集一部分测试反馈。
如果您想测试它的话,请确保您已经备份好所有的存档。如果程序出现了闪退或者崩溃,请将Steam\SteamApps\common\dont_starve\bin下的扩展名为.mdmp的文件贴到github issue上。


IP属地:浙江1楼2016-06-22 18:02回复
    作者:PaintDream (alias Aegisys)
    GitHub:https://github.com/paintdream
    微博:PaintDream
    ZHIHU:PaintsNow
    DontStarveLuaJIT简介,安装,下载,bug反馈(首选这里下载):
    https://paintdream.github.io/DontStarveLuaJIT/
    百度网盘备份:(更新不一定非常及时)
    http://pan.baidu.com/s/1o7OHHGm
    STEAM上的讨论贴:
    http://steamcommunity.com/workshop/discussions/-1/351659808490971005/?appid=219740


    IP属地:浙江2楼2016-06-22 18:06
    收起回复
      以后原贴不再更新。


      IP属地:浙江4楼2016-06-22 18:15
      收起回复
        占楼


        IP属地:广东来自Android客户端5楼2016-06-22 18:18
        收起回复
          目测发现联机版不能恢复存档。。。


          IP属地:浙江6楼2016-06-22 18:30
          收起回复
            可啪妈妈再也不用担心我开一堆mod卡了


            IP属地:江苏7楼2016-06-22 18:37
            回复
              单机的试了试,开了一堆mod,快到时快,就是存档废了。
              联机的……等稳定再来


              IP属地:辽宁8楼2016-06-22 19:20
              收起回复
                何不发布到创意工坊


                IP属地:澳大利亚来自iPhone客户端9楼2016-06-22 19:42
                收起回复
                  联机版闪退==然后黑框出现error的我就看到这一个地方==


                  IP属地:广东11楼2016-06-23 00:18
                  收起回复
                    后排支持


                    IP属地:河南来自Android客户端12楼2016-06-23 07:09
                    回复
                      是下载源码包吗?


                      14楼2016-06-23 11:49
                      收起回复
                        要用这个MOD就必须先吧智能锅修改掉吗?


                        15楼2016-06-23 12:00
                        收起回复
                          自己创建世界没问题=加入别人的世界,就崩溃了==


                          IP属地:广东16楼2016-06-23 12:45
                          收起回复
                            支持 6.22版本昨晚我已经覆盖了原来的引擎,玩的很6


                            来自iPhone客户端17楼2016-06-23 12:50
                            回复
                              有童鞋愿意提供一个稳定的国内server供DST测试吗?
                              我只有一个账号,只能在联机的主机里测试==


                              IP属地:浙江18楼2016-06-23 13:09
                              收起回复