2016-07-26 2 views
0

그림자로 SVG를 만든 다음 SVG를 확대/축소하면 그림자를 다시 계산할 때 심각한 성능 문제가 발생합니다.SVG filterRes 대체/대체 전략

이전에는 filterRes=''을 사용하여이 문제를 해결할 수있었습니다. 그러나 filterres는 더 이상 사용되지 않으며 SVG 사양에서 제거되었습니다.

filterRes=''에 대한 대안을 찾고 있습니다. 확대/축소와 같은 작업을 수행 할 때 SVG 그림자와 같은 작업을 할 때 그림자를 다시 계산할 수 있습니다.


필터 사용이 중단되면 성능 장애를 극복 한 경험이있는 사람이 있습니까? filterres가 제공하는 기능을 대체하기위한 전략의 예는 무엇입니까?

답변

0

가장 쉬운 방법은 이미지의 그림자를 자신의 svg에 포함시키는 것입니다. 그로부터 시작하여 다양한 해상도로 그림자를 생성하고 필요할 때 적절한 크기로 끌어 당기는 솔루션이있을 수 있습니다. <canvas>을 사용하여 섀도우 클라이언트 측을 생성하고 이것을 svg에 base64로 인코딩 된 이미지 소스로 넘길 수 있습니다.

Btw는

... 그것은 강력 응용 프로그램과 성능 요구 사항에 따라 달라집니다, 그래서 세 또는 사전 렌더링, 또는 뭔가 더 복잡한 요구 "resultion의 단계는"적용 할 수있는 충분한 수있다. 당신은 CPU가 아닌 GPU에 확장 할 수있는 브라우저를 설득 할 수 있다면 당신은 또한 그래서 CSS를 사용하여,이 일이 훨씬 더 성능이 좋은 것

0

... 자바 스크립트로 <filter> 요소를 참조하고 필터를 직접 속성을 조작 할 수 있습니다 SVG에서 확대/축소하는 JavaScript 또는 viewBox 애니메이션 대신 3D 변형이 트릭을 수행 할 수 있습니다.