5
카이로로 매우 큰 이미지 (> 50.0002 픽셀 이상)를 렌더링해야합니다. 메모리가 부족한 상태에서이 작업을 수행하기 위해 이미지의 일부 (< 1.0002 픽셀)를 하나씩 차례로 렌더링하고 나중에 병합합니다.카이로로 찍은 큰 이미지
- 만들기 1000x1000 표면
- 현재 부분의 위치를 번역
- 그리기 이미지 (pycairo를 사용하여 드로잉 명령을 호출)
- 렌더링/저장 이미지 파일로 (cairo_surface_write_to_png) 다음과
- 반복 부분
카이로 클리핑 알고리즘이 내 자신보다 빠르기 때문에 3 단계는 전체 이미지를 그립니다. 그 중 일부만 보입니다. 대부분의 CPU는 3 단계에서 사용됩니다 (파이썬으로). 대부분의 메모리는 4 단계 (카이로)에서 사용됩니다.
속도를 높이는 방법이 있습니까? 이 같은?
- 만들기 1000x1000 표면 이/저장 이미지가
- 반복 3 다음 부분으로 파일에 현재 렌더링 부분
- 의 위치로 모든 이동
- 그리기 이미지
또는
- 50000x50000 표면을 만들기
- 그리기 이미지
- /저장을 제기 할 이미지의 현재 부분을 렌더링
- 다음 부분 모두의
다른 언어는 옵션이 아니 어서 문제를 해결할 수 없지만 write_to_png_stream은 좋은 아이디어입니다. 감사합니다 – defnull
당신은 오신 것을 환영합니다. 나는 그것이 효과가 있기를 바란다. –