RenderDoc (https://github.com/baldurk/renderdoc) is another great option - it was developed by CryTek, then released for free. Now it's maintained as an open-source project, but includes most of the functionality you mentioned wanting.
- he specifically said pc so no playstation and mobile
- it's unlikely that he will be targeting xbox360 if xboxes are a maybe in the future
- his game probably needs to draw more than 5 polygons, so older gmas are out
- the non-western market (which is pretty much cis and asia) is a huge decision tree where most of the paths end up in "nobody cares about you game" and "your game has a 100% piracy rate and you gain nothing" if you don't have connections
- xbone doesn't need a separate path unless you plan to do optimizations that are likely beyond a hobbyist (can't really be discussed because nda)
- d3d12 is still in development and is currently very buggy, the tools are not on par with d3d11, and the debug layer is a mess (at least on nvidia)
So yes, d3d11 with a feature level of 10 or 10.1 sounds like a good place to start.
With Mono you can also run the GC in asynchronous mode and prevent major garbage collections from happening in the middle of your code (Mono.Runtime.SetGCAllowSynchronousMajor). It's no magic remedy, but it can help in games.
@mona2000 you're still coding DX only? Sounds like a endangered species to me. Good luck with that...
PS: Linux is also PC
Nice assumption, also incorrect; I work with both D3D and OpenGL. I know it's mind-blowing to think that somebody who works with OpenGL doesn't worship it blindly, but I can assure you it sometimes happens.
I'm interested in Vulkan for its potential to unify several platforms, and I don't like their current strategy because it looks like it's gonna lead to an even more fragmented ecosystem instead (from Windows: D3D, Linux/Mac/iOS/Android: OpenGL to Windows: D3D, Mac/iOS: Metal, Linux/Android: Vulkan). Oh well.
PS: unfortunately Linux is insignificant and will remain like that until some people don't change their destructive attitudes. Funnily enough, your endangered species threat reminds me of "Linux is the future (of desktops)", a phrase that I've been hearing for the last 25 years or so.
I would say it's the other way around, if they were shortsighted they would just have released long ago. They're holding off to get 10 different vendors to agree on compliance that fits 20 different software teams, in order to not have to redo everything again.