我只是好奇:我有一个 Windows dll,它使用 openGL 进行一些渲染/绘图工作,然后将结果返回给应用程序。
如果代码不是在用户模式下运行而是在内核模式下运行会更快吗?(没有中断和更高的优先级)
在内核模式下运行不会让您获得更高的优先级,也不会摆脱中断。除非您要求,否则大多数情况下您也可以在用户模式下执行此操作。
您将面临的最大问题是 openGL 在内核模式下根本不可用。它是一个用户模式 API,它与设备驱动程序对话以实现其某些逻辑,但许多逻辑完全在用户模式下实现。并不是每个 openGL API 都有一个系统调用。
即使你能克服这个问题(你不能),正如 Erbureth 提到的那样,安全风险将是巨大的,调试它将是一场噩梦(你曾经使用过内核模式调试器吗?)并且安装它需要管理员权限。
所以总而言之,不 - 这是不可能的。