LunarG / gfxreconstruct

Graphics API Capture and Replay Tools for Reconstructing Graphics Application Behavior
https://vulkan.lunarg.com/doc/sdk/latest/linux/capture_tools.html
MIT License
407 stars 117 forks source link

Usage questions. #1010

Closed cheako closed 1 year ago

cheako commented 1 year ago

What are some game titles known to work?

Where can I ask questions in chat?

Is this the same lunarg that works with Vulkan, I had a separate problem with writing a vulkan layer: where can I ask questions or share notes about that? I think the next major version of vulkan should have a change, attempting to cache pipelines is impossible because when creating a renderpass it's unknown what pipeline it would go with. Something like the ability to swap two renderpasses or something would be useful. https://gitlab.com/cheako/vk-layer-cache

andrew-lunarg commented 1 year ago

Since trace and replay of Vulkan applications is quite inherently tricky any list of applications *known to work" would come with a huge dose of YMMV.

Chat Options:

https://discord.com/invite/vulkan https://www.reddit.com/r/vulkan/

The future of Vulkan is determined through Khronos. If you would like to be involved, there are more options listed on their page for Vulkan: https://www.vulkan.org/#join-our-community. To have a substantial voice your company, if you own or are a part of one, could join Khronos: https://www.khronos.org/members/.

cheako commented 1 year ago

I'm not looking for a complete list, just a couple where I might have one I could try out.

Also the docs I've skimmed through make it sound like this process should just work.

andrew-lunarg commented 1 year ago

To verify that you are all set up and ready to go I'd start with vkcube and vulkaninfo.

Our users usually know what applications they want to trace and replay because of a pressing business/project need and then do the work to make that happen.

This has raised a good point though so thank you: we probably should select one of the cross-platform open source games to add to our testing so we have that to point people at as a larger example application.

cheako commented 1 year ago

No Man's Sky: This I tried and got 1/5fps on the splash scrrens and never got to main menu. Patron: This I got that VkFence issue.

How about Dyson Sphere Program or City Skylines?

bradgrantham-lunarg commented 1 year ago

Hi, @cheako!

I don't think we've tried Patron, Dyson Sphere Program, or City Skylines. We have many working captures running in our test farm but we typically don't discuss those on our public repo.

In your 1/5fps on the splash screen, did you build Debug or Release? Release is much faster and should run more-or-less interactively.

cheako commented 1 year ago

That was on release download, ergo I didn't build it.

bradgrantham-lunarg commented 1 year ago

That was on release download, ergo I didn't build it.

Thanks. That is surprising. How did you set up capture for No Man's Sky?

cheako commented 1 year ago

I put the so and json files where vulkan would find them, I think I changed the json file so it referenced the new path. Then I used export VK_INSTANCE_LAYERS="VK_LAYER_LUNARG_gfxreconstruct".

Edit: Stem's "pressure vessel" is annoying in this regard.

cheako commented 1 year ago

I'm over in #Begginer on discord we should continue this discussion there if having more questions.

bradgrantham-lunarg commented 1 year ago

For No Man's Sky, please try setting the environment variable GFXRECON_PAGE_GUARD_EXTERNAL_MEMORY to true, and see if that improves capture performance.

cheako commented 1 year ago

I think I can avoid testing NMS altogether, but thanks for the suggestion... I saw those options documented and just prayed I'd never have to use them. One option is to print a message when it's detected that this may be needed.