INFO: Problems with AV false positives are fixed in 25.0.0, now we sign our code and also use MSI installer type.
If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : We have got a new blog where we post some interesting SWF internals info.
List of issues#2592 Handling Antialias conflation artifacts by scaling
Author:
JPEXS
JPEXSDate created:
Type: feature
Visibility: Everybody
Assigned to:
Labels: Anti-alias
State: upgraded 

Currently, FFDec renders shapes by painter algorithm and when there are two filled areas
that are touching,
it displays small gap between them. This is called conflation artifact and is way how many
vector editors draw/work. For example Inkscape.
Some users already noticed (#2154, #2591) and it is also in known problems on FFDec Wiki.
These issues are private, so I am calling this new issue as official public issue for
talks about it.
There are some works on the internet that are focused on this topic and how to deal with
it.
For example here:
https://w3.impa.br/~diego/projects/GanEtAl14/sample.html?contour
One idea (supersampling?) is to render vector image in larger size with small gaps and
then downscaling the image back to original size. It's still not ideal as some of color
values at border are not precise. But it's definitely better than the previous state.
I'll try to implement the new algorithm based on scaling to FFDec here in this issue.
Problem with rendering images larger is that it may take too much memory.
There will be two parts to focus on:
1) rendering in FFDec
2) rendering for export
Export surely takes it's time so anybody can wait a bit longer.
On the other hand, rendering in FFDec, for example animated content,
needs to be fast.
So splitting configuration for these two will be necessary.
contour_small.svg (54 KiB)
conflation_gr_61.png (14 KiB)In nightly 3363, there are new options in Advanced Settings
regarding reduction of antialias conflation artefacts.
The reduction can be turned off/on and then user can set the resizing coefficient.
It's separate for Display and for Export.
The price for the reduction is that the display/export will be slower.
State: new→upgraded