スピードアップ

ピッカーの速度が遅いのの解決策をこうじていました。
ちょうど今下の記事でid:nyaxtさんに突っ込まれてましたが毎回SetPixelすると重いのでビットマップに描画しておいてBitBltする方法を取っています。

	hdc = GetDC(hWnd);
	hdcTest = CreateCompatibleDC(hdc);
	hbmpTest = CreateCompatibleBitmap(hdc, 256, 256);
	hbmpTestOld = (HBITMAP)SelectObject(hdcTest, hbmpTest);
	ReleaseDC(hWnd, hdc);

	for (int i = 0;i < 256;i++) {
		for (int j = 0;j < 256;j++) {
			SetPixel(hdcTest, j, i, RGB(255, j, i));
		}
	}

	hdc = GetDC(hWnd);
	BitBlt(hdc, 0, 0, 256, 256, hdcTest, 0, 0, SRCCOPY);
	ReleaseDC( hWnd, hdc );

	SelectObject(hdcTest, hbmpTestOld);
	DeleteDC(hdcTest);
	DeleteObject(hbmpTest);

処理部分を抜粋するとこんな感じですね
あとは必要なところでBitBltで呼んでウインドウハンドラにコピーすれば高速でした。