Test contents for SVG Smooth Zooming and Panning

Satoru Takagi

Panning

( use mouse drag (mouse down and mouse move) to panning )
Numbercontent structurePanning Methodsvg content sizecomment:Firefox(24.0,27.0.1)comment:Firefox(28.0)comment:Chrome(30.0.1599.101, 33.0.1750.154)InternetExplorer(10.0.10, 11.0.4)
1div/img(svg)css translate3d to div2MBIt stumbles just after "every" mouse down. Subsequently, it shows smooth panning. good!It stumbles just after "first" mouse down after document load. Subsequently, it shows smooth panning. Low frame rate
2div/img(svg)css translate3d to div8MBIt stumbles more just after "every" mouse down.good!It shows the same behaviors as 1 including smoothness.Low frame rate
3div/img(svg)css translate to div2MBIt shows the same behaviors as 1.good!Low frame rateLow frame rate
4div/img(svg)css translate to div8MBIt shows the same behaviors as 2good!More low frame rateLow frame rate
5div/object(svg)css translate3d to div2MBIt shows the same behaviors as 1 (expect for svg object is not hittable).--It shows the same behaviors as 1 (expect for svg object is not hittable).--
6img(svg)css translate3d to img2MBIt shows the same behaviors as 1 (expect for svg object is not hittable).good!It shows the same behaviors as 1Low frame rate
7div/inlineSVGcss translate3d to div2MBLow frame rateSame as <=It shows the same behaviors as 1Low frame rate
8inlineSVGcss translate3d to inlineSVG2MBLow frame rateSame as <==It shows the same behaviors as 1 expect for the afterimage of an compensation domain.Low frame rate
9inlineSVG/svg:image(svg)css translate3d to inlineSVG2MBLow frame rategood!It shows the same behaviors as 1 expect for the afterimage of an compensation domain.Low frame rate
10inlineSVG/svg:image(svg)svg:viewBox2MBIt shows the same behaviors as 1good!Low frame rateLow frame rate
11inlineSVG/svg:image(svg)svg:viewBox8MB^^^^
12inlineSVGsvg:viewBox2MBMore low frame rateSame as <==Low frame rateLow frame rate. Not proper clipping.
13inlineSVGsvg:viewBox8MBSame as 12^
14CSS background image SVGcss:backgroundPosition2MBLow frame rateIt stumbles just after "first" mouse down after document load. Subsequently, it shows smooth panning. Low frame rateMost smooth panning
15SVG is drawn on canvas using discrete javascript logic.css transform to canvas2MBAt every browsers, the start of panning is quick and its frame rate of the midst of pannnig is also high. However, the re-rendering after the end of panning by discrete logic is somewhat heavy. Since the browser native processing of SVG should be carried out (for animation interactivity etc.), this is only stopgap implementation.
16Same as 15Same as 158MBSame as 15. Re-rendering is more heavy.

Zooming

( use mouse drag (mouse down and mouse move) to zooming )(25 & 26: right-click drag)
Numbercontent structureZooming Methodsvg content sizecomment:Firefox(24.0-27.0.1)Firefox(28.0-31.0(windows))comment:Chrome(30.0.1599.101, 33.0.1750.154, 36.0.1985.125 windows),(36.0.1985.131 nexus7 android) InternetExplorer(10.0.10, 11.0.4, 11.0.9600)
21div/img(svg)css scale3d to div2MBIt stumbles just after "every" mouse down. Subsequently, it shows smooth zooming. But it may stumble during zooming (dragging) irregularly. Stretched image quality is as good as expected.Same as <==It stumbles just after "first" mouse down after document load. Subsequently, it shows smooth zooming. However, stretched image quality is disappointing as vector graphics.Low frame rate
21bdiv/object(svg)css scale3d to div

event is captured from embedded svg document
2MBIt stumbles just after "every" mouse down. Subsequently, it shows smooth zooming. But it may stumble during zooming (dragging) irregularly. Stretched image quality is as good as expected. The acquisition of an event itself is awkward. Same as <==It stumbles just after "first" mouse down after document load. Subsequently, it shows smooth zooming. However, stretched image quality is disappointing as vector graphics. Furthermore, image quality becomes good, when you push the 'Change Color' button, only immediately after the expanded picture became larger than the bottom or a right end of a window. However, image quality deteriorates, after performing zoom again. And, when the expanded picture is not larger than the bottom or a right end of a window, even if the Change Color button is pushed, image quality does not change. The acquisition of an event itself is awkward. Low frame rate
21cdiv/object(svg)css scale3d to div

event is captured from document (you shoud zoom by clicking outer of the picture.)
2MBIt stumbles just after "every" mouse down. Subsequently, it shows smooth zooming. But it may stumble during zooming (dragging) irregularly. Stretched image quality is as good as expected. Same as <==It stumbles just after "first" mouse down after document load. Subsequently, it shows smooth zooming. However, stretched image quality is disappointing as vector graphics. Furthermore, image quality becomes good, when you push the 'Change Color' button, only immediately after the expanded picture became larger than the bottom or a right end of a window. However, image quality deteriorates, after performing zoom again. And, when the expanded picture is not larger than the bottom or a right end of a window, even if the Change Color button is pushed, image quality does not change. Low frame rate
22div/img(svg)css scale3d to div8MBSame as 21Same as <==It shows the same behaviors as 21 including smoothness.Low frame rate
23div/img(svg)css zoom to div2MBIt shows the same behaviors as 21.Same as <==Low frame rate but stretched image quality is good.
23bdiv/img(svg)css zoom (after zoom), scale3d (during zooming) to div2MBIt shows the same behaviors as 21.Same as <==After zoom, image quality is good. However image quality is too poor during zooming. And it stumbles just after "every" mouse down.
24inlineSVG/svg:image(svg)svg:viewBox2MBIt shows the same behaviors as 21Same as <==Low frame rateLow frame rate. Not proper clipping.
25
Zoom:Right-click drag
SVG is drawn on canvas using discrete javascript logic.css transform to canvas2MBSame as 15
26
Zoom:Right-click drag
Same as 15Same as 158MBSame as 16
27div/img(svg)css matrix to div2MBSame as 23Same as <==It shows the same behaviors as 23.Low frame rate
28div/img(svg)css matrix3d to div2MBSame as 21Same as <==It shows the same behaviors as 21.Low frame rate
29div/img(svg)css scale3d to div
initially translate3d(0px,0px,0.1px)is applied
8MB- not tested -Different from 22, There is no stumble just after a mouse down. However, there is still stumbles during zooming animation. Different from 22, There is no stumble just after a mouse down. However, there is degradation of the display quality after expansion like 22. Low frame rate
30div/object(svg)css scale3d to div
initially translate3d(0px,0px,0.1px)is applied

event is captured from document (you shoud zoom by clicking outer of the picture.)
2MB- not tested -It shows the same behaviors as 29.It shows the same behaviors as 29.Low frame rate

Nested SVG contents

T.B.D.
created 2013.10.15 , updated 2014.3.28