2009-02-10 92 views
1

我在OpenGL中創建一個遊戲,加載時會加載整個Arial Unicode MS字體。該程序在平均使用。我的電腦上有10兆內存(操作系統是WinXP SP2),運行時沒有問題,但是當我將程序移到我的筆記本電腦上時(使用Vista),wglUseFontBitmaps會掛起並流暢地分配內存並永不返回。這個問題最近出現,我不知道爲什麼,從來沒有這樣的問題。爲什麼wglUseFontBitmaps會這樣做以及如何解決它?爲什麼wgluseFontBitmaps在某些計算機上消耗太多內存?

更新:我嘗試過的舊版本,它運行,但吃的記憶400megs(所以它不是一個新問題)

回答

1

多少字形顯示列表你想與wglUseFontBitmaps產生()?你能向我們展示你的調用嗎?也許Vista試圖一次性完成所有60000多奇數的字形,而XP正在進行某種按需構建?

我已經與FreeType2和MS Arial Unicode運氣不錯,但它需要一些時間來加快API的速度。 This tutorial可以被C++化,效果很好。

+0

我剛裝了整個字體... 的#define UNICODEFONTSIZE 65535 ... 選擇對象(HDC,hfontArialUnicodeStuff); wglUseFontBitmapsW(hdc,0,UNICODEFONTSIZE,ListBase); ... 請注意這不會導致在XP上的任何問題。 我聽說Vista有一些OpenGL問題。這可能是其中之一。 – Calmarius 2009-02-10 19:27:52