Try with F1 (without rendering GUI). U can also test with shift+F3 and you'll see pie chart and details how many percentages is used. GameRenderer is probably most time-consuming. If it has prefix [1] you can press 1 and you will see time spent for GUI and for level (GUI should be most too - chat rendering is not optimized). It's also without optifine, with optifine I think it could be better. On GTX 1050Ti & i7-8700k without Optifine I've about 230 fps, with about 460 fps (on the same PC, the same world and Minecraft settings, with F3 enabled and with GUI enabled).
PS. Latest optifine (pre25) for 1.17 crashes on SPX: https://github.com/sp614x/optifine/issues/5739
Thanks for the addition tips. I got side-tracked replicating your json file for 1.17.1 so hadn't played with the settings much yet. It does seem faster without the GUI, but also seems a bit faster just without having all the F3 details up.
I am curious why you recommend ditching most of the java arguments... have you found them to impact performance?
I've read for some the pre-release OptiFine for 1.17 isn't always faster, so I guess we'll see how the final release turns out.