Note that there are some explanatory texts on larger screens.

plurals
  1. POWindows uses Point sampling when stretching from a DirectX BackBuffer to the WIndow
    primarykey
    data
    text
    <p>Windows7 is using point filtering to stretch from my DirectX9 back-buffer to the window client area. When the window is resized the artifacts from the stretching look very bad. We can avoid this by changing the back buffer size, but that requires calling IDirect3DDevice9::Reset(). This results in a black screen and a small delay while resizing is happening.</p> <p>Is there any way to improve the filtering method windows uses? Or, Is there any way to update the window from a different DirectX surface such as a Render Target? </p> <hr> <p>Im using unmanaged C++ DirectX code. Say I have a 1280 x 720 back buffer surface:</p> <pre><code>D3DPRESENT_PARAMETERS presentParams; presentParams.BackBufferWidth = 1280; presentParams.BackBufferHeight = 720; gD3D-&gt;CreateDevice( 0, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &amp;presentParams, &amp;pD3D9Device); </code></pre> <p>Yet I have a 1920 x 1080 window:</p> <pre><code>hWnd = CreateWindowExA(NULL, "WindowClass", winName, flags, 0, 0, 1920, 1080, NULL, NULL, hInstance, NULL); </code></pre> <p>When I call Present() windows will stretch my DirectX back buffer to the window. However their stretch doesn't appear to perform any filtering.</p> <pre><code>pD3D9Device-&gt;Present(NULL, NULL, NULL, NULL); </code></pre> <p>I can resize the backbuffer, but that requires a call to Reset() and <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb174425%28v=vs.85%29.aspx" rel="nofollow">Reset()</a> causes video memory surfaces to be lost.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload