Advertisement

Direct2D, Directx11on12 example VSYNC ISSUE...

Started by November 08, 2019 08:41 AM
0 comments, last by vivek.soni 5 years, 2 months ago

Hi guys...

i am following microsofts directx11on12 example to create a direct2d component and draw a circle and text...

so far i am able to draw circle and text ... but my FPS is now capped at 60 fps.... earlier it was 400 fps... 

so how to disable vsync in Direct2d ...

 

i cant even set rendertarget present flags to D2D1_PRESENT_OPTIONS_IMMEDIATELY  as i am creating a rendertarget like this...


// Query the desktop's dpi settings, which will be used to create
// D2D's render targets.
float dpiX;
float dpiY;
m_d2dFactory->GetDesktopDpi(&dpiX, &dpiY);
D2D1_BITMAP_PROPERTIES1 bitmapProperties = D2D1::BitmapProperties1(
  D2D1_BITMAP_OPTIONS_TARGET | D2D1_BITMAP_OPTIONS_CANNOT_DRAW,
  D2D1::PixelFormat(DXGI_FORMAT_UNKNOWN, D2D1_ALPHA_MODE_PREMULTIPLIED),
  dpiX,
  dpiY
);

 for (int i = 0; i < MAX_BUFFERED_FRAMES; i++)
{
  // Create a wrapped 11On12 resource of this back buffer. Since we are
  // rendering all D3D12 content first and then all D2D content, we specify
  // the In resource state as RENDER_TARGET - because D3D12 will have last
  // used it in this state - and the Out resource state as PRESENT. When
  // ReleaseWrappedResources() is called on the 11On12 device, the resource
  // will be transitioned to the PRESENT state.
  D3D11_RESOURCE_FLAGS d3d11Flags = { D3D11_BIND_RENDER_TARGET };
  hr = m_device11on12->CreateWrappedResource(
   backBufferRenderTarget,
   &d3d11Flags,
   D3D12_RESOURCE_STATE_RENDER_TARGET,
   D3D12_RESOURCE_STATE_PRESENT,
   IID_PPV_ARGS(&m_wrappedBackBuffers)
  );
  if (FAILED(hr))
  {
   return false;
  }

// Create a render target for D2D to draw directly to this back buffer.
  IDXGISurface* surface;
  hr = m_wrappedBackBuffers->QueryInterface(&surface);
  if (FAILED(hr))
  {
   return false;
  }

hr = m_d2dDeviceContext->CreateBitmapFromDxgiSurface(
   surface,
   &bitmapProperties,
   &m_d2dRenderTargets
  );
  if (FAILED(hr))
  {
   return false;
  }
}

https://github.com/microsoft/DirectX-Graphics-Samples/tree/master/Samples/UWP/D3D1211On12

This topic is closed to new replies.

Advertisement