- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We found a slowdown (about 10x) at ID2D1DeviceContext::SetTarget. We check it at Intel HD 4600 videocard (driver version is 10.18.14.4264).
m_pDeviceContext->SetAntialiasMode(D2D1_ANTIALIAS_MODE_ALIASED); m_pDeviceContext->SetTextRenderingParams(m_pTextRenderingParams);//DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC m_pDeviceContext->BeginDraw(); m_pDeviceContext->SetTarget(m_pBitmap); // there is no draw commands m_pDeviceContext->EndDraw();
We have two blocks of code for m_pBitmap
creation
. The first has normal performance, but the second has slowdown.
1. Create bitmap for a swachain surface
auto props = D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_TARGET | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1::PixelFormat(format, D2D1_ALPHA_MODE_IGNORE)); m_pDeviceContext->CreateBitmapFromDxgiSurface(pSurface, props, &m_pBitmap);
2. Create bitmap for a newly created texture
m_pDevice->CreateTexture2D(&descTexture, NULL, &m_pRenderTexture); m_pDevice->CreateRenderTargetView(m_pRenderTexture, NULL, &m_pRTV); m_pRenderTexture.QueryInterface(pRenderSurface); auto props = D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_TARGET | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1::PixelFormat(format, D2D1_ALPHA_MODE_IGNORE)); m_pDeviceContext->CreateBitmapFromDxgiSurface(pRenderSurface, props, &m_pBitmap);
There are equal texture descriptions in the both. And NVIDIA and AMD video cards have equal performance in these cases
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Evengy,
I will take this to the driver team and see what is going on. In order ti help us can you fill complete the template below. We need the info to aid in our investigation.
System Setup Information:
-----------------------------------------
System Used: (Manufacturer/Model)
CPU SKU: (i3, i5, Pentium, Celeron, etc.)
GPU SKU: (HD4400, HD5100, etc.)
Processor Line: (Y-Series, U-Series, etc.)
System BIOS Version:
CMOS settings:
Graphics Driver Version:
GOP/VBIOS Version:
Operating System:
OS Version:
API:
Occurs on non-Intel GPUs?:
Steps to Reproduce:
-------------------------------
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Expected Results:
-------------------------------
Actual Results:
-------------------------------
Additional Information:
-------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
System Setup Information:
-----------------------------------------
System Used: Gigabyte Technology Co. Ltd. H81M-S2PV
CPU SKU: i5
GPU SKU: HD4600
Processor Line:
System BIOS Version: American Megatrends Inc. F4, 14.08.2013
CMOS settings: default
Graphics Driver Version: 10.18.14.4264
GOP/VBIOS Version:
Operating System: Windows 7 X64
OS Version: 6.1.7601 Service Pack 1
API: Direct2D 1.1 + Direct3D11
Occurs on non-Intel GPUs?: no
Steps to Reproduce:
-------------------------------
1. Create 2d texture
desc.Width = width; desc.Height = height; desc.MipLevels = 1; desc.ArraySize = 1; desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; desc.Usage = D3D11_USAGE_DEFAULT; desc.BindFlags = D3D11_BIND_RENDER_TARGET; desc.CPUAccessFlags = 0; desc.MiscFlags = 0; desc.SampleDesc.Count = 1; desc.SampleDesc.Quality = 0;
2. Create ID2D1Bitmap1
m_pDevice->CreateTexture2D(&descTexture, NULL, &m_pRenderTexture); m_pDevice->CreateRenderTargetView(m_pRenderTexture, NULL, &m_pRTV); m_pRenderTexture.QueryInterface(pRenderSurface); auto props = D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_TARGET | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1::PixelFormat(format, D2D1_ALPHA_MODE_IGNORE)); m_pDeviceContext->CreateBitmapFromDxgiSurface(pRenderSurface, props, &m_pBitmap);
3. ID2D1DeviceContext::SetTarget
m_pDeviceContext->SetAntialiasMode(D2D1_ANTIALIAS_MODE_ALIASED); m_pDeviceContext->SetTextRenderingParams(m_pTextRenderingParams);//DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC m_pDeviceContext->BeginDraw(); m_pDeviceContext->SetTarget(m_pBitmap); m_pDeviceContext->EndDraw();
Additional Information:
-------------------------------
There is slowdown. But performance is ok if we use ID2D1Bitmap1 attached to IDXGSwapchain.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Evgeny,
I have filed a ticket and am working with our driver team to get this investigated.
-Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks. I'm waiting your response.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you inform how long to wait for an answer to my ticket?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Evgeny,
I do not have a time estimate yet. The performance team has a lot of issues to look at right now, including this one. Performance issues are complex and take time to properly investigate.I hope to have an update this week.
-Michael

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page