Multithreading 如何防止OpenGL应用程序绘图?

Multithreading 如何防止OpenGL应用程序绘图?,multithreading,opengl,catia,Multithreading,Opengl,Catia,如何防止外部OpenGL应用程序(没有可用的源代码)像GDebugger那样绘图 问题是达索Catia在五个(!)小时内打开复杂模型,因为它们是在加载过程中渲染的 单击此应用程序的边框并按住鼠标按钮时,渲染过程将停止,以便模型文件的打开速度加快10倍—它将在20分钟内完成 我将非常感谢任何提示(编程语言不重要) 致以最良好的祝愿 David我认为各种GL调试器所做的是替换OpenGL dll以拦截OpenGL调用。我想您可以提供自己的“虚拟”OpenGL dll,其中所有例程基本上都是“无操作的

如何防止外部OpenGL应用程序(没有可用的源代码)像GDebugger那样绘图

问题是达索Catia在五个(!)小时内打开复杂模型,因为它们是在加载过程中渲染的

单击此应用程序的边框并按住鼠标按钮时,渲染过程将停止,以便模型文件的打开速度加快10倍—它将在20分钟内完成

我将非常感谢任何提示(编程语言不重要)

致以最良好的祝愿


David

我认为各种GL调试器所做的是替换OpenGL dll以拦截OpenGL调用。我想您可以提供自己的“虚拟”OpenGL dll,其中所有例程基本上都是“无操作的”。

我认为GDebugger使用自定义版本的opengl32.dll。应用程序加载它,因为它位于启动目录(或拦截LoadLibrary调用)中。该库中的每个函数都可以在执行对标准opengl32.dll的调用之前执行额外的代码,这允许对应用程序进行完全控制。但是,如果要制作这样一个代理库,必须实现所有标准的OpenGL函数(所有条目都必须到位),尽管其中大多数都是简单的包装器。

如果您在win32上,请获取其副本。它可能已经有了一个退出选项;如果没有,那么添加也不难