2012-11-07 34 views
5

Bunu en son yaptığım zaman, DirectDraw'ı bir donanım yüzeyine karıştırmak, hatta doğrudan haritalamak ve doğrudan çizmek istiyorsunuz.Modern Windows'da HWND'ye çizmenin en hızlı yolu nedir?

Bugün bunu yapmak için önerilen yöntem nedir? Direct3D 10/11'i kullanın ve aynısını yapın?

Düzenleme: Soruyu açıklığa kavuşturmak için, bazı yazılım rasterleştirmelerini yapmak istiyorum ve bu nedenle piksel verilerini doğrudan ekrana karıştırmanın hızlı bir yoluna gereksinim duyuyoruz.

+0

GIL'i denediniz mi? ImageProcessing için oldukça hızlı. http://www.boost.org/doc/libs/1_52_0/libs/gil/doc/index.html –

+0

Bu tamamen alakasız. –

cevap

2

Bu günlerde masaüstü uygulamaları için kullanılan Direct2D'u kullanmanızı öneririm. Alıntı:

amacı

Direct2D olan bir donanım hızlandırıcı, çabuk kipte, 2-B grafik API 2-B geometrisi, bitmap'ler için işleme, yüksek performans ve yüksek kaliteyi sağlar , ve metin. Direct2D API, GDI, GDI + ve Direct3D ile birlikte birlikte çalışacak şekilde tasarlanmıştır.

Koşullar: Vista ve daha yüksek sürümlerin yanı sıra ilgili sunucu sürümleri (gerekiyorsa).

+0

D2D, öncelikle vektör grafiklerini çizmek için kullanılır. Bitmap işlevleri vardır, ancak kesinlikle VRAM'ın doğrudan yolu değildir. –

+0

Bu sonuca nasıl geliyorsunuz? Sürücüler destekliyorsa (sertifika almak için sahip oldukları), doğrudan bir yol olacaktır. Yoksa burada neyi özlüyorum? Vektör grafiğin birincil hedef olduğunu fark etmemiştim, hızlı kompozisyonun D2D için birincil hedef olduğunu düşünmüştüm. Açıkçası bana göre aradığınız şey net değil :) – 0xC0000022L

+1

Direct2D önce doku belleğinden geçer ve sonra rasterleştirerek çizer. Direct3D etrafında temelde bir sarıcı var. –