测试 krkr2 最大支持多少分辨率

有点好奇 krkr2 在用使用
drawDevice.preferredDrawer = global.Window.PassThroughDrawDevice.dtDBD3D;

之后,支持最大分辨率是多少。

首先说下测试环境:

krkr2版本:2.31.2013.411

系统:Windows 10 1607

CPU:Intel Core i7 6700HQ

内存:20GB(16GB+4GB)

在 macro.ks 的 initscene 宏里使用 [laycount layers=25 messages=10] 将 layers 和 messages 设置到一个演出层会使用到的大致数字

打开初始化之后,message1 载入一张 1080p 的图片,layer0 载入一张 1080p 的图片。

4k(3840×2160),直接报错

 

2k(2560×1440)可以打开,内存占用接近 920MB,基本可以说告别很多复杂演出。

FHD(1920×1080)将近 570MB,感觉似乎还行,需要进行复杂演出测试。(同时有 10 个左右的 layer/message layer进行演出)

900p(1600×900),在 420MB 左右,感觉还行,如果是保守起见的话,其实 900p 的分辨率也够用了,至少在 1080p 显示器和 4k 显示器上观感比 720p 要好太多了。

720p(1280×720)在 300MB 左右,目前是这样子的,为什么会占用这么多,后面说下吧(x)

为什么内存冷启动,只载入 2 张图(其实还有对话框和一堆按钮)会占用这么多内存呢?

宏观来看:

在使用 [laycount layers=25 messages=10] 之后会把 kag.fore.layers,kag.back.layers,kag.fore.messages,kag.back.messages 都初始化为设置的数量(加起来其实有多达 25+25+10+10=70 个 layer),如果用不了这么多层的话,那将数字设置变小之后,内存占用量会显著减少。

在 FHD layers=25 messages=10 时占用 570MB 左右(图见上面测试的)

在 FHD layers=15 messages=10 时占用 390MB 左右(图见下面)

另外 KAG 和 KAGEX 的内存占用量占用区别也是很大的,KAGEX 中系统增加了许多新的功能,相对的内存占用量也会很大。

不过,目前来看,似乎 900p 和 1080p 的如果演出不是很复杂的话,krkr2 也完全可以用的样子,具体还需要更详细的演出测试来实践。

然后,估计有人会说都 2017 年了,怎么还在用 krkr2 这么老的引擎在做 gal?

下面是窝个人的分析(可能会长,也可能不长,窝也不知道会写多少x):

目前开源的 gal 用的引擎和系统,能做到比 krkr2 + kag3exe3 简单的似乎并不多,并且要达到同样的演出效果投入上可能比上面的搭配要多。

大概就是上面的。(个人感觉,不要相信,根据自己需求做东西最好,别听别人瞎 bb,自己试过才知道到底好不好。)

恩,原本想写下最近玩的 gal 的 系统体验 的,还是等下次更新吧。