Aggiornamento della piattaforma per Windows 7
Questo argomento descrive i miglioramenti apportati ai componenti dello stack di grafica di Windows 7 che diventano disponibili tramite Platform Update per Windows 7.
Quando installato in Windows 7, l'aggiornamento della piattaforma per Windows 7 aggiorna Windows 7 con funzionalità disponibili in Windows 8. Ad esempio, questi componenti Windows 8 diventano disponibili con funzionalità complete:
- Direct2D 1.1 (inclusi gli effetti Direct2D)
- DirectWrite
- Windows Imaging Component (WIC)
Queste funzionalità forniscono funzionalità parziali:
- Direct3D 11.1
- DXGI 1.2
E, ad esempio, questo componente non è disponibile:
- DirectComposition (DComp)
Vedere questi argomenti per informazioni su Direct2D, DirectWrite e WIC con l'aggiornamento della piattaforma:
- Novità di Direct2D per Windows 8 (Windows)
- Novità di DirectWrite per Windows 8 (Windows)
- Novità di WIC in Windows 8 (Windows)
Vedi questi argomenti per informazioni su Direct3D e DXGI con l'aggiornamento della piattaforma:
Dopo l'installazione dell'aggiornamento della piattaforma, le interfacce introdotte in Direct3D11.1 e DXGI 1.2 saranno disponibili con funzionalità parziali. Le funzionalità di questi componenti grafici sono collegate direttamente ai componenti del kernel grafico, ai driver grafici e all'hardware grafico. Prima di usare Direct3D11.1 in Windows 7, acquisire familiarità con queste specifiche:
Windows 8 introdotto il modello di driver WDDM 1.2, che ha fornito miglioramenti nella superficie API associata per tutti i livelli di funzionalità. Quando si legge la documentazione di Direct3D11.1, comprendere che i nuovi driver indicano driver WDDM 1.2. Queste versioni aggiornate dei driver, nonché la maggior parte delle funzionalità facoltative esposte tramite CheckFeatureSupport, non sono disponibili in Windows 7. Poiché non esiste alcuna garanzia che queste funzionalità facoltative siano disponibili, assicurarsi che le applicazioni abbiano comportamenti di fallback appropriati nel caso in cui la funzionalità desiderata non sia disponibile.
C'è un'eccezione importante. Diverse funzionalità, ad esempio PSSetConstantBuffers1 con offset del buffer costante, richiedono nuovi driver per il livello di funzionalità 10 e superiore, ma vengono effettivamente emulati per il livello di funzionalità 9. Questa emulazione è disponibile in Windows 7 con l'aggiornamento della piattaforma. Per altre informazioni sulle funzionalità emulate, vedi D3D11_FEATURE_DATA_D3D11_OPTIONS.
Il modello di driver WINDOWS 8 WDDM 1.2 supporta una nuova generazione di hardware, esposto tramite il livello di funzionalità D3D 11.1. Windows 7 con l'aggiornamento della piattaforma supporta solo il modello di driver WDDM 1.1 e pertanto il livello di funzionalità 11.1 non è disponibile (tramite l'aggiornamento della piattaforma). In Windows 7 con l'aggiornamento della piattaforma D3D11CreateDevice restituisce sempre un livello di funzionalità 11.0 o inferiore, ad eccezione di un dispositivo di riferimento che può essere usato per testare un percorso di codice 11.1 in Windows 7. Usare solo le funzionalità disponibili a livello di funzionalità di destinazione, come descritto nel riferimento a livello di funzionalità.
Alcuni nuovi metodi introdotti in DGXI 1.2 non sono completamente supportati con Platform Update per Windows 7.È possibile testare la disponibilità di queste funzioni chiamandoli direttamente e verificando la presenza di un codice di errore. Assicurarsi che le applicazioni destinate a Windows 7 con l'aggiornamento della piattaforma abbiano un fallback quando la funzionalità desiderata non è disponibile. Queste classi di funzionalità non sono disponibili in Platform Update per Windows 7:
- Stereo
- Swapchains not targeting Hwnds
- Notifiche di stato di occlusione
- Duplicazione desktop
- NT Gestire le risorse
In particolare, le API seguenti restituiranno DXGI_ERROR_UNSUPPORTED, DXGI_ERROR_INVALID_CALL, E_NOTIMPL o E_INVALIDARG:
- IDXGIFactory2::CreateSwapChainForCoreWindow
- IDXGIFactory2::CreateSwapChainForComposition
- IDXGIFactory2::RegisterStereoStatusWindow
- IDXGIFactory2::RegisterStereoStatusEvent
- IDXGIFactory2::UnregisterStereoStatus
- IDXGIFactory2::RegisterOcclusionStatusWindow
- IDXGIFactory2::RegisterOcclusionStatusEvent
- IDXGIFactory2::UnregisterOcclusionStatus
- IDXGISwapChain1::GetCoreWindow
- IDXGISwapChain1::SetRotation
- IDXGISwapChain1::GetRotation
- IDXGIOutput1::DuplicateOutput
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
Queste API presentano differenze di comportamento, come indicato:
- IDXGIFactory2::CreateSwapChainForHwnd accetta una struttura DXGI_SWAP_CHAIN_DESC1 , che ha un campo per Ridimensionamento. DXGI_SCALING_NONE non è supportato in Windows 7 con l'aggiornamento della piattaforma e fa sì che CreateSwapChainForHwnd restituisca DXGI_ERROR_INVALID_CALL quando viene chiamato.
- IDXGISwapChain1::SetBackgroundColor è utile solo se impostato su una swapchain usando DXGI_SCALING_NONE. Il valore è ancora archiviato e può essere recuperato, ma non ha alcun effetto.
- IDXGIDisplayControl::IsStereoEnabled, IDXGIFactory2::IsWindowedStereoEnabled e IDXGISwapChain1::IsTemporaryMonoSupported restituisce tutti FALSE.
- IDXGIOutput1::GetDisplayModeList1 e IDXGIOutput1::FindClosestMatchingMode1 sono stati aggiunti per facilitare le modalità di visualizzazione stereo. Stereo non è supportato nell'aggiornamento della piattaforma per Windows 7, quindi questo metodo equivale a IDXGIOutput::FindClosestMatchingMode come DXGI_MODE_DESC1. Stereo sarà sempre FALSE.
- IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources non sono supportati nell'aggiornamento della piattaforma per Windows 7. Tuttavia, il runtime consente comunque di chiamarle ed esegue la convalida che vengono usate correttamente nelle risorse non condivise.
- I dispositivi WARP supportano solo il livello di funzionalità 11.0. Ovvero, i dispositivi WARP creati passando D3D_DRIVER_TYPE_WARP nel parametro DriverType di D3D11CreateDevice non supportano 11.1 né supportano le superfici condivise.
Per gli sviluppatori che attualmente lavorano su applicazioni in Microsoft Visual Studio 2010 o versioni precedenti usando il flag D3D11_CREATE_DEVICE_DEBUG , tenere presente che le chiamate a D3D11CreateDevice avranno esito negativo. Questo perché il runtime D3D11.1 richiede ora D3D11_1SDKLayers.dll anziché D3D11SDKLayers.dll. Per ottenere questa nuova DLL (D3D11_1SDKLayers.dll), installare Windows 8 SDK o Visual Studio 2012 o gli strumenti di debug remoto di Visual Studio 2012. Per altre informazioni, vedere la documentazione relativa al livello di debug .