Scalable Scalable Vector Graphics: Automatic Translation of Interactive SVGs to a Multithread VDOM for Fast Rendering

The dominant markup language for Web visualizations-Scalable Vector Graphics (SVG)-is comparatively easy to learn, and is open, accessible, customizable via CSS, and searchable via the DOM, with easy interaction handling and debugging. Because these attributes allow visualization creators to focus o...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on visualization and computer graphics 2022-09, Vol.28 (9), p.3219-3234
Hauptverfasser: Schwab, Michail, Saffo, David, Bond, Nicholas, Sinha, Shash, Dunne, Cody, Huang, Jeff, Tompkin, James, Borkin, Michelle A.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 3234
container_issue 9
container_start_page 3219
container_title IEEE transactions on visualization and computer graphics
container_volume 28
creator Schwab, Michail
Saffo, David
Bond, Nicholas
Sinha, Shash
Dunne, Cody
Huang, Jeff
Tompkin, James
Borkin, Michelle A.
description The dominant markup language for Web visualizations-Scalable Vector Graphics (SVG)-is comparatively easy to learn, and is open, accessible, customizable via CSS, and searchable via the DOM, with easy interaction handling and debugging. Because these attributes allow visualization creators to focus on design on implementation details, tools built on top of SVG, such as D3.js, are essential to the visualization community. However, slow SVG rendering can limit designs by effectively capping the number of on-screen data points, and this can force visualization creators to switch to Canvas or WebGL. These are less flexible (e.g., no search or styling via CSS), and harder to learn. We introduce Scalable Scalable Vector Graphics (SSVG) to reduce these limitations and allow complex and smooth visualizations to be created with SVG. SSVG automatically translates interactive SVG visualizations into a dynamic virtual DOM (VDOM) to bypass the browser's slow 'to specification' rendering by intercepting JavaScript function calls. De-coupling the SVG visualization specification from SVG rendering, and obtaining a dynamic VDOM, creates flexibility and opportunity for visualization system research. SSVG uses this flexibility to free up the main thread for more interactivity and renders the visualization with Canvas or WebGL on a web worker. Together, these concepts create a drop-in JavaScript library which can improve rendering performance by 3-9× with only one line of code added . To demonstrate applicability, we describe the use of SSVG on multiple example visualizations including published visualization research. A free copy of this article, collected data, and source code are available as open science at osf.io/ge8wp.
doi_str_mv 10.1109/TVCG.2021.3059294
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_proquest_journals_2696284779</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9354592</ieee_id><sourcerecordid>2696284779</sourcerecordid><originalsourceid>FETCH-LOGICAL-c392t-4b0f0f9b33c7207abf2c790b125bbd8d7a77fd402c43e54ef7731a5240c51f6f3</originalsourceid><addsrcrecordid>eNpdkUtrGzEUhUVpaF79AaVQBN10M-7VY0ZWd8Ft3EBCoHG9FRrNVTNhPHIkTaH_PjJ2vOhKB_Sdw4WPkA8MZoyB_rpaL5YzDpzNBNSaa_mGnDEtWQU1NG9LBqUq3vDmlJyn9ATApJzrd-RUiHquFMAZmR6cHWw7ID2GNbocIl1Gu33sXfpGr6YcNjb3jq6iHdNQYhhp8PRmzBity_3fUl8vE82BWno3DbnPjxFtR9ff7--oL2vXNmX6C8cOYz_-uSQn3g4J3x_eC_L7-sdq8bO6vV_eLK5uKyc0z5VswYPXrRBOcVC29dwpDS3jddt2805ZpXwngTspsJbolRLM1lyCq5lvvLggX_a72xieJ0zZbPrkcBjsiGFKhksNjMsGVEE__4c-hSmO5TrDG93wuVRKF4rtKRdDShG92cZ-Y-M_w8DsnJidE7NzYg5OSufTYXlqN9gdG68SCvBxD_SIePzWopZlQLwAqBuPcA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2696284779</pqid></control><display><type>article</type><title>Scalable Scalable Vector Graphics: Automatic Translation of Interactive SVGs to a Multithread VDOM for Fast Rendering</title><source>IEEE Electronic Library (IEL)</source><creator>Schwab, Michail ; Saffo, David ; Bond, Nicholas ; Sinha, Shash ; Dunne, Cody ; Huang, Jeff ; Tompkin, James ; Borkin, Michelle A.</creator><creatorcontrib>Schwab, Michail ; Saffo, David ; Bond, Nicholas ; Sinha, Shash ; Dunne, Cody ; Huang, Jeff ; Tompkin, James ; Borkin, Michelle A.</creatorcontrib><description>The dominant markup language for Web visualizations-Scalable Vector Graphics (SVG)-is comparatively easy to learn, and is open, accessible, customizable via CSS, and searchable via the DOM, with easy interaction handling and debugging. Because these attributes allow visualization creators to focus on design on implementation details, tools built on top of SVG, such as D3.js, are essential to the visualization community. However, slow SVG rendering can limit designs by effectively capping the number of on-screen data points, and this can force visualization creators to switch to Canvas or WebGL. These are less flexible (e.g., no search or styling via CSS), and harder to learn. We introduce Scalable Scalable Vector Graphics (SSVG) to reduce these limitations and allow complex and smooth visualizations to be created with SVG. SSVG automatically translates interactive SVG visualizations into a dynamic virtual DOM (VDOM) to bypass the browser's slow 'to specification' rendering by intercepting JavaScript function calls. De-coupling the SVG visualization specification from SVG rendering, and obtaining a dynamic VDOM, creates flexibility and opportunity for visualization system research. SSVG uses this flexibility to free up the main thread for more interactivity and renders the visualization with Canvas or WebGL on a web worker. Together, these concepts create a drop-in JavaScript library which can improve rendering performance by 3-9× with only one line of code added . To demonstrate applicability, we describe the use of SSVG on multiple example visualizations including published visualization research. A free copy of this article, collected data, and source code are available as open science at osf.io/ge8wp.</description><identifier>ISSN: 1077-2626</identifier><identifier>EISSN: 1941-0506</identifier><identifier>DOI: 10.1109/TVCG.2021.3059294</identifier><identifier>PMID: 33587700</identifier><identifier>CODEN: ITVGEA</identifier><language>eng</language><publisher>United States: IEEE</publisher><subject>Browsers ; Cascading style sheets ; Computer graphics ; Computer programming ; D3.js ; Data collection ; Data points ; Data visualization ; Flexibility ; Instruction sets ; Layout ; Rendering ; Rendering (computer graphics) ; Source code ; Specifications ; Styling ; SVG ; virtual DOM ; Visualization ; Visualization systems</subject><ispartof>IEEE transactions on visualization and computer graphics, 2022-09, Vol.28 (9), p.3219-3234</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c392t-4b0f0f9b33c7207abf2c790b125bbd8d7a77fd402c43e54ef7731a5240c51f6f3</citedby><cites>FETCH-LOGICAL-c392t-4b0f0f9b33c7207abf2c790b125bbd8d7a77fd402c43e54ef7731a5240c51f6f3</cites><orcidid>0000-0003-4427-3353 ; 0000-0002-8016-355X ; 0000-0001-9515-048X ; 0000-0002-1609-9776 ; 0000-0003-2218-2899</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9354592$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27901,27902,54733</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/9354592$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc><backlink>$$Uhttps://www.ncbi.nlm.nih.gov/pubmed/33587700$$D View this record in MEDLINE/PubMed$$Hfree_for_read</backlink></links><search><creatorcontrib>Schwab, Michail</creatorcontrib><creatorcontrib>Saffo, David</creatorcontrib><creatorcontrib>Bond, Nicholas</creatorcontrib><creatorcontrib>Sinha, Shash</creatorcontrib><creatorcontrib>Dunne, Cody</creatorcontrib><creatorcontrib>Huang, Jeff</creatorcontrib><creatorcontrib>Tompkin, James</creatorcontrib><creatorcontrib>Borkin, Michelle A.</creatorcontrib><title>Scalable Scalable Vector Graphics: Automatic Translation of Interactive SVGs to a Multithread VDOM for Fast Rendering</title><title>IEEE transactions on visualization and computer graphics</title><addtitle>TVCG</addtitle><addtitle>IEEE Trans Vis Comput Graph</addtitle><description>The dominant markup language for Web visualizations-Scalable Vector Graphics (SVG)-is comparatively easy to learn, and is open, accessible, customizable via CSS, and searchable via the DOM, with easy interaction handling and debugging. Because these attributes allow visualization creators to focus on design on implementation details, tools built on top of SVG, such as D3.js, are essential to the visualization community. However, slow SVG rendering can limit designs by effectively capping the number of on-screen data points, and this can force visualization creators to switch to Canvas or WebGL. These are less flexible (e.g., no search or styling via CSS), and harder to learn. We introduce Scalable Scalable Vector Graphics (SSVG) to reduce these limitations and allow complex and smooth visualizations to be created with SVG. SSVG automatically translates interactive SVG visualizations into a dynamic virtual DOM (VDOM) to bypass the browser's slow 'to specification' rendering by intercepting JavaScript function calls. De-coupling the SVG visualization specification from SVG rendering, and obtaining a dynamic VDOM, creates flexibility and opportunity for visualization system research. SSVG uses this flexibility to free up the main thread for more interactivity and renders the visualization with Canvas or WebGL on a web worker. Together, these concepts create a drop-in JavaScript library which can improve rendering performance by 3-9× with only one line of code added . To demonstrate applicability, we describe the use of SSVG on multiple example visualizations including published visualization research. A free copy of this article, collected data, and source code are available as open science at osf.io/ge8wp.</description><subject>Browsers</subject><subject>Cascading style sheets</subject><subject>Computer graphics</subject><subject>Computer programming</subject><subject>D3.js</subject><subject>Data collection</subject><subject>Data points</subject><subject>Data visualization</subject><subject>Flexibility</subject><subject>Instruction sets</subject><subject>Layout</subject><subject>Rendering</subject><subject>Rendering (computer graphics)</subject><subject>Source code</subject><subject>Specifications</subject><subject>Styling</subject><subject>SVG</subject><subject>virtual DOM</subject><subject>Visualization</subject><subject>Visualization systems</subject><issn>1077-2626</issn><issn>1941-0506</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNpdkUtrGzEUhUVpaF79AaVQBN10M-7VY0ZWd8Ft3EBCoHG9FRrNVTNhPHIkTaH_PjJ2vOhKB_Sdw4WPkA8MZoyB_rpaL5YzDpzNBNSaa_mGnDEtWQU1NG9LBqUq3vDmlJyn9ATApJzrd-RUiHquFMAZmR6cHWw7ID2GNbocIl1Gu33sXfpGr6YcNjb3jq6iHdNQYhhp8PRmzBity_3fUl8vE82BWno3DbnPjxFtR9ff7--oL2vXNmX6C8cOYz_-uSQn3g4J3x_eC_L7-sdq8bO6vV_eLK5uKyc0z5VswYPXrRBOcVC29dwpDS3jddt2805ZpXwngTspsJbolRLM1lyCq5lvvLggX_a72xieJ0zZbPrkcBjsiGFKhksNjMsGVEE__4c-hSmO5TrDG93wuVRKF4rtKRdDShG92cZ-Y-M_w8DsnJidE7NzYg5OSufTYXlqN9gdG68SCvBxD_SIePzWopZlQLwAqBuPcA</recordid><startdate>20220901</startdate><enddate>20220901</enddate><creator>Schwab, Michail</creator><creator>Saffo, David</creator><creator>Bond, Nicholas</creator><creator>Sinha, Shash</creator><creator>Dunne, Cody</creator><creator>Huang, Jeff</creator><creator>Tompkin, James</creator><creator>Borkin, Michelle A.</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>NPM</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>7X8</scope><orcidid>https://orcid.org/0000-0003-4427-3353</orcidid><orcidid>https://orcid.org/0000-0002-8016-355X</orcidid><orcidid>https://orcid.org/0000-0001-9515-048X</orcidid><orcidid>https://orcid.org/0000-0002-1609-9776</orcidid><orcidid>https://orcid.org/0000-0003-2218-2899</orcidid></search><sort><creationdate>20220901</creationdate><title>Scalable Scalable Vector Graphics: Automatic Translation of Interactive SVGs to a Multithread VDOM for Fast Rendering</title><author>Schwab, Michail ; Saffo, David ; Bond, Nicholas ; Sinha, Shash ; Dunne, Cody ; Huang, Jeff ; Tompkin, James ; Borkin, Michelle A.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c392t-4b0f0f9b33c7207abf2c790b125bbd8d7a77fd402c43e54ef7731a5240c51f6f3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Browsers</topic><topic>Cascading style sheets</topic><topic>Computer graphics</topic><topic>Computer programming</topic><topic>D3.js</topic><topic>Data collection</topic><topic>Data points</topic><topic>Data visualization</topic><topic>Flexibility</topic><topic>Instruction sets</topic><topic>Layout</topic><topic>Rendering</topic><topic>Rendering (computer graphics)</topic><topic>Source code</topic><topic>Specifications</topic><topic>Styling</topic><topic>SVG</topic><topic>virtual DOM</topic><topic>Visualization</topic><topic>Visualization systems</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Schwab, Michail</creatorcontrib><creatorcontrib>Saffo, David</creatorcontrib><creatorcontrib>Bond, Nicholas</creatorcontrib><creatorcontrib>Sinha, Shash</creatorcontrib><creatorcontrib>Dunne, Cody</creatorcontrib><creatorcontrib>Huang, Jeff</creatorcontrib><creatorcontrib>Tompkin, James</creatorcontrib><creatorcontrib>Borkin, Michelle A.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>PubMed</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>MEDLINE - Academic</collection><jtitle>IEEE transactions on visualization and computer graphics</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Schwab, Michail</au><au>Saffo, David</au><au>Bond, Nicholas</au><au>Sinha, Shash</au><au>Dunne, Cody</au><au>Huang, Jeff</au><au>Tompkin, James</au><au>Borkin, Michelle A.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Scalable Scalable Vector Graphics: Automatic Translation of Interactive SVGs to a Multithread VDOM for Fast Rendering</atitle><jtitle>IEEE transactions on visualization and computer graphics</jtitle><stitle>TVCG</stitle><addtitle>IEEE Trans Vis Comput Graph</addtitle><date>2022-09-01</date><risdate>2022</risdate><volume>28</volume><issue>9</issue><spage>3219</spage><epage>3234</epage><pages>3219-3234</pages><issn>1077-2626</issn><eissn>1941-0506</eissn><coden>ITVGEA</coden><abstract>The dominant markup language for Web visualizations-Scalable Vector Graphics (SVG)-is comparatively easy to learn, and is open, accessible, customizable via CSS, and searchable via the DOM, with easy interaction handling and debugging. Because these attributes allow visualization creators to focus on design on implementation details, tools built on top of SVG, such as D3.js, are essential to the visualization community. However, slow SVG rendering can limit designs by effectively capping the number of on-screen data points, and this can force visualization creators to switch to Canvas or WebGL. These are less flexible (e.g., no search or styling via CSS), and harder to learn. We introduce Scalable Scalable Vector Graphics (SSVG) to reduce these limitations and allow complex and smooth visualizations to be created with SVG. SSVG automatically translates interactive SVG visualizations into a dynamic virtual DOM (VDOM) to bypass the browser's slow 'to specification' rendering by intercepting JavaScript function calls. De-coupling the SVG visualization specification from SVG rendering, and obtaining a dynamic VDOM, creates flexibility and opportunity for visualization system research. SSVG uses this flexibility to free up the main thread for more interactivity and renders the visualization with Canvas or WebGL on a web worker. Together, these concepts create a drop-in JavaScript library which can improve rendering performance by 3-9× with only one line of code added . To demonstrate applicability, we describe the use of SSVG on multiple example visualizations including published visualization research. A free copy of this article, collected data, and source code are available as open science at osf.io/ge8wp.</abstract><cop>United States</cop><pub>IEEE</pub><pmid>33587700</pmid><doi>10.1109/TVCG.2021.3059294</doi><tpages>16</tpages><orcidid>https://orcid.org/0000-0003-4427-3353</orcidid><orcidid>https://orcid.org/0000-0002-8016-355X</orcidid><orcidid>https://orcid.org/0000-0001-9515-048X</orcidid><orcidid>https://orcid.org/0000-0002-1609-9776</orcidid><orcidid>https://orcid.org/0000-0003-2218-2899</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1077-2626
ispartof IEEE transactions on visualization and computer graphics, 2022-09, Vol.28 (9), p.3219-3234
issn 1077-2626
1941-0506
language eng
recordid cdi_proquest_journals_2696284779
source IEEE Electronic Library (IEL)
subjects Browsers
Cascading style sheets
Computer graphics
Computer programming
D3.js
Data collection
Data points
Data visualization
Flexibility
Instruction sets
Layout
Rendering
Rendering (computer graphics)
Source code
Specifications
Styling
SVG
virtual DOM
Visualization
Visualization systems
title Scalable Scalable Vector Graphics: Automatic Translation of Interactive SVGs to a Multithread VDOM for Fast Rendering
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-08T06%3A16%3A19IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Scalable%20Scalable%20Vector%20Graphics:%20Automatic%20Translation%20of%20Interactive%20SVGs%20to%20a%20Multithread%20VDOM%20for%20Fast%20Rendering&rft.jtitle=IEEE%20transactions%20on%20visualization%20and%20computer%20graphics&rft.au=Schwab,%20Michail&rft.date=2022-09-01&rft.volume=28&rft.issue=9&rft.spage=3219&rft.epage=3234&rft.pages=3219-3234&rft.issn=1077-2626&rft.eissn=1941-0506&rft.coden=ITVGEA&rft_id=info:doi/10.1109/TVCG.2021.3059294&rft_dat=%3Cproquest_RIE%3E2696284779%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2696284779&rft_id=info:pmid/33587700&rft_ieee_id=9354592&rfr_iscdi=true