In my experience, resolution and texture pack (unless it's really high resolution, maybe?) don't seem to impact frame rate as much as render distance and shader packs do. Or, maybe I'm just at that much of a CPU bottleneck at the higher render distances (I can use 1920 x 1200 or 4k and my frame rates are the same at a render distance of 64). There's also the luck of the draw with different Minecraft versions seemingly randomly performing wildly different from one to the next, moreso when adding OptiFine into the mix I had awful performance with 1.8 back in those days, which kept me away from it initially (same with 1.7, though not as bad). The same has kept me off 1.13, but now 1.14 has been seeming to actually perform around parity or even better than 1.10 does for me. I've been kept on 1.10 for another issue though, sadly.
I don't play with shader packs on the regular (and that is fine since I have grown accustomed to the game without them that I don't adjust to it with them), but they kill performance for me whenever I try. I have to tone render distance "down" to like 16 to 24 or so to get smooth frame rates. That is just how they are. Shaders (lighting and shadows) are typically performance intensive video game visual options, and so are long render distances in vanilla Java Minecraft. Trying to do both is asking for performance demands, and I am surprised you are getting as good (relatively) of results as you are in that case.
I do love playing with high render distances, but above the mid to high 30s seems unattainable for me, so I play with between 32 and 38 or so regularly (Core i5 2500k overclocked to 4GHz and GTX 1060 6 GB at 1920 x 1200 with a lot of anti-aliasing; this is on 1.10.2 OptiFine through Forge). With 1.14, a render distance of 48 seems like it could be possible, if only I'd know since it has a chunk loading issue.