Difference between revisions of "RendererIssues"
m (link fix) |
|||
Line 7: | Line 7: | ||
* As discussed on Sodipodi list long ago, the maximum zoom is set in desktop.h. I tried | * As discussed on Sodipodi list long ago, the maximum zoom is set in desktop.h. I tried | ||
#define SP_DESKTOP_ZOOM_MAX 256.0 | #define [[SP_DESKTOP_ZOOM_MAX]] 256.0 | ||
:but that revealed many problems with the renderer. For example, on my system at about 70x zoom, lines in paths simply disappear. | :but that revealed many problems with the renderer. For example, on my system at about 70x zoom, lines in paths simply disappear. |
Revision as of 02:33, 22 January 2006
This is a meta-page for bugs and problems related to the renderer. The ones I found are:
- As discussed on Sodipodi list long ago, the maximum zoom is set in desktop.h. I tried
#define SP_DESKTOP_ZOOM_MAX 256.0
- but that revealed many problems with the renderer. For example, on my system at about 70x zoom, lines in paths simply disappear.
My wild guess is that the above problems are related, and that they can be fixed or at least made less nasty by increasing the precision used by the renderer. Does this sound plausible?
Answering my own question: yes it does, partially. Making everything double in libnr fixed the last of the three problems above. Patch is being submitted. Two other problems, however, did not fix. In fact 853827 even became worse: now it crashes as soon as you try to zoom into the zero-length path. Other than that, however, Inkscape seems to work fine with double precision. Todo: increase the precision of writing coordinates into SVG (currently only 6 digits!).
UPDATE: 853827 is now fixed (this was a one-character fix, borrowed from Sodipodi). 854468 stays.
It's not simply a matter of throwing more bits at the problem. If the rendering is all based on floating-point then there will be problems since you don't get fine control of the precision. This is one of the issues we've been trying to handle well with cairo where the guts use fixed-point arithmetic almost everywhere, (and where they don't it's a bug). See Cairoification --Carl Worth