6

OpenGL使用win32 api时是否需要删除HDC和HRC?我认为 Win32API 会在窗口关闭时销毁它们?

澄清:HRC 是 HGLRC 对象。

4

3 回答 3

7

有必要吗”?如果您的进程在关闭窗口后自行终止,则不会。Windows 将清理这些类型的未完成句柄。

你应该这样做吗?绝对地。您应该始终清理您在应用程序中使用的对象。把东西丢在地上让操作系统清理不是一个好习惯。如果没有其他原因,您可能想在关闭旧窗口后创建一个新窗口。在这种情况下,你有这个垃圾 HGLRC 占用了宝贵的资源。

于 2013-04-02T00:27:32.887 回答
0

除了关闭窗户之外,您还必须担心其他事情。例如,阅读http://blogs.msdn.com/b/oldnewthing/archive/2013/03/06/10399678.aspx,它表示对象的所有者在将其选入 DC 时无法将其删除。

于 2013-04-01T18:12:33.760 回答
0

尽快释放(不要删除)HDC。我已经完成了 OpenGL,所以我不完全知道 HGLRC 的用途,但我怀疑它的处理方式类似。获取句柄很便宜;坚持下去可能会有问题。

于 2013-04-01T18:14:50.907 回答