Summary: | Enhance GLCapabilities-Query from native Configuration (EGL, GLX, WGL) / General Performance | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Sven Gothel <sgothel> |
Component: | core | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | sgothel |
Priority: | --- | ||
Version: | 2 | ||
Hardware: | All | ||
OS: | all | ||
Type: | --- | SCM Refs: |
613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d
cf1163fc88976e7087d3a17524a49139e35a4708
6395670886513796b747e7aaef2ebfbbcda7b07e
144b9ef5a433b2a93f5503b1c935c8f7ec61a0de
|
Workaround: | --- | ||
Bug Depends on: | |||
Bug Blocks: | 888, 905 |
Description
Sven Gothel
2013-11-05 08:59:11 CET
613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..) ran over all FB configs and for each it grabbed native config values separately. Fetching them in bulk mode saves around 7% of this function's cost. Also reuse XRenderPictFormat instance for 'XRenderDirectFormat XRenderFindVisualFormat(..)' call, saving a few NIO creation cycles w/ StructAccessor. Biggest savior is X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig()'s fast path w/o chooser and usable 1st FBConfig. Here we only issue 'GLXFBConfig2GLCapabilities(..)' on the first valid entry. Test w/ 50 X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig() invocations: - pre change: 1.708 ms - post change: 650 ms Time is no spent almost solely on native glXChooseFBConfig (546ms). cf1163fc88976e7087d3a17524a49139e35a4708 Bug 888 / Bug 891 - Enhance GLCapabilities-Query: Apply changes of commit 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d to EGL and WGL. 6395670886513796b747e7aaef2ebfbbcda7b07e: WindowsWGLGraphicsConfigurationFactory: Fix chosenPFDID -> recommendedIndex (!skipCapsChooser mode) Regression of commit cf1163fc88976e7087d3a17524a49139e35a4708: Commit dropped seeking recommendedIndex of chosenPFDID within cleaned-up availableCaps when in !skipCapsChooser mode. 144b9ef5a433b2a93f5503b1c935c8f7ec61a0de GLJPanel: Don't ctor DefaultGLCapabilitiesChooser() if null chooser is passed, this allows native GLCaps/config query to follow fast-path |