Hallo,
ich bekomme zeilenweise Bilddaten von einem Detektor. Das Bild soll quasi live angezeigt werden. Es baut sich also zeilenweise auf, alle 3 ms steht eine neue Zeile zur Verfügung. Es geht um max. 30000 Zeilen pro Bild mit jeweils 1536 Bytes pro Zeile. Der Benutzer soll in diesem Bild AUF und Ab scrollen können, später auch noch zoomen.
Zur Zeit benutze ich folgendes Codefragment:
this->pDXBackSurf->GetDC( &hSurfDC ) ) )
SetDIBitsToDevice( hSurfDC, 0, 0, WNDWIDTH, WNDHEIGHT, 0, 0, 0, WNDHEIGHT, this->pTDDisplayPosition, this->pBMPInfo, DIB_RGB_COLORS);
this->pDXBackSurf->ReleaseDC(hSurfDC);
Je nach Hardware dauert SetDIBitsToDevice 17 .. 100 ms! Das ist nicht applikationsgerecht. Leider habe ich keine DirectDraw Erfahrungen und bin deshalb sehr an Hinweisen und Beispielen interessiert.
Anmerkung: Die Systemspeicherzugriffe sind beim "100 ms Computer" schneller als beim "17-er". Beide Computer sind mit der gleichen Matrox Parhelia ausgerüstet.
Viele Dank im Voraus
Rainer Steinfeldt
ich bekomme zeilenweise Bilddaten von einem Detektor. Das Bild soll quasi live angezeigt werden. Es baut sich also zeilenweise auf, alle 3 ms steht eine neue Zeile zur Verfügung. Es geht um max. 30000 Zeilen pro Bild mit jeweils 1536 Bytes pro Zeile. Der Benutzer soll in diesem Bild AUF und Ab scrollen können, später auch noch zoomen.
Zur Zeit benutze ich folgendes Codefragment:
this->pDXBackSurf->GetDC( &hSurfDC ) ) )
SetDIBitsToDevice( hSurfDC, 0, 0, WNDWIDTH, WNDHEIGHT, 0, 0, 0, WNDHEIGHT, this->pTDDisplayPosition, this->pBMPInfo, DIB_RGB_COLORS);
this->pDXBackSurf->ReleaseDC(hSurfDC);
Je nach Hardware dauert SetDIBitsToDevice 17 .. 100 ms! Das ist nicht applikationsgerecht. Leider habe ich keine DirectDraw Erfahrungen und bin deshalb sehr an Hinweisen und Beispielen interessiert.
Anmerkung: Die Systemspeicherzugriffe sind beim "100 ms Computer" schneller als beim "17-er". Beide Computer sind mit der gleichen Matrox Parhelia ausgerüstet.
Viele Dank im Voraus
Rainer Steinfeldt
Comment