为什么 wguseFontBitmaps 在某些计算机上消耗太多内存?

问题描述 投票:0回答:1

我正在 OpenGL 中创建一个游戏,它在加载时加载整个 Arial Unicode MS 字体。该程序平均使用。我的计算机上有 10 兆内存(操作系统是 WinXP SP2)并且运行没有问题,但是当我将程序移动到我的笔记本电脑(使用 Vista)时,wglUseFontBitmaps 挂起并流畅地分配内存并且永远不会返回。这个问题最近发生了,我不知道为什么,以前从未遇到过这样的问题。为什么 wglUseFontBitmaps 会这样做以及如何修复它?

更新:我尝试了旧版本,它可以运行,但消耗了 400megs 内存(所以这不是一个新问题)

c++ c winapi opengl graphics
1个回答
1
投票

您尝试使用 wglUseFontBitmaps() 生成多少个字形显示列表?你能向我们展示你的召唤吗?也许 Vista 正在尝试一次性完成所有 60000 多个字形,而 XP 正在进行某种按需构建?

我在 FreeType2 和 MS Arial Unicode 方面运气不错,尽管确实需要一些时间来跟上 API 的速度。 本教程可以用C++实现,效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.