Okay, I've commit it.

The new thread Larry started recently will be a better
place for the other issue.

Thanks for all your patience! :)

Kind regards,
Sascha


Michaël Michaud schrieb:
>> if you both vote for a commit, then commit
>> (from my perspective Michael would be the other person for an 
>> approvement - but probably he is busy - and we both trust you both :o)
>>  
>>
> Yes definetely.
> I hardly followed your interesting discussion about ThreadQueue but I'm 
> sure you have good reasons to do this change and I'm grateful if you 
> could improve this dark part of the code.
> 
> Michaël
> 
>>  
>>
>>>   Let's start a new thread that works on rendering changes.  I'm open 
>>> to all solutions, but some of them may take a little longer to 
>>> incorporate than others.  When he is ready, we should evaluate Landon's 
>>> pluggable rendering system to see if it can be part of the solution.  
>>> I'm afraid I never really understood what class of problems it was 
>>> targeted at solving.
>>>    
>>>
>> ;) ..an exercise???
>>
>> stefan
>>  
>>
>>>  I'll test the less radical ZoomToSelectedItemsPlugIn solution.   We 
>>> may need to make the RenderManager repaint timer duration get and 
>>> set-able so that we can synchronize better.
>>>
>>>  I'll also take a look at your proposed rendering system changes, but I 
>>> would also like to investigate a different solution first.  I'll report 
>>> back soon.
>>>
>>> regards,
>>> Larry
>>>
>>> On 6/20/07, *Sascha L. Teichmann* <[EMAIL PROTECTED] 
>>> <mailto:[EMAIL PROTECTED]>> wrote:
>>>
>>>    Hi!
>>>
>>>    Larry Becker schrieb:
>>>     > Thanks Stefan.  We appreciate other voices in what was becoming a
>>>    dialog.
>>>
>>>    We're talking about a very small technical detail here so
>>>    nobody who is only concerned in the 'big plot' is willing
>>>    to follow. My fault. I should talk more about brand new, cool,
>>>    and hyper-ultra features for the end users ...
>>>
>>>     > I agree with your two problems as stated.
>>>     >          1 - We cannot determine exactly when a rendering
>>>     >               has ended (successfully or not).
>>>     >          2 - We have a javax,swing.Timer in RenderingManager
>>>     >               that triggers a repaint any x ms.
>>>
>>>    First of all let me state that we are not talking
>>>    about 'A new ThreadQueue' any more. The problems we discussing
>>>    now exist with the old and the new one. See below.
>>>
>>>    My main goal in this thread was to bring on a new ThreadQueue.
>>>    Are we through with this? If yes, I will commit it.
>>>
>>>     > I'm not sure that changing the repaint timer setting from 1000 to 400
>>>     > affects performance significantly.  My benchmarks show a 3%
>>>    increase in
>>>     > render time for burlulc.  I'm not sure if that will be true for all
>>>     > platforms and CPUs.  There could be some advantage from my Dell's P4
>>>     > hyper-threading here.  I'll have to do more tests on a single CPU
>>>    to be
>>>     > sure.  I did drop the time to 40 ms and got a 22% increase.  At that
>>>     > level, Jon's comment about too little happening each repaint rang
>>>    true.
>>>
>>>    Sorry Larry, setting the the value to 400ms does not solve the problem
>>>    on my lower end machine. The flash is regularly omitted if I zoom
>>>    to smaller scales. All the tweaking you are suggesting seems to scale
>>>    with your horse power (only).
>>>
>>>     > A 400 ms repaint timer doesn't solve the problem, but it makes it
>>>     > bearable for zoom to selected.  I can't speak to how this affects
>>>    the
>>>     > printing plugins.  For databases and WMSLayers, it isn't the
>>>    solution.
>>>
>>>    Exactly. And you may be supprised: there are people out there who
>>>    want to print WMS layers too. Ask Jukka!
>>>
>>>     > Are the printing plugins working around this problem now by long
>>>    delays
>>>     > or what?
>>>
>>>    The Print/Layout plug-in offers an option to set a wait time for this
>>>    kind of layers with a comment like "Sorry dear user, we aren't
>>>    capable to figure out how long it may take to print this layer. Try
>>>    several value. Do some nested intervals. Do a little trial and error."
>>>    IMHO this isn't very cool.
>>>
>>>    Same for zooming. To avoid expensive data import into the Print/Layout
>>>    plug-in we offer the opportunity to insert previews (screen shots)
>>>    of the map. Later when the real print is done the data needs to be
>>>    extracted from the GIS. This involves a zooming to a bookmarked
>>>    position. Zooming is not reliable. So we have the same waiting
>>>    options here with the same cheesy comment "Sorry, dear user ..."
>>>
>>>    I can live with this. As I said a long time ago at the very beginning
>>>    of this thread: I can explain this to customers, I'm able proof the
>>>    quirks and I'm also able to show possible solutions.
>>>
>>>    The real interesting question (to me) is:
>>>    Is it possible in OpenJUMP to correct little design flaws like this?
>>>
>>>    Even if we have to bend the original design a bit?
>>>
>>>    I'll have a keen look at Landons pluggable renderer stuff ...
>>>
>>>     > I'm trying to assess the impact of not fixing this issue right
>>>    now.  I
>>>     > don't want to minimize the problem, but I see other more pressing
>>>    issues
>>>     > of speed and usability that need my attention right now.  I need
>>>    to work
>>>     > on the speed of Task Loading, and I found a new issue today
>>>    working with
>>>     > very large datasets.  It takes a _very_ long time to delete 50,000
>>>     > objects.  I see big gains with minimal effort expended in these
>>>    areas.
>>>
>>>    This is fine to me and I appreciate this. I have other things for the
>>>    'big plot'(tm) in the pipe too (the improved WMS support e.g). I'm the
>>>    last who wants to throttle you with unimportant things. :-)
>>>
>>>     > So Sascha, what is your other suggestion for a less radical
>>>    solution?
>>>
>>>    Larry, the modifications I'd suggested were very easy to implement.
>>>
>>>    I removed the Timer in the RenderingManager, adjusted the Renderers
>>>    and made the RenderingManager a RenderingMaster which is able to track
>>>    the rendering. Under [1] you find the according src tree. I left out
>>>    the docs/libs/dlls and so on. If one is interested look at
>>>    Renderer, RenderingManager, ImageCachingRenderer,
>>>    ImageCachingFeatureCollectionRenderer and
>>>    ZoomToSelectedItemsPlugIn.
>>>
>>>    Now the less radical solution:
>>>
>>>    Start a new thread in ZoomToSelectedItemsPlugIn and let it sleep
>>>    for 400ms before you do the flash.
>>>
>>>    Something like this has to be done in all cases
>>>    because the ThreadQueue tells you about the end of a rendering
>>>    thread and not if the panel is ready for a flash. This has to do
>>>    with repaint()/copyTo() stuff which has to be done afterwards
>>>    and takes some (machine dependent) time too.
>>>
>>>    regards,
>>>      Sascha
>>>
>>>    [1]
>>>    
>>> http://intevation.de/~teichmann/openjump/openjump-src-renderer-mod.tar.bz2
>>>
>>>    -------------------------------------------------------------------------
>>>
>>>    This SF.net email is sponsored by DB2 Express
>>>    Download DB2 Express C - the FREE version of DB2 express and take
>>>    control of your XML. No limits. Just data. Click to get it now.
>>>    http://sourceforge.net/powerbar/db2/
>>>    _______________________________________________
>>>    Jump-pilot-devel mailing list
>>>    Jump-pilot-devel@lists.sourceforge.net
>>>    <mailto:Jump-pilot-devel@lists.sourceforge.net>
>>>    https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>>
>>>
>>>
>>> -- 
>>> http://amusingprogrammer.blogspot.com/
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by DB2 Express
>>> Download DB2 Express C - the FREE version of DB2 express and take
>>> control of your XML. No limits. Just data. Click to get it now.
>>> http://sourceforge.net/powerbar/db2/
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>    
>>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>>
>>  
>>
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to