Vulkan:转储当前分配的对象
Vulkan: dump currently allocated objects?
每当 Vulkan 中的对象被销毁,并且启用了VK_LAYER_LUNARG_object_tracker
层并安装了调试报告时,它将报告 destroy 调用并通过回调给出剩余对象的总数。例如:
INFO: [OBJTRACK]: OBJ_STAT Destroy VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT obj 0xcf43130 (217 total objs remain & 1 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT objs).
有没有办法获取有关仍在分配的对象的信息?
编辑:检查object_tracker层(https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/layers/object_tracker.h)的来源,似乎有一个原型 objTrackGetObjectsOfTypeCount
,但它们似乎在任何地方都没有实现。此功能是否以某种方式可访问?
Vulkan 的构建具有最小的驱动程序开销,因此驱动程序尽可能少地执行操作,并且没有这样的内置功能。获取有关现有对象信息的唯一方法是自己跟踪对象或编写一个图层来为您执行此操作。
似乎没有任何现有的层,这些功能。要编写验证层,您可能需要查看现有的 Vulkan 验证层。
相关文章:
- 使用操作重载对象重新分配对象
- 静态分配对象的值初始化
- C++ 将抽象类型的动态分配对象传递给函数并存储在向量中
- 堆分配对象中的堆栈对象在 c++ 中在哪里分配?
- 在 c++ 的构造函数中分配对象向量时出错
- 动态分配对象中的字段-动态分配更好还是静态分配更好?C++
- 操作后通过运算符分配对象
- 如何捕获源自静态分配对象的构造函数的异常?
- 在C++中,当重新分配对象时,为什么构造函数在析构函数之前触发?
- 如何使用每个对象的单个构造函数参数动态分配C++对象数组?
- 将动态分配对象传递到 boost::any 构造函数中
- 混合指向已分配对象和作用域对象的指针
- C 删除指向动态分配对象的指针
- 有关动态分配对象的问题
- 类的堆分配对象是否在其作用域之后但在 C++ 中调用其析构函数之前处于活动状态
- C++ 中的黑白堆分配对象和堆栈分配对象的性能差异
- 是隐式创建的默认构造函数,负责分配对象内存
- 如何删除用于动态分配对象的智能指针
- 分配对象数组时如何初始化每个对象
- 用于堆栈分配对象的C++虚拟析构函数内联