Options
All
  • Public
  • Public/Protected
  • All
Menu

Class WorkerSystem

Worker系统。

负责注册worker,调度任务等。

为开发者提供了创建worker任务的接口。

Hierarchy

  • WorkerSystem

Implements

  • IGameSystem

Index

Events

onTimeout

  • onTimeout(cb: Function): void
  • 设置worker超时回调。

    see

    timeout

    Parameters

    • cb: Function

    Returns void

Properties

active

active: boolean = true

关闭后所有worker任务都会暂停,主线程内的任务回调也不执行。

Readonly game

game: Game

logicWorker

logicWorker: default = null

用于运行用户自定义任务的worker。

一般情况下开发者无需关心。

readonly

请勿修改

timeout

timeout: number = 0

每帧的帧末,在主线程等待worker timeout 毫秒后,worker会被自动终止,防止卡住游戏主循环。

timeout=0表示无超时设置。

Methods

createJob

  • createJob(jobPath: string, data: any): WorkerJob
  • 根据开发者自己实现的任务类的路径,来创建worker任务。

    实现任务类的方法,详见用户手册

    see

    createSharedArrayBuffer

    Parameters

    • jobPath: string

      任务类的路径。

    • data: any

      自定义的共享数据块,用于和worker交换数据。

    Returns WorkerJob

createSharedArrayBuffer

  • createSharedArrayBuffer(byteSize: number): SharedArrayBuffer
  • 创建主线程和worker之间的共享内存,用于交换数据。

    const sab = game.workerSystem.createSharedArrayBuffer(256);
    const buffer = sab.buffer; // 通过sab.buffer来获取ArrayBuffer
    const view = new Float32Array(buffer);
    view[0] = 0.5;
    

    Parameters

    • byteSize: number

    Returns SharedArrayBuffer

Generated using TypeDoc