// iddcx.h
struct IDDCX_FRAME_STATISTICS {
UINT Size;
UINT PresentationFrameNumber;
IDDCX_FRAME_STATUS FrameStatus;
UINT ReEncodeNumber;
UINT FrameSliceTotal;
UINT CurrentSlice;
UINT64 FrameAcquireQpcTime;
UINT FrameProcessingStepsCount;
IDDCX_FRAME_STATISTICS_STEP *pFrameProcessingStep;
UINT64 SendStartQpcTime;
UINT64 SendStopQpcTime;
UINT64 SendCompleteQpcTime;
IDDCX_FRAME_STATISTICS_FLAGS Flags;
UINT ProcessedPixelCount;
UINT FrameSizeInBytes;
};
View the official Windows Driver Kit DDI referenceNo description available.
The IDDCX_FRAME_STATISTICS structure provides information about the current frame being processed.
SizeTotal size of this structure, in bytes.
PresentationFrameNumberThe frame number provided in a prior call to IddCxSwapChainReleaseAndAcquireBuffer (or IddCxSwapChainReleaseAndAcquireSystemBuffer).
FrameStatusAn IDDCX_FRAME_STATUS value that indicates the overall status of processing this frame.
ReEncodeNumberA zero-based number to indicate the number of times the same frame has been encoded and sent. Re-encodes can be the result of the OS providing the same frame and frame number to the driver to encode or the driver having to re-encode outside of the normal OS presentation to satisfy the protocol.
FrameSliceTotalThe number of slices the driver processes the frame in. If slices are not used, then this should be set to the value one.
CurrentSliceThe zero-based slice number being reported. If slicing is not supported, then the driver should always set this to the value zero.
FrameAcquireQpcTimeSystem QPC time at which the driver acquired the buffer from the OS.
FrameProcessingStepsCountThe size of the frame step array pointed to by pFrameProcessingStep.
pFrameProcessingStepAn array of IDDCX_FRAME_STATISTICS_STEP structures that describe the frame processing steps the driver performed.
SendStartQpcTimeMarks the time when the driver started transmission for this slice to the device. SendStartQpcTime marks the time the driver started calling the transmit APIs, not when the data actually starts being transmitted.
SendStopQpcTimeMarks the time when the driver stopped transmission for this slice to the device. SendStopQpcTime marks the time the driver stopped calling the transmit APIs, not when the data actually stops being transmitted.
SendCompleteQpcTimeMarks the time when the send was reported as complete by the OS. This is an optional time stamp that can be used if the driver uses an asynchronous transmit API and a completion routine. In the event the driver does not have an asynchronous completion routine, this value should be set to zero.
FlagsA IDDCX_FRAME_STATISTICS_FLAGS value that indicates how the frame was altered by the driver.
ProcessedPixelCountThe total number of pixels processed in this frame.
FrameSizeInBytesTotal size of the data sent to the device for this frame. This value includes all the slices.
IddCxSwapChainReleaseAndAcquireBuffer
IddCxSwapChainReleaseAndAcquireSystemBuffer