Jessie,
I'm committing my optimizations of literenderer - could you ensure that
they work with udig? I dont expect any problems, but there's been a
lot of changes and a quick check will not hurt.
Benifits:
* labeling is 2* as fast
* drawing is faster
* for multiple FeatureTypeStyle, the data is only queried once
1. code reorganization in literenderer2 -- it should be much easier to
figure out whats going on. Still needs a little work, but its much
easier to understand.
2. added a few classes:
* LiteFeatureTypeStyle (see javadoc) - just stores everything
required to render a single FeatureTypeStyle + the Graphics2D its
supposed to use.
* SymbolizerAssociation - stores a little pre-computed data
3. Labeling changes:
* there were several places where things were being computed in a
loop when they were not needed -- I factored these out.
* short circuited some expensive computations.
4. Multiple FeatureTypeStyle:
a) if you've only got one FTS, then it should work just like before
b) if there's >1 FTS, then the first FTS is rendered as normal.
The rest of the FTS are rendered on a separate BufferedImage and
merged.
5. Math transform optimizations in lite. Lite was calculating math
transforms & doing unnecessary work in the critical rendering loop. I
factored these out (ie. see SymbolizerAssociation).
Once you've okayed literenderer2, we can move it back down to
literenderer and retire literenderer2 (having 2 identicle renderers is
confusing).
dave
ps for tracking -- "Committed revision 15257." to 2.1.x branch
----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/
Hi dave,
I love the changes to the labeller but the drawing isn't good because I no longer get my incremental updating. What do you think we should do about that?
Jesse
dblasby@anonymised.com wrote:
Jessie,
I'm committing my optimizations of literenderer - could you ensure that
they work with udig? I dont expect any problems, but there's been a
lot of changes and a quick check will not hurt.
Benifits:
* labeling is 2* as fast
* drawing is faster
* for multiple FeatureTypeStyle, the data is only queried once
1. code reorganization in literenderer2 -- it should be much easier to
figure out whats going on. Still needs a little work, but its much
easier to understand.
2. added a few classes:
* LiteFeatureTypeStyle (see javadoc) - just stores everything
required to render a single FeatureTypeStyle + the Graphics2D its
supposed to use.
* SymbolizerAssociation - stores a little pre-computed data
3. Labeling changes:
* there were several places where things were being computed in a
loop when they were not needed -- I factored these out.
* short circuited some expensive computations.
4. Multiple FeatureTypeStyle:
a) if you've only got one FTS, then it should work just like before
b) if there's >1 FTS, then the first FTS is rendered as normal. The rest of the FTS are rendered on a separate BufferedImage and
merged.
5. Math transform optimizations in lite. Lite was calculating math
transforms & doing unnecessary work in the critical rendering loop. I
factored these out (ie. see SymbolizerAssociation).
Once you've okayed literenderer2, we can move it back down to
literenderer and retire literenderer2 (having 2 identicle renderers is
confusing).
dave
ps for tracking -- "Committed revision 15257." to 2.1.x branch
----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/