Следовательно, алгоритм обработки шейдеров был другой - видимо какой-то реалтаймовый интерпретатор.
Нет, был все тот же рекомпилятор, просто с меньшим функционалом и меньшей поддержкой игр и большей скоростью по этой же причине.
во время компиляции лично у меня идёт чудовищная нагрузка на процессор
Естественно она идет, при разработке драйверов видеокарт в нвидии и амд и не думали, что компиляцию шейдеров будут использовать каким либо другим образом кроме как заранее перед загрузкой сцены/уровня пк игры. Никто и не думал, что что появятся эмуляторы консолей 7 далее поколений и что шейдеры нужно будет компилировать непрерывно по ходу процесса с милисекундым временем выполнения.
Я не знаю всех тонкостей, но пока этот процесс полностью не переведут на GPU, не сделают асинхронным или не отведут ему пониженный приоритет - полагаю, ничего так и не изменится.
На гпу не переведут, гпу такие операции выполнять тупо не умеет, с асинхронностью - аналогично погоды не сделает, поскольку пока шейдер не скомпилируется графики не будет, (причем никакой, это вам не куб , где благодаря FFP иширука сделал пропуск генерации шейдеров на один кадр, в случае с RSX он тупо вообще ничего на экран не рисует, посколько вся графика (даже просто одноцветный треугольник на экране) полностью рисуется шейдерами), а компилироваться он станет только когда игра захочет использовать его в GPU.
К сожалению, библиотеки crystalsphere.dll и babavanga.dll еще не разработаны и эмулятор никак не может знать заранее откуда и из какого файла на диске конкретная игра загрузит файлы с шейдерами и в какой момент она захочет их использовать.
Так что остается надеяться и страдать.