Skip to content
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

Optimize creation of images for Online operation at P5 #7660

Merged
merged 6 commits into from Feb 12, 2015

Conversation

osschar
Copy link
Contributor

@osschar osschar commented Feb 10, 2015

Review and optimize GL view rendering and image creation after a new event is loaded.

  1. Minimize the time the Eve redraw lock is held and make sure it does not re-fire after drawing.
  2. Synchronize back-to-front buffer swap of all views.
  3. Create images from GL views in independent threads. This should speed-up P5 online display by a factor of 3 to 4.

- TEveViewer -> FWTEveViewer
- TGLEmbeddedViewer -> FWTGLViewer

This gives us better control over how the views are redrawn, when the back and
front buffers are swapped, and gives us the ability to save images in multiple threads.
… use

Fireworks subclasses of Eve and GL Viewers.
FWEveViewManager now implements full redraw functionality and by-passes
execution in TEveManager. Code also supports simultaneous swapping of GL
buffers but it is not enabled by default.
Use png and jpeg libs directly as ROOT and/or ASImage are not thread safe.
Rendering and FBO capture is still done from the main thread, ROOT GL would
need to be significantly changed to support multi-threaded rendering (also, GL
contexts have to be created and used from the same thread (a solution would be
to have one thread per context / viewer)).
This can be turned by adding into rootc:
CmsShow.GlSwapOnRender: yes
@osschar
Copy link
Contributor Author

osschar commented Feb 10, 2015

+1

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @osschar (Matevž Tadel) for CMSSW_7_3_X.

Optimize creation of images for Online operation at P5

It involves the following packages:

Fireworks/Core

@cmsbuild, @alja, @Dr15Jones, @ktf, @nclopezo can you please review it and eventually sign? Thanks.
@alja this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@nclopezo you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@alja
Copy link
Contributor

alja commented Feb 11, 2015

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_3_X IBs unless changes or unless it breaks tests. This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @nclopezo, @ktf, @smuzaffar

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_3_X IBs unless changes (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @nclopezo, @ktf, @smuzaffar

@davidlange6
Copy link
Contributor

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants