uint8 값을 RGB 포맷으로 옮기고 있거든
for()
{
value = 이미지포인터[좌표(float)];
*ptr++ = value;
*ptr++ = value;
*ptr++ = value;
}
요런식으로 하고있는데, 이미지 크기가 너무 큰데다 이 부분 좌표 연산에 줌 기능때문에 float 연산 들어가서 오버헤드가 심각하더라구...
당장 드는 생각은 이런게 있는데, 다 뭔가 이상함
1) SIMD
키 포인트는 정렬된 메모리같은데, float 이랑 uint8이랑 섞을 수 있나..?
2) 멀티쓰레딩
내가 만든 프로그램이 작업 관리자에서 점유율 2~30% 이상으론 안올라가서 생각한건데
실제로 8, 16쓰레드로 나눠서 돌려봤는데 별 효험은 없었음... 왜지ㅠ
3) OpenCL
예제 보니까 얘도 src랑 dst가 같은 사이즈인 경우가 많던데 (보통 콘볼루션 용도)
1 값 -> 3 값으로 뿔리는게 가능한가?
혹시 위에 얘기한거 말고 더 좋은 솔루션 있으면 힌트좀 주라...
위에것도 된다 안된다 정도만 알려주면 하는법은 알아서 찾아볼게ㅠㅠ
가능성만 파악할 수 있게 좀 도와조...
GIT에 없을까요? - dc App
GIT에다가 image processing 같은 키워드로 검색해보라는거야?
내가 하려는게 좀 비일반적인 접근이고 해서 기왕이면 원론적인 해결책을 좀 갖고있고싶은데 그 방향으론 뭐 없을까?
풀코드 공개 가능?
니가 원하는 성능이 어느 정도야? - return 0;
코드 첨부해서 글 리젠할게