Sign in to follow this  
noatom

FW1FontWrapper kills fps

Recommended Posts

noatom    927
So I decided to use FW1FontWrapper for showing some text in my small game.

The function:

[source lang="cpp"]void drawText(ID3D11Device *pDevice, ID3D11DeviceContext *pContext) {
IFW1Factory *pFW1Factory;
HRESULT hResult = FW1CreateFactory(FW1_VERSION, &pFW1Factory);

IFW1FontWrapper *pFontWrapper;
hResult = pFW1Factory->CreateFontWrapper(pDevice, L"Arial", &pFontWrapper);

pFontWrapper->DrawString(
pContext,
L"Text",// String
12.0f,// Font size
100.0f,// X position
50.0f,// Y position
0xff0099ff,// Text color, 0xAaBbGgRr
0// Flags
);

pFontWrapper->Release();
pFW1Factory->Release();
}[/source]


That function gets called every time a frame is being draw!

My game usually runs at 300+ fps,with that function being called every time a frame is being draw it gets down to 3-4FPS!

Any solution?

Share this post


Link to post
Share on other sites
kunos    2254
very easy.. do not create the wrapper in every call, just create when the application starts and get rid of it when you close it.

You are not creating a DX device at every frame arent you? Why would you do that with the font wrapper?

Share this post


Link to post
Share on other sites
noatom    927
damn...that was a very dumb question wasn't it? Anyway,works,thx [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img] 300 fps are normal... Edited by noatom

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this