Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parRaphaël St-Amour Modifié depuis plus de 9 années
2
Gilles Guimard Application Development Manager Microsoft France
Incorporez Direct2D dans vos applications tout en conservant votre existant Gilles Guimard Application Development Manager Microsoft France
3
Microsoft Services: Un accompagnement global de nos clients
Architecture & Planning Planification Conseil et Projets Déploiement et adoption Support Optimisation et Opération Evaluation Développement Déploiement Stabilisation Opérations Support Premier Enterprise Strategy Consulting Services Division Services France 2010 180 Consultants 125 Technical Account Managers 190 Ingénieurs Support 17 Responsables de Mission 41 Partenaires référencés Division Services Monde 2010 82 pays couverts employés partenaires 44 langues parlées par nos ingénieurs
4
Nos clients et partenaires sont particulièrement satisfaits par…
Notre positionnement est d’intervenir sur les projets critiques et les technologies récentes Criticité du projet Maturité de la technologie Partenaires Notre engagement auprès de nos partenaires est : De leur assurer un transfert d’expertise, De leur apporter notre support sur les dernières technologies, De leur donner accès aux meilleures pratiques de mise en œuvre et de support. Nos clients et partenaires sont particulièrement satisfaits par… Le niveau d’engagement des consultants : 94% La gestion de l’équipe de projet : 92% Les compétences techniques des consultants : 91% La relation avec les équipes du client : 90%
5
Agenda Introduction Direct2D – Direct Write – Direct Animation
Les défis Architecture générale Les fonctionnalités Les performances Comparatif D2D – GDI – GDI+ Modèle de Threading Les scénarios d'interopérabilité Windows Scenic Animation Windows SP1 / Visual Studio 2010 SP1 Intégration dans les MFC RemoteFx
6
Introduction Les Systèmes supportant Direct2D Windows 7
Windows Vista SP2 + Platform Update for Windows Vista Les Produits Microsoft utilisant Direct 2D Windows Live 2011 Internet Explorer 9
7
Technologies Microsoft / GPU
Modèle de développement Natif / C++ Managé / .NET Web Productivité Direct2D WPF Silverlight 4 Graphiques Direct2D, DirectX Média Média Fondation DXVA XNA, WPF Jeux DirectX XNA HTML5 / SVG HTML5 Canvas HTML5 Vidéo HTML5 Canvas
8
Architecture générale
Internet Explorer 9 WPF .NET Silverlight C++ Media Foundation WIC GDI+ Direct2D USER GDI DirectWrite CLR 2.0, 4.0 DXVA DirectX 10.1 DirectX 11 Win32K Windows DirectX Graphics Infrastructure (DXGI) DirectX 9 DXGKernel Pilote de la Carte graphique – (WDM 1.1) Windows Vista Windows 7
9
Le design de Direct2D Accélération matérielle Les performances
Des primitives 2D de bas niveau Simplicité d’implémentation Mode de rendu immédiat date
10
Fonctionnalités de Direct2D
Des primitives de base Rectangles, ellipses, bésier… Brosses, Images, dégradés linéaires dégradés radiaux Les opérations complexes tel que: Les calques, les masques d'opacité Opérations à base de matrice pour les rotations, zooms, translations
11
Fonctionnalités de Direct2D
Utilise DirectWrite pour dessiner du texte Support du Multi langue complet Utilise Windows Imaging Component pour les images Lecture, sauvegarde d'images
12
Fonctionnalités de DirectWrite
Fonctionnalité avancée sur les polices de caractère Dans Direct2D, les routines utilisant du texte utilisent DirectWrite Prend en charge le rendu de texte par bloc afin de pouvoir réaliser des animations Supporte le rendu par caractère afin d'animer des caractères individuels
13
Windows Imaging Components WIC
Permet de travailler sur des images et métadonnées des images Support de multiples formats d'image assuré par des codecs BMP, GIF, ICO, JPEG, PNG, TIFF, Photo HD Extensible via l'écriture d'un codec Décodage de l'image progressive Support du multithread date
14
Modèle de programmation
C++ Basé sur COM Interface de type IUnknown Assure le « versionning » Allocateur mémoire « neutre » Gestion des erreurs sous forme d'un HRESULT Les includes <d2d1.h>, <d2d1helper.h>, <Dwrite.h>, <Wincodec.h> Les Libs windowscodecs.lib, d2d1.lib, dwrite.lib .NET Windows® API Code Pack for Microsoft® .NET Framework
15
Modèle de programmation
Initialiser COM et Direct2D Créer un contexte d'affichage CComPtr<ID2D1Factory> _spD2DFactory; D2D1CreateFactory<ID2D1Factory>(D2D1_FACTORY_TYPE_SINGLE_THREADED, options, &_spD2DFactory)); CComPtr<ID2D1HwndRenderTarget> _spHwndRT; rtProp = D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_HARDWARE, D2D1::PixelFormat(DXGI_FORMAT_UNKNOWN, D2D1_ALPHA_MODE_IGNORE), f, f); _spD2DFactory->CreateHwndRenderTarget(rtProp, D2D1::HwndRenderTargetProperties( Hwnd, D2D1::Size((UINT32)_State.windowWidth, (UINT32)_State.windowHeight), D2D1_PRESENT_OPTIONS_IMMEDIATELY), &_spHwndRT));
16
Modèle de programmation
Dessiner case WM_PAINT: { hdc = BeginPaint(hWnd, &ps); OnRender(hWnd); EndPaint(hWnd, &ps); } HRESULT OnRender(HWND hwnd) { g_spHwndRT->BeginDraw(); g_spHwndRT->DrawText(sc_helloWorld, ARRAYSIZE(sc_helloWorld) - 1, g_spTextFormat, D2D1::RectF(300, 300, renderTargetSize.width, renderTargetSize.height), g_spBlackBrush); hr = g_spHwndRT->EndDraw();
17
Ma première application Direct2D
Démo Ma première application Direct2D
18
L'interface ID2D1Factory
L'objet de base, permet de créer une ressource Direct2D Permet de créer un contexte de dessin A partir d'un HDC, Hwnd, Direct3D Permet de créer un contexte pour WIC Deux "Factories" disponibles : Singlethread et Multithread Service de "Debug"
19
L'interface ID2D1RenderTarget
Représente l'objet qui va recevoir les commandes de dessin Trois type d’opérations Les méthodes de type « Draw » DrawLine, DrawRectangle, DrawRoundedRectangle, DrawText, DrawBitmap, DrawEllipse, DrawGeometry, DrawGlyphRun Les méthodes de type « Fill » FillEllipse, FillGeometry, FillMesh, FillRectangle, FillRoundedRectangle, Les méthodes de type « Divers » Clear, Transformation, Layer Un service de sélection des objects date
20
Dessiner Les pinceaux De couleur Gradient de type radial
Gradient de type linéaire Transformation Les stylos Largeur de la ligne Motif de la ligne Les objets complexes D2D1Mesh Représentent un ensemble de sommets qui forment une liste de triangles
21
Démo Dessiner
22
DirectWrite - Architecture
Fonctionnalités standards ou avancés suivant les scénarios Application DirectWrite API graphique Text Layout System Font Script Processor Rasterizer
23
DirectWrite Scénario standard
Affichage de texte dans l’interface utilisateur d’une application Contrôles, Labels, Listbox.. Utilisation de l’interface IDWriteTextLayout et DrawTextLayout() Scénario avancé Examples: Internet Explorer 9,0 Utilisation de « DirectWrite‘s Text Analysis & Font System » avec l’API DrawGlyphRun(), pour construire et rendre le texte
24
Démo DirectWrite
25
Les performances De nombreux facteurs
Utilisation des ressources de la carte graphique Partage d’objets Utilisation de bitmap de type Atlas … Les outils Windows Performance ToolKit, GPUView Le profiler de Visual Studio Support du Multithead D2D1_FACTORY_TYPE enum D2D1_FACTORY_TYPE_SINGLE_THREADED D2D1_FACTORY_TYPE_MULTI_THREADED D2D1CreateFactory( __in D2D1_FACTORY_TYPE factoryType, __out Factory **factory );
26
Modèle de threading 1 factory, x RenderTarget : Synchronization sur la fonction T1 RenderTarget BeginDraw DrawLine Factory T2 RenderTarget BeginDraw DrawLline EndDraw T1 Factory RenderTarget BeginDraw DrawLine EndDraw T2 Factory RenderTarget BeginDraw DrawLine EndDraw
27
Performances GDI+, GDI, Direct2D
Démo Performances GDI+, GDI, Direct2D
28
Interopérabilité DWrite D2D GDI D3D10 DXGI 1.1 D3D 11 DXVA D3D 9 Ex
29
Interopérabilité GDI HDC dans D2D
Création d’un « render target » compatible GDI D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE QI sur l’objet IGdiInteropRenderTarget GetDC() ReleaseDC() D2D dans HDC CreateDCRenderTarget() ID2D1DCRenderTarget::BindDC() DirectX Utiliser un niveau Direct3D 10 ou 10Level9 Mapper la surface D3D dans un render target D2D CreateDxgiSurfaceRenderTarget() Appeler EndDraw() avant Present()
30
Interopérabilité DirectX
Démo Interopérabilité DirectX
31
Windows Scenic Animation
Une API qui simplifie le développement d’animations graphiques Elle permet d’animer différents éléments comme la position, la couleur, le contraste, la taille, l’opacité…. Création de story-board avec une séquence de transitions Vous définissez un déplacement entre deux points Vous définissez le type de transition (linéaire, parabolique…) Vous êtes notifiés lors de l’animation afin de positionner l’objet que vous désirez afficher.
32
Windows Scenic Animation
Démo Windows Scenic Animation
33
Visual Studio 2010 SP1 Support de Direct2D, DirectWrite intégré nativement dans les MFC Support de Direct Animation dans les MFC
34
Introduction à RemoteFX
Remote Desktop Protocol (RDP) Remote Desktop Virtualization Host (RDVH) RemoteFX Infrastructure Remote Desktop Services (RDS) Infrastructure RemoteFX-Remote Desktop Services (RDS) Client RemoteFX Client Support de Windows Aero, de l’accélération 3D coté serveur Vidéo haute définition avec le support du son synchronisé
35
RemoteFX Trois principaux composants Pipeline d’encoding / decoding
Support des GPU 3D coté serveur Redirection USB RemoteFX pour VDI (Virtual Desktop Infrastructure) Supporte les trois fonctionnalités RemoteFX pour RDSH Supporte une fonctionnalité (encoding/decoding) date
36
RemoteFX in RDSH Solutions
TechReady11 4/22/2017 Les Scénarios RemoteFX - VDI RemoteFX in RDSH Solutions -Enabled Clients: RemoteFX , encodage logiciel Client Windows Client léger Clients ultra-léger Avec un ASIC RemoteFX Ecran LCD Avec un ASIC RemoteFX RemoteFX Encodage et décodage via un ASIC Processeur graphique © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
37
Démo RemoteFx
38
Références SDK Windows
Exemples C++ Exemples .NET RemoteFX date
39
Questions?
40
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic
Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.