[Solved] CEGUI initialisation causes flickering (ogre 2.0)
Moderators: CEGUI MVP, CEGUI Team
[Solved] CEGUI initialisation causes flickering (ogre 2.0)
Hey again, sorry for being a bother recently!
I'm back with another issue that have been occurring since my upgrade to ogre 2.0.
Initially I had thought this was an ogre problem and thus I posted on their forums two months ago: http://www.ogre3d.org/forums/viewtopic.php?f=2&t=83461 but no one seemed able to help and I have now identified that it is a cegui initialization thing.
I previously thought we had found a temporary workaround as enabling FSAA in the ogre config prevented the flickering on my computer, but this does not work for several others.
The issue did NOT occur with Ogre 1.8 and CEGUI 0.8.3
The issue DOES occur with ogre 2.0 and commits 40d85612c22c and 0de4973e25fb and also the unofficial version of cegui from opentechengine commit 6f00952d31
To confirm that CEGUI was the reason for the flickering, i created a special branch with everything CEGUI disabled:
https://github.com/Revolutionary-Games/ ... ee-version
which does not have the flickering issue.
Now to identify the exact issue I was planning to enable CEGUI features line by line to find the cause of the flicker but already at the very first initialization function: https://github.com/Revolutionary-Games/ ... e.cpp#L330 the flickering begun.
(I uncommented the necessary includes and that one line to confirm)
Note that this specific branch uses the opentechengine commit 6f00952d31 but the issue is identical in the official commits.
I tried digging through CEGUI source code but to no avail. I also tried manual creation of the renderer.
I read through previous topics:
viewtopic.php?t=6325
http://cegui.org/forum/viewtopic.php?t=6325&start=15
but those problems seem to be focused on input perhaps being to blame, but in this latest flicker reproduction I had all injection disabled.
CEGUI Log: http://pastebin.com/hdwTTXuD
A video of the flickering: https://www.youtube.com/watch?v=S8snvQ8 ... e=youtu.be
Hope you might have some idea what might be to blame?
I understand that the commits I've been using are not part of official releases and may be unstable which could be causing the issues. Ogre 2.0 isn't even officially released. So I understand if may not be able to provide sufficient assistance.
Thank you!
I'm back with another issue that have been occurring since my upgrade to ogre 2.0.
Initially I had thought this was an ogre problem and thus I posted on their forums two months ago: http://www.ogre3d.org/forums/viewtopic.php?f=2&t=83461 but no one seemed able to help and I have now identified that it is a cegui initialization thing.
I previously thought we had found a temporary workaround as enabling FSAA in the ogre config prevented the flickering on my computer, but this does not work for several others.
The issue did NOT occur with Ogre 1.8 and CEGUI 0.8.3
The issue DOES occur with ogre 2.0 and commits 40d85612c22c and 0de4973e25fb and also the unofficial version of cegui from opentechengine commit 6f00952d31
To confirm that CEGUI was the reason for the flickering, i created a special branch with everything CEGUI disabled:
https://github.com/Revolutionary-Games/ ... ee-version
which does not have the flickering issue.
Now to identify the exact issue I was planning to enable CEGUI features line by line to find the cause of the flicker but already at the very first initialization function: https://github.com/Revolutionary-Games/ ... e.cpp#L330 the flickering begun.
(I uncommented the necessary includes and that one line to confirm)
Note that this specific branch uses the opentechengine commit 6f00952d31 but the issue is identical in the official commits.
I tried digging through CEGUI source code but to no avail. I also tried manual creation of the renderer.
I read through previous topics:
viewtopic.php?t=6325
http://cegui.org/forum/viewtopic.php?t=6325&start=15
but those problems seem to be focused on input perhaps being to blame, but in this latest flicker reproduction I had all injection disabled.
CEGUI Log: http://pastebin.com/hdwTTXuD
A video of the flickering: https://www.youtube.com/watch?v=S8snvQ8 ... e=youtu.be
Hope you might have some idea what might be to blame?
I understand that the commits I've been using are not part of official releases and may be unstable which could be causing the issues. Ogre 2.0 isn't even officially released. So I understand if may not be able to provide sufficient assistance.
Thank you!
Last edited by jjonj on Sun Aug 09, 2015 21:34, edited 1 time in total.
Re: CEGUI initialisation causes flickering (ogre 2.0)
Try to deactivate all ARS (autorendering surfaces) for all windows you use. Do you notice any difference? I used default branch with CEGUI and for me the only part that wa flickering was the Window that had ARS. Since you probably use CEGUI windows for the full screen this might have the effect you see.
Please tell me if setting all ARS to false (framewindows have it on by default, the other windows shouldnt unless specified in the LNF files) changes anything for you.
Please tell me if setting all ARS to false (framewindows have it on by default, the other windows shouldnt unless specified in the LNF files) changes anything for you.
CrazyEddie: "I don't like GUIs"
Re: CEGUI initialisation causes flickering (ogre 2.0)
In the above described example, i produce the flickering by just initializing cegui with the bootstrap function without ever creating or using any windows. But I tried creating root and disabling auto rendering, such that the only cegui code I have is:
but the flickering still occurs
Do you have any other ideas? or any additional information I can provide?
Code: Select all
CEGUI::OgreRenderer::bootstrapSystem();
CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton();
CEGUI::Window* myRoot = wmgr.createWindow( "DefaultWindow", "root" );
myRoot->setUsingAutoRenderingSurface(false);
CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow( myRoot );but the flickering still occurs
Do you have any other ideas? or any additional information I can provide?
Re: CEGUI initialisation causes flickering (ogre 2.0)
• I didn't mean full-screen mode for your application host window but that a window of CEGUI would be covering the entire application window.
• If you didn't load any layouts etc, what is the GUI menu that shown made in? Is that not made with CEGUI?
If the bootstrap function alone causes this then the issue must lie somewhere in the OgreRenderer. The OgreRenderers currently in use for 2.0 were user contributions. It is not unlikely there are problems. Which CEGUI branch did you use for your application? I remember there were multiple ways of rendering CEGUI, one uses Overlays, the other Compositor(?) or something like that. The issue might be related to this feature of Ogre and might actually not be related to CEGUI, or the OgreRenderer might be configured wrong. It is really hard to tell for me right now and I have no resources to check this now myself ):
• If you didn't load any layouts etc, what is the GUI menu that shown made in? Is that not made with CEGUI?
If the bootstrap function alone causes this then the issue must lie somewhere in the OgreRenderer. The OgreRenderers currently in use for 2.0 were user contributions. It is not unlikely there are problems. Which CEGUI branch did you use for your application? I remember there were multiple ways of rendering CEGUI, one uses Overlays, the other Compositor(?) or something like that. The issue might be related to this feature of Ogre and might actually not be related to CEGUI, or the OgreRenderer might be configured wrong. It is really hard to tell for me right now and I have no resources to check this now myself ):
CrazyEddie: "I don't like GUIs"
Re: CEGUI initialisation causes flickering (ogre 2.0)
If you didn't load any layouts etc, what is the GUI menu that shown made in? Is that not made with CEGUI?
Ah my bad, I didn't make myself properly clear. Before posting here i tried to reduce the problem with the flickering, so my plan was to disable all of CEGUI completely, which I did and the flickering was gone, this made the program not have any gui at all ofc, and a simply blue background is displayed instead using pure ogre. Then I planned to slowly turn on parts of the CEGUI code to figure out what was causing the flickering, but already with the very first function (the bootstrap function) the flickering started.
The video I have linked above is before cegui was disabled.
Which CEGUI branch did you use for your application?
I've tried a couple: commits 40d85612c22c and 0de4973e25fb from the default branch and also the unofficial version of cegui from opentechengine commit 6f00952d31
there were multiple ways of rendering CEGUI, one uses Overlays, the other Compositor(?)
hen I was looking through the CEGUI bootstrapping function I found that we we're using something similar to this:
Code: Select all
Ogre::CompositorManager2* manager = Ogre::Root::getSingleton().getCompositorManager2();
CEGUI::OgreRenderer& renderer = CEGUI::OgreRenderer::create();
CEGUI::OgreResourceProvider* rp = new CEGUI::OgreResourceProvider();
CEGUI::OgreImageCodec* ic = new CEGUI::OgreImageCodec();
CEGUI::System::create(renderer, rp, static_cast<CEGUI::XMLParser*>(0), ic);
Ogre::CompositorWorkspaceDef* templatedworkspace =
manager->addWorkspaceDefinition("CEGUI_workspace");
Maybe I can try and look at some of the other initialisation methods and see if I can try something different.
Thanks for your help anyhow with however much assistance you can provide
Re: CEGUI initialisation causes flickering (ogre 2.0)
Could it be related to the compositors feature of Ogre? Some conflict or overlap? Or a Ogre bug?
CrazyEddie: "I don't like GUIs"
Re: CEGUI initialisation causes flickering (ogre 2.0)
I very much so verified that it was related to the compositor since when I changed
to
The flickering became white instead of black.
I really need this issue resolved somehow, atm I'm trying some different ogre commits and branches but cegui doesn't compile with some of them, I imagine it isn't quite compatible with all of them yet.
Code: Select all
pCompositorManager->createBasicWorkspaceDef(workspaceName.getFriendlyText(), Ogre::ColourValue::Black);to
Code: Select all
pCompositorManager->createBasicWorkspaceDef(workspaceName.getFriendlyText(), Ogre::ColourValue::White);The flickering became white instead of black.
I really need this issue resolved somehow, atm I'm trying some different ogre commits and branches but cegui doesn't compile with some of them, I imagine it isn't quite compatible with all of them yet.
Re: CEGUI initialisation causes flickering (ogre 2.0)
What happens if you don't do anything with compositors in YOUR code and start cegui up? Still flickering? If no then this must be some collision that can probably be resolved if you ask on the Ogre forum about compositors in 2.0 and how this could have been caused. I didn't look into compositors at all yet so I have not the slightest idea currently...
Regarding other branch's code. We got different contributions for v0-8 and default branch for OgreRenderer. Forget v0, it only has v0-8's changes in that respect. It might be useful to check the OgreRenderer of the other branch and compare what is done differently there for v2.0. Maybe that helps.
Regarding other branch's code. We got different contributions for v0-8 and default branch for OgreRenderer. Forget v0, it only has v0-8's changes in that respect. It might be useful to check the OgreRenderer of the other branch and compare what is done differently there for v2.0. Maybe that helps.
CrazyEddie: "I don't like GUIs"
Re: CEGUI initialisation causes flickering (ogre 2.0)
What happens if you don't do anything with compositors in YOUR code and start cegui up?
I can't get a simple program to displaying anything but a black screen unless I use compositors. Whether that's me being a poor ogre user or compositors being required, I'm not quite sure.
Regarding other branch's code. We got different contributions for v0-8 and default branch for OgreRenderer. Forget v0, it only has v0-8's changes in that respect. It might be useful to check the OgreRenderer of the other branch and compare what is done differently there for v2.0. Maybe that helps.
I'm not entirely sure i understand what you mean here, but if 0.8 and default has different ogrerenderer code, then I should try compiling with 0.8 as well.
Re: CEGUI initialisation causes flickering (ogre 2.0)
Black screen in Ogre is fine. We only care about CEGUI not flickering for now . CEGUI should of course be rendered, thats what I care about currently. The idea is to then add things step by step and see when it starts flickering.
Sure try 0.8, it is the stable branch after all anyways and therefore better to use.
Sure try 0.8, it is the stable branch after all anyways and therefore better to use.
CrazyEddie: "I don't like GUIs"
Re: CEGUI initialisation causes flickering (ogre 2.0)
Suddenly I'm having strange linking problems.
I assumed with ogre being black that nothing could be rendered, I'll be busy tomorrow but I'll try your suggestion on monday and see if I can get cegui to render anything without compositors.
Thanks for you help again!
I assumed with ogre being black that nothing could be rendered, I'll be busy tomorrow but I'll try your suggestion on monday and see if I can get cegui to render anything without compositors.
Thanks for you help again!
Re: CEGUI initialisation causes flickering (ogre 2.0)
Alriighty then
I tried CEGUI 0.8 branch, and the flickering isn't occuring but the gui isn't showing up at all (just transparent), which I guess isn't too surprising since the ogre 2.0 support is only(?) in the default branch.
We used to use 0.8 before we upgraded to ogre 2.0, but when Henri Hyyryläinen came to help us upgrade to ogre 2.0, he also upgraded CEGUI to default which was the source of the flickering (only on windows, so he didn't notice initially).
I knew Henri Hyyryläinen had commited a bugfix to CEGUI, but I had no idea he had been so involved with CEGUI in general for the past year and a half, and it seems like he was the one adding the initial ogre 2.0 support and probably the person you referenced above.
While he showed great interest in helping us (Thrive) in the future, he can't help now though, as he is doing his military service for the next 9 months.
Don't know where I'm going with that though =P
I'll try the rendering of CEGUI without compositors next, using the default branch.
I tried CEGUI 0.8 branch, and the flickering isn't occuring but the gui isn't showing up at all (just transparent), which I guess isn't too surprising since the ogre 2.0 support is only(?) in the default branch.
We used to use 0.8 before we upgraded to ogre 2.0, but when Henri Hyyryläinen came to help us upgrade to ogre 2.0, he also upgraded CEGUI to default which was the source of the flickering (only on windows, so he didn't notice initially).
I knew Henri Hyyryläinen had commited a bugfix to CEGUI, but I had no idea he had been so involved with CEGUI in general for the past year and a half, and it seems like he was the one adding the initial ogre 2.0 support and probably the person you referenced above.
While he showed great interest in helping us (Thrive) in the future, he can't help now though, as he is doing his military service for the next 9 months.
Don't know where I'm going with that though =P
I'll try the rendering of CEGUI without compositors next, using the default branch.
Re: CEGUI initialisation causes flickering (ogre 2.0)
I'm surprised to find that CEGUI does render without any compositor stuff enabled and that the flickering still does not occur.
So we got, Pick two: Display ogre stuff - Display GUI - No flickering. but not all three yet =/
I'll try and research if it's possible to get ogre to render without the compositors
EDIT: hhyyrylainen made a few suggestions back in may for potential reasons of the flickering that I had forgotten about:
Back then I tried some suggestions he made, but none of them we're successful, but those comments seem relevant again.
So we got, Pick two: Display ogre stuff - Display GUI - No flickering. but not all three yet =/
I'll try and research if it's possible to get ogre to render without the compositors
EDIT: hhyyrylainen made a few suggestions back in may for potential reasons of the flickering that I had forgotten about:
This maybe an issue with CEGUI's Ogre 2.0 renderer which uses ogre workspaces to render at the right time. Perhaps the workspace priority doesn't work correctly which causes flickering.
Oh, and ogre viewports could also be a cause, as they don't have a rendering order anymore.
Back then I tried some suggestions he made, but none of them we're successful, but those comments seem relevant again.
Re: CEGUI initialisation causes flickering (ogre 2.0)
Could you be so kind to make a bitbucket ticket in the issue tracker and put all this information including the quotes there, so this is at least not forgotten in the future? You can also reference from ticket to here and from here to ticket.
Also good to know what happened to henri, hadn't seen him in a while in IRC etc
I remember there was another contribution for v0-8. Are you sure v0-8 has no 2.0 support?
Found it: https://bitbucket.org/cegui/cegui/pull- ... -with/diff
There was another PR later on to fix some D3D11 stuff.
Also good to know what happened to henri, hadn't seen him in a while in IRC etc
I remember there was another contribution for v0-8. Are you sure v0-8 has no 2.0 support?
Found it: https://bitbucket.org/cegui/cegui/pull- ... -with/diff
There was another PR later on to fix some D3D11 stuff.
CrazyEddie: "I don't like GUIs"
Re: CEGUI initialisation causes flickering (ogre 2.0)
I created a ticket here:
https://bitbucket.org/cegui/cegui/issue ... -only-with
I left the severity at Major, but I'm sure you can downgrade it if appropriate.
I'm not, the reason that has been my assumption is that Henri Hyyryläinen have added a lot of commits related to ogre 2.0 on the default branch, including ones that seem to add the very basics to make it work, e.g.
https://bitbucket.org/cegui/cegui/commi ... 2d8eaa6792
and those commits don't appear in the 0.8 branch (at least not on the same dates). But maybe they're just merged in?
Although looking at the ogre renderer.cpp in the 0.8 source, it does have the compositor code there.
I can try and mess around a bit with 0.8 and see if i can get the GUI to show up (currently invisible/transparent/not showing) but I'm not quite sure where to start.
https://bitbucket.org/cegui/cegui/issue ... -only-with
I left the severity at Major, but I'm sure you can downgrade it if appropriate.
Code: Select all
Are you sure v0-8 has no 2.0 support?I'm not, the reason that has been my assumption is that Henri Hyyryläinen have added a lot of commits related to ogre 2.0 on the default branch, including ones that seem to add the very basics to make it work, e.g.
https://bitbucket.org/cegui/cegui/commi ... 2d8eaa6792
and those commits don't appear in the 0.8 branch (at least not on the same dates). But maybe they're just merged in?
Although looking at the ogre renderer.cpp in the 0.8 source, it does have the compositor code there.
I can try and mess around a bit with 0.8 and see if i can get the GUI to show up (currently invisible/transparent/not showing) but I'm not quite sure where to start.
Last edited by jjonj on Mon Aug 03, 2015 18:51, edited 2 times in total.
Who is online
Users browsing this forum: No registered users and 2 guests
