Thanks for taking the time to reply Johannes.
The app is a just a harness for a vulkan library being developed for our civil engineering package. The crash is
in graphics only logic.
The timing theory is a bit of a guess but is based on a couple of things. The crash is a bit random but
I am generating about 400 fps so I thought a resource problem would occur sooner. Also I have just had to
replace my old Intel, rather slow, motherboard with a newer, much faster, AMD board and I did not see this problem
before then.
I am running Windows 10 64bit.
It is hard to post code as I am unsure exactly where the crash is happening.
My general logic maybe be the cause. My renderer is split into tasks such as tin, grid tins, polylines, points, text, pipes, culvates etc.
Each part builds its own command buffer and submits it then flags a fence on completion. Then I wait on all the
fences before presenting the frame buffer. This logic is not currently threaded but that is the long term plan. I am thinking
that I maybe should build these commands as secondary commands and have a thread just to manage the submit.
Because this is not a game, the real applicaion does not continually update the frame only if something changes as there is
no animation.
The project being rendered is extremely large using all of my 4K graphics card plus several KB of the 16K host memory.
I use all the standard validation layers and I have tried to use the new synchronization layer but the documention on that is misleading
saying to set VK_DEBUG_REPORT_ERROR_BIT_EXT with vkCreateDebugUtilsMessengerEXT which you cannot do so I put in the logic as best as I could
but I don’t know if it is actually active. (My next task to check).
RenderDoc crashes when I try to load this project perhaps because of the size of the data. It works with smaller test cases but they do not generate the
computer crash either.
Thanks for the link to Sasha’s tutorial that is new to me.
I use Visual Studio with C++.
In general I use RAII logic, STL templates, no smart pointers and rarely don’t have new/delete in wrapper classes.
I consume a lot of memory when the app first starts but it does not seem to increase after that.