海豚模拟器 - 超级着色器:不可能问题的荒谬解决方案
2024-05-17
本文介绍了海豚模拟器长期存在的一个问题:着色器编译卡顿。由于GameCube/Wii的GPU架构限制,模拟器需要实时将游戏使用的着色器配置转换为现代GPU可执行的代码,导致游戏运行过程中出现卡顿。文章详细解释了这个问题的根源,并探讨了多种解决方案,包括预先生成所有着色器、预测游戏所需的着色器、共享着色器和异步着色器编译。最终,开发者采用了超级着色器方案,通过在GPU上运行一个解释器来模拟GameCube/Wii的渲染流程,从而避免了实时编译着色器。文章还介绍了超级着色器的开发历程、混合模式超级着色器以及各种GPU驱动程序和API的局限性。
48