
Krzysztof Kosiński wrote:
W dniu 20 marca 2010 18:16 użytkownik Vangelis Katsikaros <vkatsikaros@...1244...> napisał:
Hi Krzysztof
I would like to ask what you mean by tiling. Is it a Cairo thing or is it about rendering performance (out of Cairo)?
Regards Vangelis
Regardless of the rendering system, we can split the canvas into several rectangular regions of the same size called tiles. When something changes, we redraw only the affected tiles. It may either reduce or improve performance: When the change affects a small number of ties, the amount of computation required to redraw them is lower.
However, if there are too many tiles, a lot of them are affected. We need to repeat the drawing commands for each tile. We end up sending a lot of commands, while redrawing the whole screen at once would do it in a much lower number of commands.
When you say canvas you mean the whole svg area (parts that are inside and outside the user's viewport) or only what is visible in the user's viewport?
<note> I use the word *viewport*, in order to describe the part of the part of the canvas, the user sees in his window. If there is a more appropriate gtk name, let me know. </note>
I see two different issues: a) rendering shapes that intersect with the user's viewport. This is needed when the user moves the viewport or changes zoom level. b) from the shapes, that intersect with the user's viewport, rendering only the ones that have been updated. This is needed when the user keeps the viewport still but makes edits on the shapes.
I would like to do the a) part (GSOC or not) and I'll know in the next 2 weeks if it can fit the GSOC timeline (ongoing MSc thesis and some other work).
Regards Vangelis __________________________________________________ �������������� Yahoo!; ���������� �� ���������� �������� (spam); �� Yahoo! Mail �������� ��� �������� ������ ��������� ���� ��� ����������� ��������� http://mail.yahoo.gr