Skip to content

Latest commit

 

History

History
 
 

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

雀魂 Plus 设计文档

这里是雀魂 Plus 的设计文档,通过阅读这里的内容,你可以简要地了解雀魂 Plus 的设计思路,运行流程,以及决定是否加入雀魂 Plus 的维护之中。

加载流程

下面简单通过顺序的形式介绍雀魂 Plus 的加载流程

  1. 执行之前
    在这一步初始化了很多顺序无关的内容,比如:

    • appDataDir:用户保存所有内容的路径
    • UserConfigs:加载用户设置
    • i18n:初始化 i18n 实例
    • httpsServer:创建默认的服务器
    • manager:资源包、扩展的 Manager 实例构造
    • default:各项默认配置的初始化,以及对需要的变量进行 Object.freeze
  2. 加载全局变量
    此处加载的全局变量包括“资源包路径”,“扩展路径”和“工具路径”。在加载全局变量的过程中,如果对应的目录不存在,则会将雀魂 Plus 自带的资源包、扩展和工具复制到对应的目录下。

  3. 加载资源包
    此处会对对应目录下启用的资源包进行加载。注:此步骤应该移动到启动游戏时进行。

  4. 加载扩展 此处会对对应目录下启用的扩展进行加载。注:此步骤应该移动到启动游戏时进行。

  5. 设置代理
    当用户配置的代理存在时,启用代理。

  6. 针对操作系统禁用/启用进程内 GPU 处理
    当用户设置中启用 isInProcessGpuOn 后,对 WindowsmacOS 进行 in-process-gpu 参数附加。

  7. 忽略 GPU 黑名单
    当用户设置中启用 isIgnoreGpuBlacklist 后,进行 ignore-gpu-blacklist 参数附加,忽略 GPU 黑名单。

  8. 禁用硬件加速
    当用户设置中启用 isHardwareAccelerationDisable 后,禁用硬件加速。

  9. process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'

  10. // 忽略证书错误

  11. 允许自动播放音视频
    允许在后台不经用户手动授权播放截图的背景音。

  12. 当全部窗口退出后,结束进程

  13. 阻止证书验证

  14. ready 后执行的操作

  15. 监听各项崩溃事件

ready 后执行的操作

  1. 收到 Manager 发送的 start-game 后执行的操作
  2. 注册老板键功能
  3. 注册截图功能
  4. 注册工具窗口的沙盒功能
  5. 初始化扩展资源管理器窗口

start-game 后执行的操作

  1. 加载服务器路由规则
  2. 初始化本地镜像服务器
    这一步中会根据用户配置决定启动 http 服务器还是 https 服务器。
  3. 初始化游戏窗口
  4. 根据设置决定销毁 / 隐藏 Manager 窗口

IPC

IPC.md