Why do we assume raytracing is just for games ? And since gamers prefer higher fps over visual quality , therefore raytracing should be a lower priority for Apple ?
Considering games that support Ray tracing would generally run slower on macs anyway compared to PCs, even with raytracing switched off ? So that Linus poll is an irrelevant example in the land of Macs (considering, again, that Macs have NEVER been a first choice for gamers, and Apple never pushed it’s Mac offerings as such ?)
Switching off ray tracing … well a far more comprehensive data would be available to the game hardware manufacturers, game engines, game publishers etc. Yet AMD and Intel are trying to push their solutions at the hardware level to catch-up with Nvidia…. Why ? Just marketing?
Apart from whether ray tracing does or does not have multiple uses, there is a separate question, namely whether ray tracing HARDWARE has separate uses.
Think about a GPU core. There's a small amount of scheduling logic, a whole lot of memory logic, and a whole lot of FMA logic.
The configuration is (more or less) balanced if you are engaged in graphics work, where a certain amount of FPU computation is balanced with a constant stream of accesses to memory.
But for other sorts of GPGPU work the configuration is less balanced. For example if you are engaged in massive graph processing, mostly what you care about is the memory side, the ability to launch vast numbers of "in process" memory operations, and continually switch between them as items are returned from memory.
So consider now "ray tracing hardware". For nV this is essentially two very different pieces of hardware: a constantly active memory machine that is walking the BVH tree, some frequently accessed simple logic that tests against the bounds of each tree node then accesses the next level in the tree, and some infrequently accessed special purpose logic that performs a triangle test at the very end.
Decouple these into separately useful hardware...
So imagine that you augment a shader core not with a ray tracing engine but with better memory traversal skills. Right now traversing a tree (without RT hardware) means each access to memory pauses a warp and its entire functionality (including, most importantly, all its registers). Imagine instead a separate core (kinda like a Texture unit) with much smaller state (only a few registers) that can be given a simple program to walk a tree (or list or nested hashtables or whatever). We don't give this core an FP unit, just a simple integer unit and maybe FP comparisons.
This can be programmed and can act like a "ray tracing" core, giving the advantages of nVidia (where ray tracing and shading happen in parallel), but it can also be used for many other high-bandwidth tasks. It's cheaper in area than a full core, so it's not a ridiculous area increase to add it to each existing core, and thus get full-time on-going use of the memory machinery, but WITHOUT forcing each warp to grind to a halt on a memory access. (Or, to put it differently, providing a whole lot of much cheaper "memory-only" warps, say 16x as many, that can be active simultaneously with the "computational" warps.)
nVidia seems to (so far) have dedicated ray tracing hardware which they see as only of interest to games, and which they are specializing ever more in a game-ward direction (eg the mixed-opacity or micro-facet stuff in the 2nd generation).
AMD seems to do some weird low-performing thing I don't understand on the Texture engines.
But Apple has the chance (we shall see...) to do this correctly, building a generic and reusable "complex data structure traversal engine" which just happens to have, as one of its use cases, BVH tree traversal.