Archived

This topic is now archived and is closed to further replies.

RoyHsu2001

Full screen mode on Direct3D is slow!?

Recommended Posts

Hi! I tried to draw Direc3D in full screen mode, but the FPS is slow dowm too much. Some samples of Direct3D can shift to full screen mode by [alt-Enter]. The resolution is reduced from 1024*768 to 640*480, so I modified as below on D3DApp.cpp. HRESULT CD3DApplication::ToggleFullscreen() { ..... m_d3dpp.BackBufferWidth = 1024; m_d3dpp.BackBufferHeight = 768; m_d3dpp.BackBufferFormat = pModeInfo->Format; // m_d3dpp.BackBufferWidth = pModeInfo->Width; // m_d3dpp.BackBufferHeight = pModeInfo->Height; // m_d3dpp.BackBufferFormat = pModeInfo->Format; .... } This is OK to run, but the FPS became half, comparing to window mode in 1024*768. Then I tried to modified the window style to become more alike as full screen mode by this, HRESULT CD3DApplication::Create( HINSTANCE hInstance ) { ......... m_dwWindowStyle = WS_DLGFRAME|WS_MAXIMIZE; ......... } By this way, I still find a title bar without any border line and button. Does any one know how to take the title bar off? I have checked the MSDM help document about this topic. Thanks! Roy Edited by - royhsu2001 on March 18, 2002 2:08:59 AM

Share this post


Link to post
Share on other sites
umm well i would bet your frame rate is = your refreash reat of your adaptor
like most full screen apps
you can push WAY more polys thoure it befor you see a drop in FPS over windows

-Ian

Share this post


Link to post
Share on other sites
Herse what I do if I want to get thousends and thousands of FPS:
m_d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
(but thats only in fullscreen mode)
Basicaly what that means is "dont wait for the monitor for a screen refresh"

[ my engine ][ my game ][ my email ]
SPAM

Share this post


Link to post
Share on other sites
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, "DxApp", NULL };
RegisterClassEx( &wc );

// Create the application''s window
HWND hWnd = CreateWindowEx( 0, "DxApp", NULL, WS_POPUP | WS_THICKFRAME, 0, 0, 800, 600, GetDesktopWindow(), NULL, hInst, NULL );

Leave out WS_THICKFRAME if you don''t want any boarder at all.

Share this post


Link to post
Share on other sites