Top Description Inners Fields Constructors Methods
org.lwjgl.openvr

public Class CompositorFrameTiming

extends Struct<CompositorFrameTiming>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Annotations
@NativeType:struct Compositor_FrameTiming
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Provides a single frame's timing information to the app.

Layout


struct Compositor_FrameTiming {
    uint32_t m_nSize;
    uint32_t m_nFrameIndex;
    uint32_t m_nNumFramePresents;
    uint32_t m_nNumMisPresented;
    uint32_t m_nNumDroppedFrames;
    uint32_t m_nReprojectionFlags;
    double m_flSystemTimeInSeconds;
    float m_flPreSubmitGpuMs;
    float m_flPostSubmitGpuMs;
    float m_flTotalRenderGpuMs;
    float m_flCompositorRenderGpuMs;
    float m_flCompositorRenderCpuMs;
    float m_flCompositorIdleCpuMs;
    float m_flClientFrameIntervalMs;
    float m_flPresentCallCpuMs;
    float m_flWaitForPresentCpuMs;
    float m_flSubmitFrameMs;
    float m_flWaitGetPosesCalledMs;
    float m_flNewPosesReadyMs;
    float m_flNewFrameReadyMs;
    float m_flCompositorUpdateStartMs;
    float m_flCompositorUpdateEndMs;
    float m_flCompositorRenderStartMs;
    TrackedDevicePose_t m_HmdPose;
    uint32_t m_nNumVSyncsReadyForUse;
    uint32_t m_nNumVSyncsToFirstView;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
M_FLCLIENTFRAMEINTERVALMS

The struct member offsets.

public static final int
M_FLCOMPOSITORIDLECPUMS

The struct member offsets.

public static final int
M_FLCOMPOSITORRENDERCPUMS

The struct member offsets.

public static final int
M_FLCOMPOSITORRENDERGPUMS

The struct member offsets.

public static final int
M_FLCOMPOSITORRENDERSTARTMS

The struct member offsets.

public static final int
M_FLCOMPOSITORUPDATEENDMS

The struct member offsets.

public static final int
M_FLCOMPOSITORUPDATESTARTMS

The struct member offsets.

public static final int
M_FLNEWFRAMEREADYMS

The struct member offsets.

public static final int
M_FLNEWPOSESREADYMS

The struct member offsets.

public static final int
M_FLPOSTSUBMITGPUMS

The struct member offsets.

public static final int
M_FLPRESENTCALLCPUMS

The struct member offsets.

public static final int
M_FLPRESUBMITGPUMS

The struct member offsets.

public static final int
M_FLSUBMITFRAMEMS

The struct member offsets.

public static final int
M_FLSYSTEMTIMEINSECONDS

The struct member offsets.

public static final int
M_FLTOTALRENDERGPUMS

The struct member offsets.

public static final int
M_FLWAITFORPRESENTCPUMS

The struct member offsets.

public static final int
M_FLWAITGETPOSESCALLEDMS

The struct member offsets.

public static final int
M_HMDPOSE

The struct member offsets.

public static final int
M_NFRAMEINDEX

The struct member offsets.

public static final int
M_NNUMDROPPEDFRAMES

The struct member offsets.

public static final int
M_NNUMFRAMEPRESENTS

The struct member offsets.

public static final int
M_NNUMMISPRESENTED

The struct member offsets.

public static final int
M_NNUMVSYNCSREADYFORUSE

The struct member offsets.

public static final int
M_NNUMVSYNCSTOFIRSTVIEW

The struct member offsets.

public static final int
M_NREPROJECTIONFLAGS

The struct member offsets.

public static final int
M_NSIZE

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
CompositorFrameTiming(long address, ByteBuffer container)

public
CompositorFrameTiming(ByteBuffer container)

Creates a CompositorFrameTiming instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public static CompositorFrameTiming
calloc()

Returns a new CompositorFrameTiming instance allocated with memCalloc.

public static CompositorFrameTiming.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new CompositorFrameTiming.Buffer instance allocated with memCalloc.

public static CompositorFrameTiming
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new CompositorFrameTiming instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static CompositorFrameTiming.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new CompositorFrameTiming.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static CompositorFrameTiming
callocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static CompositorFrameTiming
callocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static CompositorFrameTiming.Buffer
callocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static CompositorFrameTiming.Buffer
callocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
protected CompositorFrameTiming
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static CompositorFrameTiming
create()

Returns a new CompositorFrameTiming instance allocated with BufferUtils.

public static CompositorFrameTiming
create(long address)

Returns a new CompositorFrameTiming instance for the specified memory address.

public static CompositorFrameTiming.Buffer
create(int
the buffer capacity
capacity
)

Returns a new CompositorFrameTiming.Buffer instance allocated with BufferUtils.

public static CompositorFrameTiming.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a CompositorFrameTiming.Buffer instance at the specified memory.

public static CompositorFrameTiming
createSafe(long address)

Like create, but returns null if address is NULL.

public static CompositorFrameTiming.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public float
m_flClientFrameIntervalMs()

time between calls to WaitGetPoses

public float
m_flCompositorIdleCpuMs()

time spent waiting for running start (application could have used this much more time)

public float
m_flCompositorRenderCpuMs()

time spent on cpu submitting the above work for this frame

public float
m_flCompositorRenderGpuMs()

time spend performing distortion correction, rendering chaperone, overlays, etc.

public float

Returns:

the value of the m_flCompositorRenderStartMs field.
m_flCompositorRenderStartMs
()

public float

Returns:

the value of the m_flCompositorUpdateEndMs field.
m_flCompositorUpdateEndMs
()

public float

Returns:

the value of the m_flCompositorUpdateStartMs field.
m_flCompositorUpdateStartMs
()

public float
m_flNewFrameReadyMs()

second call to Submit

public float

Returns:

the value of the m_flNewPosesReadyMs field.
m_flNewPosesReadyMs
()

public float
m_flPostSubmitGpuMs()

additional time spent rendering by application (e.g. companion window)

public float
m_flPresentCallCpuMs()

time blocked on call to present (usually 0.0, but can go long)

public float
m_flPreSubmitGpuMs()

time spent rendering the scene (gpu work submitted between WaitGetPoses and second Submit)

public float
m_flSubmitFrameMs()

time spent in Submit (not near-zero indicates driver issue)

public double
m_flSystemTimeInSeconds()

Absolute time reference for comparing frames.

public float
m_flTotalRenderGpuMs()

time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work

public float
m_flWaitForPresentCpuMs()

time spent spin-waiting for frame index to change (not near-zero indicates wait object failure)

public float

Returns:

the value of the m_flWaitGetPosesCalledMs field.
m_flWaitGetPosesCalledMs
()

public TrackedDevicePose
m_HmdPose()

pose used by app to render this frame

public int

Returns:

the value of the m_nFrameIndex field.
m_nFrameIndex
()

public int
m_nNumDroppedFrames()

number of additional times previous frame was scanned out

public int
m_nNumFramePresents()

number of times this frame was presented

public int
m_nNumMisPresented()

number of times this frame was presented on a vsync other than it was originally predicted to

public int

Returns:

the value of the m_nNumVSyncsReadyForUse field.
m_nNumVSyncsReadyForUse
()

public int

Returns:

the value of the m_nNumVSyncsToFirstView field.
m_nNumVSyncsToFirstView
()

public int

Returns:

the value of the m_nReprojectionFlags field.
m_nReprojectionFlags
()

public int
m_nSize()

Set to sizeof( Compositor_FrameTiming )

public static CompositorFrameTiming
malloc()

Returns a new CompositorFrameTiming instance allocated with memAlloc.

public static CompositorFrameTiming.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new CompositorFrameTiming.Buffer instance allocated with memAlloc.

public static CompositorFrameTiming
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new CompositorFrameTiming instance allocated on the specified MemoryStack.

public static CompositorFrameTiming.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new CompositorFrameTiming.Buffer instance allocated on the specified MemoryStack.

public static CompositorFrameTiming
mallocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static CompositorFrameTiming
mallocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static CompositorFrameTiming.Buffer
mallocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static CompositorFrameTiming.Buffer
mallocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static float
public static float
nm_flCompositorIdleCpuMs(long struct)

Unsafe version of m_flCompositorIdleCpuMs.

public static float
public static float
public static float
public static float
public static float
public static float
nm_flNewFrameReadyMs(long struct)

Unsafe version of m_flNewFrameReadyMs.

public static float
nm_flNewPosesReadyMs(long struct)

Unsafe version of m_flNewPosesReadyMs.

public static float
nm_flPostSubmitGpuMs(long struct)

Unsafe version of m_flPostSubmitGpuMs.

public static float
nm_flPresentCallCpuMs(long struct)

Unsafe version of m_flPresentCallCpuMs.

public static float
nm_flPreSubmitGpuMs(long struct)

Unsafe version of m_flPreSubmitGpuMs.

public static float
nm_flSubmitFrameMs(long struct)

Unsafe version of m_flSubmitFrameMs.

public static double
nm_flSystemTimeInSeconds(long struct)

Unsafe version of m_flSystemTimeInSeconds.

public static float
nm_flTotalRenderGpuMs(long struct)

Unsafe version of m_flTotalRenderGpuMs.

public static float
nm_flWaitForPresentCpuMs(long struct)

Unsafe version of m_flWaitForPresentCpuMs.

public static float
nm_flWaitGetPosesCalledMs(long struct)

Unsafe version of m_flWaitGetPosesCalledMs.

public static TrackedDevicePose
nm_HmdPose(long struct)

Unsafe version of m_HmdPose.

public static int
nm_nFrameIndex(long struct)

Unsafe version of m_nFrameIndex.

public static int
nm_nNumDroppedFrames(long struct)

Unsafe version of m_nNumDroppedFrames.

public static int
nm_nNumFramePresents(long struct)

Unsafe version of m_nNumFramePresents.

public static int
nm_nNumMisPresented(long struct)

Unsafe version of m_nNumMisPresented.

public static int
nm_nNumVSyncsReadyForUse(long struct)

Unsafe version of m_nNumVSyncsReadyForUse.

public static int
nm_nNumVSyncsToFirstView(long struct)

Unsafe version of m_nNumVSyncsToFirstView.

public static int
nm_nReprojectionFlags(long struct)

Unsafe version of m_nReprojectionFlags.

public static int
nm_nSize(long struct)

Unsafe version of m_nSize.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate