Class FPSDetector

FPS 探测器,用于检测 FPS 的状况

Hierarchy (view full)

Constructors

Properties

curFpsStatus: EFPSStatus = EFPSStatus.Good

当前 FPS 状态

topics: Record<"fpsStatusChanged", ITopic<any>[]> = ...
updateMode: EUpdateStatusMode = EUpdateStatusMode.AutoUpdate

更新模式

Methods

  • 清空样本

    Returns void

  • 销毁fps检测器

    Returns void

  • 移除所有的监听事件

    Returns void

  • 获取当前 Fps 状态

    Returns EFPSStatus

    Description

    注意,调用会更新一次当前 Fps 状态,有一定的性能开销,如果是自动更新状态模式,则直接获取 curFpsStatus 即可

  • 移除监听事件

    Type Parameters

    • K extends "fpsStatusChanged"

    Parameters

    • topic: K
    • Optional listener: IListener<IFPSDetectorEventsMap[K]>

    Returns void

  • 添加事件监听器

    Type Parameters

    • K extends "fpsStatusChanged"

    Parameters

    • topic: K
    • listener: IListener<IFPSDetectorEventsMap[K]>
    • Optional order: number

    Returns {
        unsub: (() => void);
    }

    • unsub: (() => void)
        • (): void
        • Returns void

  • 添加事件监听器,单个 listener 只执行1次

    Type Parameters

    • K extends "fpsStatusChanged"

    Parameters

    • topic: K
    • listener: IListener<IFPSDetectorEventsMap[K]>
    • Optional order: number

    Returns {
        unsub: (() => void);
    }

    • unsub: (() => void)
        • (): void
        • Returns void

  • 开始采样

    Parameters

    • sampleIntervalMS: number = 1000

      采样频率

    • tolerableRatePct: number = 70

      可容忍低帧率比率 = 在一定时间范围内出现低帧率的样本数量 / 总采样率

    • tolerableFPS: number = 10

      可容忍的帧率,低于此值认为不可容忍

    • toleranceDurationMS: number = ...

      时间范围阈值,将评估时间范围内的所有样本

    • startDelay: number = ...
    • allowCustom: boolean = false

      是否允许自定义,设为true上边参数才会生效,默认为false

    Returns void

    Description

    注意,在刚开始到阈值时间范围内,状态为 EFPSStatus.Unknown

  • 停止采样

    Returns void

  • 更新当前 Fps 状态

    Returns void

Generated using TypeDoc