Changes between Version 11 and Version 12 of SMOOTH_TEXT_RENDERING_R0


Ignore:
Timestamp:
06/17/09 15:33:32 (16 years ago)
Author:
vlado
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SMOOTH_TEXT_RENDERING_R0

    v11 v12  
    88 
    99== Overview == 
    10 The ability to render text frames without wrapping around objects. 
     10 * The purpose of this task is to improve text rendering in terms of time performance. 
     11 * Main focus 
     12  * Improve the text layout itself 
     13  * Improve how and when text layout is used (when the text is reflowed, etc.) 
     14 * LayoutBuilderTest is used to measure the time of laying out text that exactly fills a frame with standard size (width: 280p, height: 210p). 
     15  * Test runs in around 0.656 seconds. 
    1116 
    1217== Task requirements == 
    13 Following functionality should present in the prototype  
    14  * Rotation of the frame without losing the text 
    15  * Zooming the text 
    16  * Resizing the frame - the text should be able to flow inside the frame 
    17  * Moving the text 
     18 * Improve layout performance with 40%. 
     19 * Test should run in around 0.4 seconds. 
    1820 
    1921== Task result == 
    20  * The result should be code 
     22 * The result of this task is code 
    2123 
    2224== Implementation idea == 
    23 Extend TextFrameView located in org.sophie2.main.view and add the required functionality.  
     25 * Ratings of performance improvement solutions: 
     26  * Hardness: 1(easiest) - 4(hardest) 
     27  * Expected effectiveness: 4(smallest) - 1(biggest) 
     28 * Rated possibilities to improve the layout algorithm: 
     29  * Improve logging - (hardness)1 + (effectiveness)2 = (cumulative)3 
     30  * Implement the issues commented as "performance" - 2 + 3 = 5 
     31  * Improve badness calculation - 3 + 3 = 6 
     32  * Refactor badness - 4 + 3 = 7 
     33  * Memoization (part of a path, edge, etc.) - 4 + 1 = 5 
     34  * Check for existing useless updates and reflowing (e.g. selecting the frame with highest z-order) - 2 + 3 = 5 
     35  * Check for large ammounts of objects cloning - 2 + 3 = 5 
     36 * During design and implementation handle the improvement possibilities in the order of the least cumulative rating. 
    2437 
    2538== Related == 
    26 [wiki:SCENE_COMMONS] 
    27  
    28 [wiki:SCENE_COMMONS_R0] 
     39[wiki:WRAPPING_TEXT_RENDERING_R0] 
    2940 
    3041== How to demo == 
    31  * Start the application 
    32  * Create new book 
    33  * Inside the book create new text frame and type some text (you could use lorem ipsum generator for better result - http://www.lipsum.com/) 
    34  * rotate and scale the text 
    35  * resize the frame 
    3642 
    3743= Design =