Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini memperkenalkan Direct2D, API yang menyediakan kemampuan kepada pengembang Win32 untuk melakukan tugas penyajian grafis 2-D dengan performa unggul dan kualitas visual.
Apa itu Direct2D?
Direct2D adalah API grafis 2-D mode langsung yang dipercepat perangkat keras yang memberikan performa tinggi dan penyajian berkualitas tinggi untuk geometri 2-D, bitmap, dan teks. API Direct2D dirancang untuk beroperasi dengan kode yang ada yang menggunakan GDI, GDI+, atau Direct3D.
Direct2D dirancang terutama untuk digunakan oleh kelas pengembang berikut:
- Pengembang aplikasi native berskala perusahaan.
- Pengembang yang membuat kit alat kontrol dan pustaka untuk digunakan oleh pengembang hilir.
- Pengembang yang memerlukan rendering di sisi server dari grafik 2-D.
- Pengembang yang menggunakan grafik Direct3D dan memerlukan rendering 2-D dan teks yang sederhana namun berkinerja tinggi untuk menu, elemen antarmuka pengguna (UI), dan tampilan layar transparan (HUD).
Mengapa Direct2D?
Motivasi utama untuk membuat API grafis 2-D baru di Microsoft Windows meliputi yang berikut ini:
- Untuk mengimbangi meningkatnya tingkat kekayaan visual yang terbiasa dengan pengguna Windows.
- Untuk memungkinkan pengembang menulis kode penyajian 2-D yang diskalakan langsung dengan perangkat keras pemrosesan grafis PC yang dijalankannya.
- Untuk memungkinkan pengembang menulis kode untuk merender grafik 2-D yang dapat berjalan dalam konteks layanan.
Dalam beberapa tahun terakhir, pengguna akhir telah mulai mengharapkan keakuratan visual yang lebih besar dalam pengalaman digital. Tren ini tercermin dalam elektronik konsumen. Perangkat GPS, perangkat pemutaran media, ponsel, dan kamera digital memberikan pengalaman yang lebih kaya secara konsisten dari tahun ke tahun. Tren ini juga dapat dilihat dalam keragaman konten grafis dalam film, televisi, video game, dan di Web. Untuk mengimbangi perubahan ini, pengembang secara konsisten diminta untuk membawa aplikasi Windows yang ada ke tingkat kekayaan visual berikutnya.
Prosesor grafis di PC Windows modern juga terus berkembang, didorong oleh kemajuan dalam grafik video game dan bagian dari pengalaman Windows seperti Windows Media Center dan Aero. Beberapa aplikasi Windows dapat memanfaatkan GPU modern dengan menggunakan Microsoft Direct3D dan Windows Presentation Foundation (WPF). Sementara Direct3D melayani aplikasi grafis 3-D kelas atas dan WPF memenuhi kebutuhan pengembang .NET, ada celah bagi pengembang yang memiliki basis kode penyajian kode besar yang ada berdasarkan GDI dan GDI+ atau yang ingin menggabungkan grafis 2-D berkualitas tinggi dalam aplikasi berbasis Direct3D mereka.
Akhirnya, kebutuhan akan API grafis yang dapat digunakan dalam layanan telah menjadi persyaratan yang muncul bagi pengembang yang bekerja dalam skenario pengembangan perusahaan dan Web. API penyajian yang ada berfokus pada penyajian sisi klien dalam satu sesi pengguna. Dengan demikian, mereka dapat kurang efektif dalam aspek ketahanan dan skalabilitas ketika digunakan dalam konteks layanan. API baru diperlukan untuk mengatasi hal ini.
Performa Tinggi dengan Ketersediaan Maksimum
Direct2D adalah pustaka mode pengguna yang dibangun menggunakan API Direct3D 10.1. Ini berarti bahwa aplikasi Direct2D mendapat manfaat dari penyajian yang dipercepat perangkat keras pada GPU mainstream modern. Akselerasi perangkat keras juga dicapai pada perangkat keras Direct3D 9 sebelumnya dengan menggunakan penyajian Direct3D 10-level-9. Kombinasi ini memberikan performa yang sangat baik pada perangkat keras grafis pada PC Windows yang ada.
Nota
Dimulai dengan Windows 8, Direct2D dibangun menggunakan API Direct3D 11.1.
Diagram berikut menunjukkan arsitektur berlapis Direct2D.
Diagram 
Untuk skenario di mana penggunaan akselerasi perangkat keras tidak layak, Direct2D menyertakan rasterizer perangkat lunak berkinerja tinggi. Saat merender dalam perangkat lunak, aplikasi yang menggunakan Direct2D mengalami performa penyajian yang jauh lebih baik daripada dengan GDI+ dan dengan kualitas visual yang sama. Rasterizer perangkat lunak juga dirancang untuk digunakan dalam konteks layanan.
Konten yang dirender dengan menggunakan Direct2D juga dapat ditampilkan dari jarak jauh dengan menggunakan infrastruktur Protokol Desktop Jarak Jauh (RDP) di sistem operasi Windows 7. Pengembang dapat memilih apakah penyajian ditangani oleh GPU pada komputer tampilan atau dirender secara lokal dan ditransmisikan sebagai bitmap. Pilihan ini dapat dibuat berdasarkan tingkat pengisian yang diperlukan dan kuantitas primitif grafis yang dirender. Ketika komputer tampilan menjalankan sistem operasi yang lebih lama dari Windows 7, penyajian tampilan jarak jauh dilakukan dengan mengirimkan bitmap melalui jaringan.
Dengan menyediakan satu API yang menggabungkan performa Direct3D dan ketersediaan tinggi dengan menyediakan fallback perangkat lunak, desktop jarak jauh, dan penyajian layanan, Direct2D memungkinkan pengembang untuk memiliki satu implementasi untuk penyajian performa tinggi dalam berbagai skenario.
Kualitas Visual
Aplikasi yang menggunakan Direct2D untuk grafik dapat memberikan kualitas visual yang lebih tinggi daripada apa yang dapat dicapai menggunakan GDI. Direct2D menggunakan antialias per primitif untuk memberikan kurva dan garis yang terlihat lebih halus dalam konten yang dirender. Ada juga dukungan penuh untuk transparansi dan campuran alfa saat merender primitif 2-D. Gambar berikut membandingkan konten alias yang dirender dengan menggunakan GDI (di sebelah kiri) dengan konten antialias yang dirender oleh Direct2D (di sebelah kanan).
Pengembang dapat menentukan perenderan dengan alias untuk grafik vektor. Ini digunakan dalam skenario di mana penyelarasan ke batas piksel yang tepat diperlukan, seperti elemen UI seperti pointer atau penggaris, jika gaya keluaran GDI harus diikuti, atau jika antialiasing akan dilakukan pada tahap selanjutnya dalam proses penyajian melalui Multisample Antialiasing atau mekanisme lainnya.
Interoperabilitas
Mengintegrasikan penyajian berbasis Direct2D menjadi lebih mudah bagi pengembang melalui interoperabilitas tingkat permukaan dengan GDI dan Direct3D. Aplikasi yang merender konten terutama dengan GDI, GDI+, atau Direct3D, dapat dimulai dengan menggunakan Direct2D untuk merender area tertentu dari aplikasi mereka, dan seiring waktu pindah ke model tempat penyajian dilakukan terutama melalui Direct2D, menggunakan GDI terutama untuk plug-in atau ekstensibilitas warisan.
Direct2D juga memudahkan penggunaan DirectWrite untuk teks berkualitas tinggi dan fitur pencitraan lanjutan Microsoft Windows Imaging Component (WIC).
Untuk informasi selengkapnya tentang interoperabilitas Direct2D, lihat bagian Interoperabilitas SDK Direct2D.
Ringkasan
Microsoft Direct2D memungkinkan pengembang untuk membangun fitur grafis 2-D dalam aplikasi mereka yang memberikan peningkatan kualitas visual atas GDI, dan karakteristik performa yang diskalakan dengan GPU modern. Model interoperabilitas Direct2D memungkinkan pengembang untuk secara selektif memigrasikan sebagian aplikasi mereka pada satu waktu bersamaan dengan rendering berbasis GDI, GDI+, atau Direct3D.
Topik terkait