VSYNC und FPS



  • Hallo!

    Gerade habe ich bemerkt: Mein FPS Counter funktioniert anscheinend.
    Stelle ich die Bildwiederholungsfrequenz auf 60, habe ich 60FPS.
    Stelle ich die Bildwiederholungsfrequenz auf 70, habe ich ~70FPS.

    Das Komische ist ja, meine Init()- Funktion sieht so aus:

    [cpp]
    HRESULT Hautpklasse::Init(const GLOBALS &g)
    {

    D3DPRESENT_PARAMETERS pp;
    pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

    D3DFORMAT d3dfmt;
    if(g.fullScreen)
    d3dfmt = D3DFMT_X8R8G8B8;
    else
    d3dfmt = D3DFMT_UNKNOWN;

    m_pD3D = Direct3DCreate9(D3D_SDK_VERSION);

    m_PP.Windowed = !g.fullScreen;
    m_PP.hDeviceWindow = hWnd;
    m_PP.SwapEffect = D3DSWAPEFFECT_DISCARD;

    m_PP.EnableAutoDepthStencil = true;
    m_PP.AutoDepthStencilFormat = D3DFMT_D16;

    m_PP.BackBufferFormat = d3dfmt;
    m_PP.BackBufferWidth = GetSystemMetrics(SM_CXSCREEN);
    m_PP.BackBufferHeight = GetSystemMetrics(SM_CYSCREEN);

    m_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &m_PP, &m_pDevice);

    D3DCOLORVALUE clr = { 1.0f, 1.0f, 1.0f, 1.0f };
    D3DXMATRIX xmat;

    m_Material.Diffuse = clr;
    m_Material.Ambient = clr;

    D3DXMatrixPerspectiveFovLH(&xmat, 0.8f, 1280/1024, 0.5f, 1000.0f);

    m_pDevice->SetTransform(D3DTS_PROJECTION, &xmat);
    m_pDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_XRGB(255,255,255));

    D3DXCreateTextureFromFile(m_pDevice, "texture.bmp", &m_pTexture);

    D3DXCreateFont(m_pDevice, 50, 0, FW_BOLD, 1, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, g_strFont, &g_pFont);

    CreateRect();

    return S_OK;
    }
    [/cpp]

    Anscheinend ist VSYNC noch nicht deaktiviert, in den Windowseinstellungen habe ich aber: Anwendung verwaltet.

    😕



  • Zum Testen kannst du es auch einfach mal im Treiber überschreiben als deaktiviert und gucken was passiert



  • Hatte zwei Instanzen von D3DPRESENT_PARAMETERS erstellt -.-

    Jetzt funzt es. Alle Fragen beantwortet, auch die übrigen Themen.


Anmelden zum Antworten