# GpuPresentationEvent

`import { GpuPresentationEvent } from "destack:gpu/binding";`

Presentation event.

```ds title="GpuPresentationEvent"
export struct GpuPresentationEvent {
    surface: GpuSurfaceHandle;
    frameId: uint64;
    displayFrameId: uint64;
    result: GpuPresentationResult;
    requestedPresentAtNs: uint64;
    presentedAtNs: uint64;
    refreshIntervalNs: uint64;
    compositorLatencyNs: uint64;
    reportedAtNs: uint64;
    sequence: uint64;
    droppedCount: uint64;
}
```

[language/library/src/gpu/binding/present.ds:194:217](https://github.com/destack-sh/destack/blob/main/language/library/src/gpu/binding/present.ds#L194-L217)

## Members

### `surface: GpuSurfaceHandle`

Surface associated with this event.

### `frameId: uint64`

Surface frame identifier.

### `displayFrameId: uint64`

Display frame identifier.

### `result: GpuPresentationResult`

Presentation result.

### `requestedPresentAtNs: uint64`

Requested presentation timestamp.

### `presentedAtNs: uint64`

Actual presentation timestamp.

### `refreshIntervalNs: uint64`

Effective refresh interval in nanoseconds.

### `compositorLatencyNs: uint64`

Compositor latency in nanoseconds.

### `reportedAtNs: uint64`

Reporting timestamp in nanoseconds.

### `sequence: uint64`

Event sequence number.

### `droppedCount: uint64`

Dropped event count before this event.
