New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hatch clipping #1898
Hatch clipping #1898
Conversation
@@ -226,6 +226,7 @@ | |||
'mathtext_asarray.py', | |||
'patch_collection.py', | |||
'path_patch_demo.py', | |||
'pcolormesh_example.py', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been using this to measure performance of any changes I'm making (via the backend driver), so thought I would include it here.
Thanks. I just merged the Travis/inkscape fix into master, so I don't think you have it on your branch. Can you rebase on master so that Travis can run? From the linked document, I can see how there are different performance implications of packed vs. unpacked, but how was that causing the hatched rendering bug? (Just for my own edification, really, nice to have a solution in any event). All the cleanups etc. look good. |
Sorry, somebody asked me a question as I was typing this... I meant to finish the sentence with "the change was not necessary to fix the hatching bug". |
Ah -- so what is the purpose of the change from packed to unpacked? (Other than it being simpler...)? |
It is necessary to start looking at compound rasterization (which was what I started doing, before spotting this). Its all a little incestuous, but as far as I can tell, these changes also seem to make a minor performance increase. |
_backend_agg.cpp.
Ok, no worries, then. |
@mdboom - thoughts? |
There are a bunch of seemingly legitimate test failures on Travis that all seem to have clip paths in common, so I think perhaps something related to clip paths is broken here. Unfortunately, I can't reproduce the problem locally when installing this branch, so it's anybody's guess at this point. (This is where getting the build products from Travis would be extremely useful, but unfortunately, that's not possible). |
Ah, ok. I'll try to investigate on my own VM which emulates the travis environment and have a look into this. |
Fixes a genuine bug with hatch clipping in Agg & tidies up some of the
_backend_agg.cpp
code.Note the change from
typedef agg::scanline_p8
totypedef agg::scanline_u8
has had no noticeable detrimental impact (p==packed
,u==unpacked
, see http://www.antigrain.com/doc/scanlines/scanlines.agdoc.html#toc0001).There are some changes in here which could fall into
v1.2.x
, but given our targets forv1.3
and the fact that I am actively working on_backend_agg.cpp
, I think it is fine for it to go to master only.