By colossal waste of money I meant the amount of money you'd have to invest in the PC and the small amount of big budget games doesn't make it a good investment for the majority of people out there.
Not really, you don't need official ports for everything, like I said above, a huge amount of games is playable in Wine. So getting high end PC is a worth while investment if you want to play on Linux.
Besides your point of needing good hardware to run games that run poorly on Linux compared to Windows is not exactly a great selling pitch for the system.
It's not about the system. If you take a non native game and perform static binary translation, it's always expected to have some performance overhead, no matter what system it's translating to, that's just how it is. And translating graphics code has its own specialty, since graphics pipeline feeds the GPU, not the CPU. So it's using its own logic.
You are probably familiar with shaders, that's how GPU is programmed essentially. Shaders are compiled into some intermediary bytecode representation when shipped with games (DXBC in case of DirectX and SPIR-V in case of Vulkan). That's needed to allow them to run on any GPU, since you can't just ship binary machine code for them - each GPU has its own architecture and instruction set. That bytcode is translated at runtime into GPU machine code by the compiler that's part of the graphics backend in Direct3D and Vulkan drivers.
If you follow one pipeline, optimizations line up as developers expected. But if you take DXBC and at runtime translate into SPIR-V and then into machine code, some optimization potential is lost. That's why it's always better when developers who are porting, have access to the source code not just for the engine, but for shaders as well. They can compile it into optimal SPIR-V at the development stage and get performance which is as good as on Windows.
Anyway, Wine itself is a wonderful tool to play games that don't have native ports (especially together with dxvk and vkd3d), and some performance overhead is completely tolerable to have a playable result. It's not as big as you think.