Bug 39522 - Limit number of tiles that can be created for tiled layers on Windows
Summary: Limit number of tiles that can be created for tiled layers on Windows
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows 7
: P2 Normal
Assignee: Chris Marrin
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2010-05-21 18:34 PDT by Chris Marrin
Modified: 2010-05-23 07:48 PDT (History)
1 user (show)

See Also:


Attachments
Patch (5.70 KB, patch)
2010-05-22 15:28 PDT, Chris Marrin
simon.fraser: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Marrin 2010-05-21 18:34:00 PDT
My change in https://bugs.webkit.org/show_bug.cgi?id=39461 does not limit the number of tiles that can be created, so for very large elements crashes and hangs can occur. I will implement the following:

 I will add a workaround where I limit the number of tiles. At 512x512, a tile consumes  about a megabyte of memory. If we limit to 500 tiles I think we will be able to handle extremely large composited elements yet still keep memory under control. For instance, an element of 20,000 x 1000 will use 160 tiles and an element of 1000 x 100,000 is 400 tiles. I will render tiles in the upper left corner of the tiled layer, so the first part of the element, which will usually be visible, will be what gets rendered.

This will protect us against very large tiled layers, until a more efficient, visibility based optimization can be done.
Comment 1 Chris Marrin 2010-05-21 18:56:14 PDT
In radar as rdar://problem/8016574
Comment 2 Chris Marrin 2010-05-22 15:28:51 PDT
Created attachment 56792 [details]
Patch
Comment 3 Chris Marrin 2010-05-23 07:48:34 PDT
Landed in http://trac.webkit.org/changeset/60045