<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>158281</bug_id>
          
          <creation_ts>2016-06-01 16:03:39 -0700</creation_ts>
          <short_desc>SVGImage should report a more accurate memory cost for its decoded data</short_desc>
          <delta_ts>2016-06-02 08:01:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=158139</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>sabouhallawa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198322</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-01 16:03:39 -0700</bug_when>
    <thetext>In http://trac.webkit.org/changeset/201334, a simple calculation for the SVGImage memory cost was implemented. A more accurate but fast solution is required for better memory and resource caching utilization. Two solutions should be investigated:

1. A through navigation for the DOM and the render trees of the SVGImage accounting all the big memory chunks especially the vectors and the expensive cached graphics resources, e.g. the Path object. The down side of this approach is it is very costly and it&apos;s likely to become stale over time. 

2. Assume the SVGImage decoded data (the DOM and the render trees) is a ratio of the encoded data. This would require some heuristic to get this ratio offline. The ratio can be applied on the SVGImage level itself; e.g. sizeof_decoded_SVGImage = sizeof_encoded_SVGImage x decoding_ratio. Its down side is it is hard to get a good estimate for decoding_ratio. Also the result can be an inaccurate estimate especially if the SVG includes shared resources and they are referenced many times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198325</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-06-01 16:10:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/26588995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198327</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-06-01 16:13:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/26589087&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>