Gdiplus::Font::Clone() 是否复制底层 TTF 数据?
Does Gdiplus::Font::Clone() duplicate the underlying TTF data?
这是在 Visual Studio 中的 C++ MFC 应用程序的上下文中。一些 windows 使用 Gdiplus。
调用 Gdiplus::Font::Clone()
是否复制了实际的 TTF 字体数据,或者只是一个管理它的小 class?
我很担心,因为当我创建许多子项 windows(按钮、标签等)时,我将指向父项的 Gdiplus::Font
的指针传递给子项,然后子项克隆它。我希望底层字体数据只是在一个位置,并且在幕后发生某种引用计数,而不是到处都是这些东西的几十个副本。
所以我尝试了这两种方法,并没有发现内存使用上的真正差异,这让我很惊讶。这似乎是 TTF 字体并没有真正被“克隆”的有力证据,而是一些管理它的小数据 classes 被克隆了。是吗?
Gdiplus::Font::Clone()
创建 Font 对象的副本(即小 class),而不是 TTF 字体数据。
这是在 Visual Studio 中的 C++ MFC 应用程序的上下文中。一些 windows 使用 Gdiplus。
调用 Gdiplus::Font::Clone()
是否复制了实际的 TTF 字体数据,或者只是一个管理它的小 class?
我很担心,因为当我创建许多子项 windows(按钮、标签等)时,我将指向父项的 Gdiplus::Font
的指针传递给子项,然后子项克隆它。我希望底层字体数据只是在一个位置,并且在幕后发生某种引用计数,而不是到处都是这些东西的几十个副本。
所以我尝试了这两种方法,并没有发现内存使用上的真正差异,这让我很惊讶。这似乎是 TTF 字体并没有真正被“克隆”的有力证据,而是一些管理它的小数据 classes 被克隆了。是吗?
Gdiplus::Font::Clone()
创建 Font 对象的副本(即小 class),而不是 TTF 字体数据。