/ / GDI + i systemowe karty graficzne - c #

GDI + i systemowe karty graficzne - c #

Z moich badań to widziałem GDI+ (jeśli się mylę popraw mnie proszę) jest używany przez Graphics narysować różne przedmioty, ale także według mojej wiedzyNie jestem pewien, czy wykorzystuje on systemową kartę graficzną? Jeśli tak nie jest, może ktoś poprowadzi mnie do sposobu, w jaki mogę go wykorzystać, aby wykorzystać karty graficzne w wielu funkcjach, takich jak moduł cieniujący itp., Lub przynajmniej jak zakodować własny silnik DirectX, OpenGL?

Z góry dziękuję.

P.S. Najważniejsze, co chcę ukończyć, to narysować piksel po pikselowej reprezentacji różnych obiektów.

Odpowiedzi:

1 dla odpowiedzi № 1

GDI + i DirectX to dwie alternatywne bibliotekisłuży do renderowania grafiki na ekranie w systemie operacyjnym Windows. Ponieważ są tylko interfejsami do systemu operacyjnego, żaden z nich nie może bezpośrednio "rozmawiać" z kartą graficzną na poziomie sprzętowym. Cała funkcjonalność GDI + używana do rysowania grafiki, takiej jak grafika WinForm, bezpośrednio lub pośrednio, jest po prostu wywołaniem interfejsu API w bibliotece systemowej gdi32.dll. Podobnie, funkcje DirectX również mają własne biblioteki API do wywoływania.

Często sugeruje się, że DirectX ma dużolepsza wydajność w renderowaniu grafiki 3D, ale w żaden sposób nie oznacza, że ​​GDI + brakuje jakiejkolwiek funkcjonalności lub nie wykorzystuje twojej karty graficznej - robią to pośrednio przez okna. Dla porównania wszystkie grafiki WinForm w .NET są oparte w bibliotece GDI +, natomiast pliki WPF oparte są na DirectX.


1 dla odpowiedzi nr 2

Nie, przepraszam, GDI + nie jest przyspieszany sprzętowo, dlatego nie używa kart graficznych (chociaż GDI jest sprzętowo przyspieszany System Windows 7). Proponuję użyć OpenTK.