Goalnajbardziej efektywny sposób do wysyłania obrazów w całej przetwarza
Pass obrazów generowanych przez jeden proces efektywnie i przy bardzo dużej prędkości do innego procesu. Oba procesy działają na tym samym komputerze i na tym samym pulpicie. System operacyjny może być WinXP, Vista i Win7.
Szczegółowy opis
Pierwszy proces wyłącznie w celu kontrolowania komunikacji z urządzeniem, które wywołuje obrazy. Te obrazy mają rozmiar około 500 x 300 pikseli i mogą być aktualizowane do kilkuset razy na sekundę. Drugi proces potrzebuje tych obrazów, aby je przetworzyć. Pierwszy proces wykorzystuje zewnętrzny interfejs API do malowania obrazów z urządzenia na HDC. Ten HDC musi być dostarczony przeze mnie.
Uwaga: między dwoma procesami istnieje już połączenie otwarte. Komunikują się za pośrednictwem anonimowych potoków i udostępniają widoki odwzorowanych obrazów w pamięci.
Myśli
Jak bym to osiągnąć z tak mało pracy, jak to możliwe? Mam na myśli zarówno pracę dla komputera, jak i dla mnie (oczywiście;)). Używam Delphi, więc może jest jakiś komponent dostępny do tego? Myślę, że zawsze mógłbym namalować do dowolnego HDC komponentu obrazu, zapisać zawartość do strumienia pamięci, skopiować zawartość za pomocą pliku odwzorowanego w pamięci, rozpakować ją po drugiej stronie i namalować tam do docelowego HDC. Przeczytałem również o interfejsie IPicture, który może być użyty do zbierania obrazów. Potrzebuję go tak szybko, jak to możliwe, więc im mniej, tym lepiej. Nie chcę, aby maszyna była zestresowana tylko przez kopiowanie niektórych obrazów.
Jakie są Twoje pomysły? Doceniam każdą myśl na ten temat!
jeśli obraz jest aktualizowany kilkaset razy na sekundę, możesz zajrzeć do istniejących technik przetwarzania wideo w celu obsługi danych wideo o dużej przepustowości w przeciwieństwie do przetwarzania obrazu. –