版本:Unity 6 (6000.0)
语言英语
  • C#

FrameDataView.GetGfxResourceInfo

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接纳所有提交,但我们确实会阅读用户建议的每处更改,并会根据情况进行更新。

关闭

提交失败

由于某种原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public bool GetGfxResourceInfo(ulong gfxResourceId, out Profiling.FrameDataView.GfxResourceInfo info);

参数

gfxResourceId 图形资源标识符。
info 图形资源信息输出结构,包括实例 ID 和其他属性。

返回值

bool 如果该资源存在于帧中并且信息可用,则返回 true。

描述

获取给定图形资源标识符的信息。

使用此函数可在 Profiler 捕获中检索与图形资源关联的 Unity 对象的相关信息。在渲染线程中,Profiler 捕获可关联到表示纹理、渲染纹理、网格资产或其他图形资源的图形资源。此信息包含在样本元数据中;可使用 RawFrameDataView.GetSampleMetadataAsIntHierarchyFrameDataView.GetItemInstanceID 函数检索此元数据。

using UnityEditorInternal;
using UnityEditor.Profiling;

public class Example { public static string GetGfxResourceName(int frame, ulong gfxResourceId) { using (var frameData = ProfilerDriver.GetRawFrameDataView(frame, 0)) { if (frameData.GetGfxResourceInfo(gfxResourceId, out var info)) { if (frameData.GetUnityObjectInfo(info.relatedInstanceId, out var objectInfo)) return objectInfo.name; } return "N/A"; } } }