Zajmuję się przetwarzaniem głębi (Xbox Kinect, Asus Xtion, itp.) Przy użyciu OpenNI.C# szybkie renderowanie pikseli
Potrzebuję bardzo prosty i szybki sposób rysowania na formularzu systemu Windows, gdy nowe dane głębokości są dostępne z czujnika (30 lub 60 fps w zależności od rozdzielczości).
Obecnie unieważniam podwójnie buforowany panel z oddzielnego wątku, gdy dane staną się dostępne, a następnie ustawiam piksele mapy bitowej w metodzie malowania panelu, uzyskując przewidywalnie straszne 5 klatek na sekundę.
System.Drawing.Graphics wydaje się brakować szybkiego sposobu ustawiania poszczególnych pikseli, chyba że ktoś może polecić inaczej.
Dosłownie wystarczy ustawić kolory pikseli, więc jeśli to możliwe, należy unikać zewnętrznych interfejsów renderowania innych firm i najlepiej użyć czegoś tak natywnego, jak to tylko możliwe.
Czy ktoś ma jakieś sugestie?
Jak obecnie ustawiasz piksele? – leppie
Utworzono bitmapę, używając image.SetPixel (x, y, color). Po tym wszystkim, wywołanie graphics.drawImage (obraz, itp.) –
'SetPixel' jest bardzo wolny. Spójrz na podejście 'Scanline'. – leppie