在远程桌面连接尝试中调整 OpenGL 渲染上下文
我们有一个应用程序,它在子窗口中使用 OpenGL 渲染上下文来显示大位图。然而,当用户远程连接到运行此应用程序的盒子时,openGL 显示器会停止工作,很可能是由于纹理分辨率降低。
虽然我们可以使用 WTS_REMOTE_CONNECT 检测远程桌面连接的开始/结束,但在尝试确定新的最大纹理分辨率时,openGL 上下文不会切换到虚拟驱动程序。
完全重新启动 openGL 子线程会挂在 ChoosePixelFormat 上,直到我再次在本地登录后才会返回,否则这将是“糟糕”的解决方案。
We have an application which uses an OpenGL render context in a subwindow to display a large bitmap. However, when a user remotely connects to a box running this app, the openGL display stops working, most likely due to the reduced texture resolution.
While we can detect the remote desktop connection starting/ending using WTS_REMOTE_CONNECT, the openGL context does not switch to the virtual driver when trying to determine the new max texture resolution.
Completely restarting the openGL subthread hangs on ChoosePixelFormat, this wont return until I am logged in locally again, otherwise this would be the "bad" solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看来应用程序写得不好。
负责检测上下文更改并相应地做出反应的代码不存在或存在错误。无论如何,除非您能够访问源代码,否则您无法做太多事情。您还可以将其作为错误报告给您购买它的供应商或提供商。
It seam that application is badly written.
Code that is responsible for detecting context changes and reacting to them accordingly, do not exist or is buggy. Any way, you can not do much, unless you have access to source code. Also you can report is as a bug to vendor or provider from whom you bought it.