Unity 6.3
0 онлайн 26 гостей 3 в системе
Вход

RadeonRaysContext.DestroyEvent

Declaration

public void DestroyEvent(LightTransport.EventID id);

Параметры

Параметр Описание
Идентификатор ID события для уничтожения.

Описание

Уничтожить событие с заданным ID. Вы должны вызвать это, чтобы освободить временные ресурсы, связанные с событием. Попытка использовать событие после его уничтожения, например, с помощью IDeviceContext.Wait или IDeviceContext.IsCompleted, приведет к неопределенному поведению.

using Unity.Collections;
using UnityEngine;
using UnityEngine.LightTransport;

// Create context. using var ctx = new RadeonRaysContext(); ctx.Initialize();

// Create buffer. BufferID buffer = ctx.CreateBuffer(sizeof(int) * 8, sizeof(int)); using var array = new NativeArray<int>(8, Allocator.Persistent, NativeArrayOptions.ClearMemory);

// Write to buffer and wait for completion. EventID evt = ctx.CreateEvent(); ctx.WriteBuffer(buffer.Slice<int>(), array, evt); var flushOk = ctx.Flush(); Assert.IsTrue(flushOk); var waitOk = ctx.Wait(evt); Assert.IsTrue(waitOk);

// Cleanup. After this point, we may no longer use `evt`. ctx.DestroyEvent(evt); ctx.DestroyBuffer(buffer);

Правильное использование DestroyEvent.