openmicroscopy/openmicroscopy — pull request #718 by will-moore (2013-02-09 23:54:43+00:00)
Title: Reuse re 10178

With this branch, the web will always try to re-use any existing Rendering Engines that are initialised with the desired pixels. If none are found, then we createRE as usual.

Also, for any request that uses webgateway _get_prepared_image(), we can specify that we don't want to close the RE when the request completes. This is done by using ?closeRE=false in the url.
Currently, this flag is only used in the image-viewer, so when we are fetching multiple planes for the same image, we're keeping the RE open so it can be re-used by subsequent requests. On closing the image-viewer window, we try to close all Rendering Engines (although this doesn't work in Firefox and won't happen for the "Preview" tab either, so we need to think up a different strategy).

All REs can be closed by visiting /webgateway/close_rendering_engines/. This will also return json indicating the pixelsIds of any REs that were closed, so can be used to monitor the number of REs that are open.

The /webtest/render_performance/ page supports the ?closeRE=false flag, so we can see the performance effects of keeping the RE open between requests.

Things to test (and discuss if we want this PR in at-all)
- Browse P/D/I...
- Check REs open (/webgateway/close_rendering_engines/) Should see empty list unless you've opened the Image Viewer or Preview panel
- Open the Image-Viewer - check REs open, should see 1
- Try webtest/render_performance/ Refresh page, then check/uncheck the "Keep RE open" before loading planes to compare performance.
- Also see if "Load All" shows any conflicts with multiple workers conflicting over the same RE (channel settings not as expected).
- Check REs open - should only see REs open when 'keep REs open' is checked.