用的是窗口模式,只是clear一下,然后画鼠标和几个方块。 刚开机的时候,运行起来不流畅,跳帧,大概每刷新2,3次就跳一下,fps从100跳到30多。然后一直都这样,关闭了再打开也是如此。 但当我打开ie,再打开csdn之类(图片比较多?)网站后,再运行我的程序,就很流畅了。 到底是怎么回事? 以下是创建过程的代码。。我看了一下跟大家的也没什么不同。。关键是有时很流畅,有时一直跳桢。而且刚开机以后肯定一直跳桢。我还干了这么一件事:
HANDLE hProcess = GetCurrentProcess(); SetPriorityClass(hProcess, REALTIME_PRIORITY_CLASS );
毫无改观。。
[em12]
pD3D = Direct3DCreate9(D3D_SDK_VERSION); pD3D -> GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddm); ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &pDev );
pDev->SetRenderState( D3DRS_LIGHTING, FALSE ); pDev->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
pDev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
D3DXCreateTextureFromFileEx(pDev, ".//bmp//cursor.jpg", 40, 40, 1, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_FILTER_NONE, D3DX_FILTER_NONE,D3DCOLOR_XRGB(0,255,0) , NULL, NULL, &CursorTex); |