Version: 2022.3

BurstDiscardAttribute

class in Unity.Burst

切换到手册

描述

BurstDiscard 属性允许您通过 Burst 编译器禁止将某个方法或属性编译到本机代码中。

默认情况下,使用 Burst 编译的作业将编译将所有方法。在某些情况下,您可能会存在无法编译到本机(例如,确认有效性只在托管环境中有效或使用托管对象进行记录等)且不应在运行时执行的托管方法。在这种情况下,您可以通过 Burst 编译器使用此属性将某个方法或属性标记为不可编译。

using Unity.Burst;
using Unity.Collections;
using Unity.Jobs;
using UnityEngine;

public struct MyJob : IJob { // ...

[BurstDiscard] public void NotExecutedInNative() { Debug.Log("This is a log from a managed job"); }

public void Execute() { // The following method call will not be compiled NotExecutedInNative(); } }