![](/img/trans.png)
[英]Is it possible to draw a circle made up of triangles with DirectX 3D 11?
[英]How to draw D3DXFont using D3DXSprite in DirectX 9 as fast as possible?
我有很多文字要畫。 如果我用第一個參數為NULL調用D3DXFont :: DrawText,則性能會很差。
我聽說將D3DXFont與D3DXSprites結合使用會使事情變得更快。
我的應用程序需要如何繪制字符串? 它使用偽陰影使每個字符串不正確。 這意味着我將每個字符串以黑色繪制4次:x + 1,y + 1 x-1,y + 1 x-1,y-1 x + 1,y-1和1次以實際顏色繪制。 它使始終可讀的字符串看起來非常漂亮。 我什至切換到像素字體以加快渲染速度。
現在用陰影(ShadowString)調用該字符串。
我每畫一幀都會在屏幕上繪制256個ShadowString(最壞的情況)。
我想知道如何使用子畫面(或任何其他技術)來盡可能快地繪制這些字符串)。 現在我的應用程序速度為30 FPS。 但我的目標是120分鍾。 而問題僅在於文本繪圖。
當然,您必須在進行任何優化之前就對應用程序進行概要分析,但是D3DXFont
是, D3DXFont
/ D3DXSprites
和“ fast”是互斥的概念。 如果它們不合適,那就不要使用它們。 使用第三方庫或制作自己的精靈/字體渲染器。
最近,我在這里回答了如何操作: 在DirectX 9中如何在沒有D3DX9的情況下繪制線條和字體? 此外,Google用於“精靈字體”,“精靈批處理”,“紋理圖集”,“ TTF渲染”。 如果您熟悉API(尤其是頂點緩沖區和紋理),這並不是很難,而且Web上有很多示例。 不要猶豫,尋找D3D11或OpenGL示例,原理是相同的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.