네트워크를 통해 간단한 이미지를 전송하면 빠릅니다. toDataURL
을 사용하여 캔버스에서 생성 된 동일한 이미지를 전송하려고하면 속도가 훨씬 느려집니다. 왜?toDataURL이 왜 느린가요?
답변
당신은 일반적으로 너무 많은 컨텍스트를 수 있도록 제공되지 않습니다
브라우저는 작은 헤더와 자료-64 스트림으로 이미지를 인코딩합니다 toDataURL()
를 사용하는 경우. Base-64는 인코딩되지 않은 크기에 비해 크기를 항상 33 % 늘립니다.
기본적으로 JPEG 인코딩 파일을 전송하는 경우 일반적으로 이미지의 PNG 버전보다 크기가 작습니다. toDataURL
의 이미지 유형을 지정하는 것을 잊어 버리면 브라우저는 항상 PNG로 기본 설정됩니다.
var quality = 0.7;
var dataUri = canvas.toDataURL('image/jpeg', quality);
질문을 따르십시오. 성능 측면에서 localstorage라고 할 수있게 dataUri를 저장하는 데 단점이 있습니까? – JohnAndrews
@JohnAndrews는 성능을 위해 (오버 헤드는 여전히있을 수 있지만) localSotrage는 문자열 만 취하므로 data-uri가 필요합니다. 그러나 스토리지 공간 *은 쉽게 문제가 될 것입니다. IndexedDB는이 IMHO를위한 더 나은 선택이며 Blob을 저장할 수 있습니다. – K3N
아아, 그게 입력 된 이미지로 기본 설정 될 것이라고 생각했고, jpeg로 변경하면 빠른 방식으로 제작되었습니다. 'canvas.toBlob'를 구현하는 Chrome을 기대하면서 더 빠르고 비 블로킹 할 수 있습니다. –
- 1. 왜 Pypy의 양키는 느린가요?
- 2. 하스켈의 기능이 왜 느린가요?
- 3. random.choice가 왜 그렇게 느린가요?
- 4. 왜 RethinkDB가 매우 느린가요?
- 5. Vim은 왜 그렇게 느린가요?
- 6. 왜 치료가 느린가요?
- 7. 왜 MinGW가 매우 느린가요?
- 8. 왜 Canvas.drawPath()가 느린가요?
- 9. Symfony3가 왜 그렇게 느린가요?
- 10. 왜 async pysnmp가 느린가요?
- 11. 왜 ShowGridLines가 느린가요?
- 12. 왜 비디오 뷰가 느린가요?
- 13. 이 코드가 왜 느린가요?
- 14. 왜 Node.js의 MySQL이 느린가요?
- 15. 왜 Android JSInterface가 느린가요?
- 16. 왜 textchangelistener가 느린가요?
- 17. 왜 monodroid/android 에뮬레이터가 느린가요?
- 18. Tk 캔버스가 왜 그렇게 느린가요?
- 19. 안드로이드 시뮬레이터가 왜 그렇게 느린가요?
- 20. SparkR의 수집이 왜 그렇게 느린가요?
- 21. 게 : 왜 게의 UserBasedRecommender가 느린가요?
- 22. GLSL 셰이더가 왜 그렇게 느린가요?
- 23. 왜 안드로이드 폰 시뮬레이터가 느린가요?
- 24. 왜 Ajax 응답이 매우 느린가요?
- 25. iPhone 앱이 왜 그렇게 느린가요?
- 26. 파이썬의 열거가 왜 그렇게 느린가요?
- 27. 안드로이드의 String.format 개가 왜 느린가요?
- 28. 박스형 벡터가 왜 그렇게 느린가요?
- 29. ruby scanf가 왜 그렇게 느린가요?
- 30. 왜 파이썬 gevent가 직렬보다 느린가요?
충분하지 않은 정보 :이 경우
, JPEG이 방법을 지정합니다. – akonsu최적화? 생성 된 이미지와 비교할 때 일반 이미지의 무게는 얼마입니까? – Boaz
는'transfer'를 정의합니다 – charlietfl