package net.northking.cctp.upperComputer.deviceManager.entity;

import com.google.gson.annotations.SerializedName;

/**
 * 设备性能数据
 * <br>
 * 不同版本的系统获取的数据有差异
 */
public class DeveloperDvtGraphics {
    /**
     * 设备利用率
     * <br>
     * 表示设备正在执行的工作量占设备总能力的百分比。
     */
    @SerializedName("Device Utilization %")
    private int deviceUtilization;

    /**
     * 渲染器利用率
     * <br>
     * 表示渲染器正在执行的工作量占其总能力的百分比。
     */
    @SerializedName("Renderer Utilization %")
    private int rendererUtilization;

    /**
     * 恢复计数
     * <br>
     * 可能表示设备从错误状态恢复的次数。
     */
    private int recoveryCount;

    /**
     * 正在使用的系统内存（驱动程序）
     * <br>
     * 驱动程序正在使用的系统内存量。
     */
    @SerializedName("In use system memory (driver)")
    private int inUseSystemMemoryDriver;

    /**
     * 分割场景计数
     * <br>
     * 可能与图形渲染有关。
     */
    private int splitSceneCount;

    /**
     * Tiler利用率
     * <br>
     * 表示贴图器正在执行的工作量占其总能力的百分比。
     */
    @SerializedName("Tiler Utilization %")
    private int tilerUtilization;

    /**
     * 分配的系统内存
     * <br>
     * 已分配的系统内存量。
     */
    @SerializedName("Alloc system memory")
    private int allocSystemMemory;

    /**
     * 分配的PB大小
     * <br>
     * 已分配的PB（可能是像素缓冲区Pixel Buffer）大小。
     */
    @SerializedName("Allocated PB Size")
    private int allocatedPBSize;

    /**
     * XR视频卡运行时间戳
     * <br>
     * 可能表示最后一次XR视频卡活动的时间。
     */
    @SerializedName("XRVideoCardRunTimeStamp")
    private int xrVideoCardRunTimeStamp;

    /**
     * 正在使用的系统内存
     */
    @SerializedName("In use system memory")
    private int inUseSystemMemory;

    /**
     * 平铺场景字节数
     * <br>
     * 可能与图形渲染有关。
     */
    private int tiledSceneBytes;

    /**
     * IOGL包名称
     * <br>
     * 可能是图形驱动程序的名称。
     */
    @SerializedName("IOGLBundleName")
    private String ioglBundleName;

    /**
     * CoreAnimation每秒帧数
     * <br>
     * 表示设备的渲染性能。
     */
    @SerializedName("CoreAnimationFramesPerSecond")
    private int coreAnimationFramesPerSecond;

    /**
     * 等待GL完成的时间
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int finishGLWaitTime;

    /**
     * GART使用的字节数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int gartUsedBytes;

    /**
     * GART映射入字节数/样本
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int gartMapInBytesPerSample;

    /**
     * 等待GPU地址空间的空闲时间
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int freeToAllocGPUAddressWaitTime;

    /**
     * AGP纹理创建字节数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int agpTextureCreationBytes;

    /**
     * GART映射出字节数/样本
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int gartMapOutBytesPerSample;

    /**
     * GL上下文计数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int contextGLCount;

    /**
     * OOL纹理创建字节数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int oolTextureCreationBytes;

    /**
     * 命令缓冲区渲染计数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    @SerializedName("CommandBufferRenderCount")
    private int commandBufferRenderCount;

    /**
     * 纹理计数
     */
    private int textureCount;

    /**
     * IOSurface纹理创建字节数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int iosurfaceTextureCreationBytes;

    /**
     * 硬件等待时间
     */
    private int hardwareWaitTime;

    /**
     * AGPREF纹理创建字节数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int agprefTextureCreationBytes;

    /**
     * 标准纹理创建字节数
     * <br>
     * 适用于iOS 17以下版本的系统
     */
    private int stdTextureCreationBytes;


    public int getDeviceUtilization() {
        return deviceUtilization;
    }

    public void setDeviceUtilization(int deviceUtilization) {
        this.deviceUtilization = deviceUtilization;
    }

    public int getRendererUtilization() {
        return rendererUtilization;
    }

    public void setRendererUtilization(int rendererUtilization) {
        this.rendererUtilization = rendererUtilization;
    }

    public int getRecoveryCount() {
        return recoveryCount;
    }

    public void setRecoveryCount(int recoveryCount) {
        this.recoveryCount = recoveryCount;
    }

    public int getInUseSystemMemoryDriver() {
        return inUseSystemMemoryDriver;
    }

    public void setInUseSystemMemoryDriver(int inUseSystemMemoryDriver) {
        this.inUseSystemMemoryDriver = inUseSystemMemoryDriver;
    }

    public int getSplitSceneCount() {
        return splitSceneCount;
    }

    public void setSplitSceneCount(int splitSceneCount) {
        this.splitSceneCount = splitSceneCount;
    }

    public int getTilerUtilization() {
        return tilerUtilization;
    }

    public void setTilerUtilization(int tilerUtilization) {
        this.tilerUtilization = tilerUtilization;
    }

    public int getAllocSystemMemory() {
        return allocSystemMemory;
    }

    public void setAllocSystemMemory(int allocSystemMemory) {
        this.allocSystemMemory = allocSystemMemory;
    }

    public int getAllocatedPBSize() {
        return allocatedPBSize;
    }

    public void setAllocatedPBSize(int allocatedPBSize) {
        this.allocatedPBSize = allocatedPBSize;
    }

    public int getXrVideoCardRunTimeStamp() {
        return xrVideoCardRunTimeStamp;
    }

    public void setXrVideoCardRunTimeStamp(int xrVideoCardRunTimeStamp) {
        this.xrVideoCardRunTimeStamp = xrVideoCardRunTimeStamp;
    }

    public int getInUseSystemMemory() {
        return inUseSystemMemory;
    }

    public void setInUseSystemMemory(int inUseSystemMemory) {
        this.inUseSystemMemory = inUseSystemMemory;
    }

    public int getTiledSceneBytes() {
        return tiledSceneBytes;
    }

    public void setTiledSceneBytes(int tiledSceneBytes) {
        this.tiledSceneBytes = tiledSceneBytes;
    }

    public String getIoglBundleName() {
        return ioglBundleName;
    }

    public void setIoglBundleName(String ioglBundleName) {
        this.ioglBundleName = ioglBundleName;
    }

    public int getCoreAnimationFramesPerSecond() {
        return coreAnimationFramesPerSecond;
    }

    public void setCoreAnimationFramesPerSecond(int coreAnimationFramesPerSecond) {
        this.coreAnimationFramesPerSecond = coreAnimationFramesPerSecond;
    }

    public int getFinishGLWaitTime() {
        return finishGLWaitTime;
    }

    public void setFinishGLWaitTime(int finishGLWaitTime) {
        this.finishGLWaitTime = finishGLWaitTime;
    }

    public int getGartUsedBytes() {
        return gartUsedBytes;
    }

    public void setGartUsedBytes(int gartUsedBytes) {
        this.gartUsedBytes = gartUsedBytes;
    }

    public int getGartMapInBytesPerSample() {
        return gartMapInBytesPerSample;
    }

    public void setGartMapInBytesPerSample(int gartMapInBytesPerSample) {
        this.gartMapInBytesPerSample = gartMapInBytesPerSample;
    }

    public int getFreeToAllocGPUAddressWaitTime() {
        return freeToAllocGPUAddressWaitTime;
    }

    public void setFreeToAllocGPUAddressWaitTime(int freeToAllocGPUAddressWaitTime) {
        this.freeToAllocGPUAddressWaitTime = freeToAllocGPUAddressWaitTime;
    }

    public int getAgpTextureCreationBytes() {
        return agpTextureCreationBytes;
    }

    public void setAgpTextureCreationBytes(int agpTextureCreationBytes) {
        this.agpTextureCreationBytes = agpTextureCreationBytes;
    }

    public int getGartMapOutBytesPerSample() {
        return gartMapOutBytesPerSample;
    }

    public void setGartMapOutBytesPerSample(int gartMapOutBytesPerSample) {
        this.gartMapOutBytesPerSample = gartMapOutBytesPerSample;
    }

    public int getContextGLCount() {
        return contextGLCount;
    }

    public void setContextGLCount(int contextGLCount) {
        this.contextGLCount = contextGLCount;
    }

    public int getOolTextureCreationBytes() {
        return oolTextureCreationBytes;
    }

    public void setOolTextureCreationBytes(int oolTextureCreationBytes) {
        this.oolTextureCreationBytes = oolTextureCreationBytes;
    }

    public int getCommandBufferRenderCount() {
        return commandBufferRenderCount;
    }

    public void setCommandBufferRenderCount(int commandBufferRenderCount) {
        this.commandBufferRenderCount = commandBufferRenderCount;
    }

    public int getTextureCount() {
        return textureCount;
    }

    public void setTextureCount(int textureCount) {
        this.textureCount = textureCount;
    }

    public int getIosurfaceTextureCreationBytes() {
        return iosurfaceTextureCreationBytes;
    }

    public void setIosurfaceTextureCreationBytes(int iosurfaceTextureCreationBytes) {
        this.iosurfaceTextureCreationBytes = iosurfaceTextureCreationBytes;
    }

    public int getHardwareWaitTime() {
        return hardwareWaitTime;
    }

    public void setHardwareWaitTime(int hardwareWaitTime) {
        this.hardwareWaitTime = hardwareWaitTime;
    }

    public int getAgprefTextureCreationBytes() {
        return agprefTextureCreationBytes;
    }

    public void setAgprefTextureCreationBytes(int agprefTextureCreationBytes) {
        this.agprefTextureCreationBytes = agprefTextureCreationBytes;
    }

    public int getStdTextureCreationBytes() {
        return stdTextureCreationBytes;
    }

    public void setStdTextureCreationBytes(int stdTextureCreationBytes) {
        this.stdTextureCreationBytes = stdTextureCreationBytes;
    }

    @Override
    public String toString() {
        return "DeveloperDvtGraphics{" +
                "deviceUtilization=" + deviceUtilization +
                ", rendererUtilization=" + rendererUtilization +
                ", recoveryCount=" + recoveryCount +
                ", inUseSystemMemoryDriver=" + inUseSystemMemoryDriver +
                ", splitSceneCount=" + splitSceneCount +
                ", tilerUtilization=" + tilerUtilization +
                ", allocSystemMemory=" + allocSystemMemory +
                ", allocatedPBSize=" + allocatedPBSize +
                ", xrVideoCardRunTimeStamp=" + xrVideoCardRunTimeStamp +
                ", inUseSystemMemory=" + inUseSystemMemory +
                ", tiledSceneBytes=" + tiledSceneBytes +
                ", ioglBundleName='" + ioglBundleName + '\'' +
                ", coreAnimationFramesPerSecond=" + coreAnimationFramesPerSecond +
                ", finishGLWaitTime=" + finishGLWaitTime +
                ", gartUsedBytes=" + gartUsedBytes +
                ", gartMapInBytesPerSample=" + gartMapInBytesPerSample +
                ", freeToAllocGPUAddressWaitTime=" + freeToAllocGPUAddressWaitTime +
                ", agpTextureCreationBytes=" + agpTextureCreationBytes +
                ", gartMapOutBytesPerSample=" + gartMapOutBytesPerSample +
                ", contextGLCount=" + contextGLCount +
                ", oolTextureCreationBytes=" + oolTextureCreationBytes +
                ", commandBufferRenderCount=" + commandBufferRenderCount +
                ", textureCount=" + textureCount +
                ", iosurfaceTextureCreationBytes=" + iosurfaceTextureCreationBytes +
                ", hardwareWaitTime=" + hardwareWaitTime +
                ", agprefTextureCreationBytes=" + agprefTextureCreationBytes +
                ", stdTextureCreationBytes=" + stdTextureCreationBytes +
                '}';
    }
}
