Valid point, but quite outdated review. Afterall we're talking about DX12 which gives devs the control , what to split, and when. Before it was done by driver.
Also keep in mind that you don't need to split everything equally (you can't). So you can't get as good scaling as you get with AFR. But you do get the smoothness, and benefit of adding cards that ain't equally as fast.
It's not easy to do, but deffinately worth the effort.
DX12 doesn't really change anything. Devs have more control but they can't resolve the fundamental issue that you don't know how long a portion of the view port will take to render until it has been rendered and you measure it.
For example in a Doom 3 corridor shooter type games you have a horizontal split, both ceiling and floors are equally complex so the split it in the middle. A big monster crawls over the ceiling. In the basic form of SFR the driver would detect that the upper half of the screen is taking longer to render to will start sliding the split point up, but it has no idea how far will create equal load so can only shift a little. Next frame it is still taking longer so it shifts again, again, and again catching up but not without signficiant lag in the load equalizing. A split second later the monster jumps to the floor and now the work load is massivley screwed again and the lower GPU is being over loaded.
If the Dev is in control then they can know that there is a complex monster with loads of fancy fragment shader on the ceiling to render so the split needs to be higher up. The problem is again the developer wont really know where that split should be because they can only really guess how much longer the monster will take to render vs the floor, and the timing difference will highly depend on the GPU as well and a load of parameters of the shader such as lighting conditions. Its a complex non-linear optimization problem the devs simply wont resolve. You can make the scenario arbitrarily complex, e.g. a different monster with different shaders, different tessellation, different lighting etc. now crawls along the floor and something else crawls up the left wall.
You basically continuously drop back to single GPU performance, but with increased lag and jitteryness.
the 3DFX scanline mode worked better because there was an even load distribution but that only worked for the basic texturing GPUs were capable of then, and all Geometry was done on the CPU (3DFX's downfall and Nvidia's killer technology). With the modern rendering pipeline that gets very inefficient.
AFR is much simpler to get right and the only way to consistently get over 80% scaling and a smoother gaming experience.