For years, Minecraft ran on the legacy fixed-function pipeline (OpenGL 1.0). Shaders required the "Shaders Mod" by daxnitex (later maintained by Karyonix). When OptiFine eventually absorbed the shader functionality, the performance landscape changed.