-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Import other YAML files in config file. #3
Comments
我个人觉得非常有必要 (看起来目前尚无其他人,因此就形式从简改采中文做回复了,需要翻译的话我再补)
@Akarinnnnn 也来说说看?可以先看一下这两个目前较为完善的例子 |
我想,如果拆分出去,有两种选择:
|
还有一个思路:引入可见性。一个文件可以有多个 paragraph,但是只有一个是 public,其它的是 private。 例如,对于 start.yaml - tag: start
next: foo
- tag: foo
next: bar
- tag: bar
next: end 以及 end.yaml - tag: end
next: foo
- tag: foo
next: bar
- tag: bar 两个文件中都只能看到本文件中的 这样就可以允许动态加载,还可以对小文件做预加载的优化。例如小于1M的文件可以预加载到内存,而大文件则可以动态加载。 |
|
现在对于资源还没有预加载机制,但是浏览器内核可能会做一些缓存。Live2D 模型(由于前端性能差)有缓存机制。 正在做文本资源和段落文本的分离,虽然理论上可以做动态加载,但是也许可以放一放,先把全部预加载的做出来。 |
依据 #3 中 #7 (comment) 所说的,“设置某个 locale 时加载对应语言的资源和文本。这一步通常在加载设置时会触发,在设置页面切换语言也会触发”,不知道这样会不会造成切换语言的时候性能压力徒增? (如果有可能的话其实会希望这里能把界面设置和全量的文本分离开,设置界面切换语言的时候不会同时加载新设定的语言的剧本,但是既然Berrysoft/gal#29 暂时并未有合入计划,我觉得等等再说啥的都行~~(哎呀我也好随意哦)~~) |
其实就目前来看,大部分Gal引擎里面这类标签都是全局的。我个人其实倾向于这类标签是全局可见的,可能我这点上比较保守,因此我就不过多干预了。 |
只是纯文本我很怀疑会不会带来很大的压力。尽管io是同步的,但是它们都运行在异步的runtime上,至少不会导致假死 |
如果以后要做部分文本的延迟加载,就不能全局可见。 |
纯文本需要的计算量应该不高 |
确实。那,对大yaml脚本的预加载和延迟加载……看来确实不必要?(顺便就把label全局化吧)
至于对assets的预加载其实可以往后再说,而且到底是引擎主动预测式的预加载,还是用户手动指定预加载,这也是可以讨论的?(不过目前允许用户控制预加载的我倒只见过橙光) 那看来还是把决策权交回给核心开发者berrysoft吧,咋整都有出发点的(#7 你自己来合罢) Offtopic: |
确实也许是不必要的,我也不太喜欢现在这样,有些额外增加复杂度。 我决定不搞延迟加载了。 不延迟加载,然后学柚子社,增加一个双语对对照功能,一会开issue。 |
Berrysoft/gal#21
We'd like to consider if the
config.yaml
could include other files. This will make the project easier to organize.Consider this folder structure:
However, we need to consider these problems:
The text was updated successfully, but these errors were encountered: