Performance drop - many containers

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Performance drop - many containers

Postby bomkallo » Wed Dec 30, 2015 01:38

Hello there,

Since a time I fight with CEGUI to accomplish simple inventory system. D3D9 renderer is used, cegui 8.x.

It had to be draggable so I built initial part to be like that:

(A pseudo hierarchy diagram)

1. FrameWindow as the main holder
2. Another frame window with no toolbar to give more borders/look
3. Here, ScrollbarPane, as the idea is to simulate multicolumnlist with custom elements.
4. VerticalLayoutContainer as the child of scrollbarpane

This is the first part that don't change. The rows are added as children to verticallayoutcontainer in form:
1. OuterContainer = HorizontalLayoutContainer (as wrapper)
2. DragContainer, child of outercontainer
3. InnerContainer (horizontallayoutcontainer), child of dragcontainer
4. Static text, static text and button are children of InnerContainer
5. Finally the whole 'row' is added to verticallayoutcontainer from first part p.4

Think I wrote it ok, it worked ok, i could added row by row, scrollbar worked properly but... when I reach more than 50-100 records my rendering process starts to pop, on r9 280 hexa-core amd.
I used to test various containers/elements to accomplish this task and finally this one seemed to work without hand-positioning. Everything is layoutcontainer driven but scrollbarpane seems to reprocess all these elements instead of only visible ones, because the more I add the more drops I get.

Btw, I used to write my own gui and in new project I wanted to skip this point because of the 'wheel' idea, but with every step it seems to be inevitable:(

Thanks in advance.

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: Performance drop - many containers

Postby Ident » Wed Dec 30, 2015 22:29

Hi, the reinventing the wheel thing is definitely relevant when it comes to saving yourself time but also you should also consider the benefit of working on something bigger, something that you may improve with your work if you want. If everyone does that, the result is definitely better than any do-it-yourself solution, especially if your project becomes more complicated (there are of course, as always, some cases where a homemade version is better, especially if all you need is super-simple and no additional features necessary in the future).

AutoRenderingSurface on the FrameWindows are off? If no you might want to turn them off.

From your description it is hard to tell what the actual issue is. You can do one of the following to help us solve your issue or make you aware of what the issue is which allows you to solve it on your own and make a PR. Choose whichever you prefer:

A) Run a profiler in Release with Debug symbols config and check where the program spends the most time when you reach your performance issues. Use sampling or instrumentation for this - I can recommend the Visual Studio Profiler for this purpose if it is available in your setup, otherwise a simple one with sampling should work.
This would be the preferred method since you learn the most, you can tell us the most (also in the future) and potentially solve the issue yourself and make a PR with the solution.

B) Create a Sample in the Sample Browser which does what you want to do in a minimal fashion and allows to reproduce the issue - then provide us the code, we might find out what the issue is then.

or
C) As a (for you maybe) simpler version of B) you may also simply output the windows hierarchy that creates issues into XML as string. There is a function for this purpose, you can then store the output in a layout file, then provide us with said layout file so we can oad it to reproduce the issue. (please test the layout file before asking us to check it)

Functions for writing Windows as layouts are:
Window::writeLayoutToStream
WindowManager::writeLayoutToStream
WindowManager::getLayoutAsString
WindowManager::saveLayoutToFile

Some of these are only available on default branch.
CrazyEddie: "I don't like GUIs"

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Thu Dec 31, 2015 00:49

Autorendering - didn't touch.

1. More complex layouts I do programatically.
2. The rest comes from CEED.

Ok, first, just see my target:

http://snag.gy/DcoxD.jpg

On the screen you'll see test windows, but the main is cargo with eve online cubemap behind:)

A) I do run Visual Studio, but really I've never went into profiler because I knew where things crack. I can do some testing, but you know, you simply feel it:) The worst cegui section is the lack of multicolumnlist which should accept windows instead of listboxtext which is the only holy grail in this story.

B) Sample - won't go this way.

C) Maybe, not worth it.

Let's try code paste, I'll just show you what I've made for testing purposes:

private:
FrameWindow *cargo;
FrameWindow *cargoFrame;
ScrollablePane *pane;
VerticalLayoutContainer *vlay;

static string getCargoInstanceName(int id);

void createWindow();
void registerHandlers();

----------- Above part isn't really required, but let it be there for tmp help

cargo = static_cast<FrameWindow*>(WindowManager::getSingleton().createWindow("TaharezLook/FrameWindow", cargoInstanceName));
cargo->setText(cargoName);

// Set main frame somewhere
cargo->setPosition(UVector2(UDim(0.3, 0), UDim(0.3, 0)));
cargo->setSize(USize(cegui_reldim(0.3), cegui_reldim(0.55)));


_instance = cargo;
cargo->setUserData(this);

// Inner cargo scrollable container
cargoFrame = static_cast<FrameWindow*>(WindowManager::getSingleton().createWindow("TaharezLook/FrameWindow"));
cargoFrame->setPosition(UVector2(cegui_absdim(5), cegui_absdim(10)));
cargoFrame->setSize(USize(cegui_reldim(0.982), cegui_reldim(0.9)));
cargoFrame->setTitleBarEnabled(false);
cargoFrame->setCloseButtonEnabled(false);
cargoFrame->setSizingEnabled(false);

// Scrollable container for layouts
pane = static_cast<ScrollablePane*>(WindowManager::getSingleton().createWindow("TaharezLook/ScrollablePane", "Pane"));
pane->setPosition(UVector2(cegui_reldim(0), cegui_absdim(0)));
pane->setSize(USize(cegui_reldim(1), cegui_reldim(1)));

// Main vertical container, consits of horizontal (n)layouts->dragcontainer->hlayout->items
vlay = static_cast<VerticalLayoutContainer*>
(WindowManager::getSingleton().createWindow("VerticalLayoutContainer", "Vlay"));

pane->addChild(vlay);

cargoFrame->addChild(pane);

cargo->addChild(cargoFrame);

--------------------- ROW NOW -------------


void cargoWindow::addRow(cargoEntry *entry)
{
// Create example row?
HorizontalLayoutContainer *outerLay = static_cast<HorizontalLayoutContainer*>
(WindowManager::getSingleton().createWindow("HorizontalLayoutContainer"));
outerLay->setUserData(&entry->uid);

DragContainer *drag = static_cast<DragContainer*>
(WindowManager::getSingleton().createWindow("DragContainer"));
drag->setSize(USize(cegui_reldim(1), cegui_reldim(0.07)));

// Inner drag container for row composition
HorizontalLayoutContainer *innerLay = static_cast<HorizontalLayoutContainer*>
(WindowManager::getSingleton().createWindow("HorizontalLayoutContainer"));

// Push standard controls, name, quantity, info button
Window *name = WindowManager::getSingleton().createWindow("TaharezLook/StaticText");
//name->setSize(USize(cegui_reldim(0.5), cegui_reldim(0.8)));
name->setSize(USize(cegui_absdim(175), cegui_absdim(26)));
name->setText(entry->name);

Window *quantity = WindowManager::getSingleton().createWindow("TaharezLook/StaticText");
quantity->setPosition(UVector2(cegui_reldim(0.01), cegui_reldim(0)));
quantity->setSize(USize(cegui_reldim(0.2), cegui_reldim(0.8)));
stringstream qstr;
qstr << entry->quantity;
quantity->setText(qstr.str());

Window *info = WindowManager::getSingleton().createWindow("TaharezLook/Button");
info->setSize(USize(cegui_reldim(0.2), cegui_reldim(0.8)));
info->setText("Info");

float margin = 4;
name->setMargin(UBox(UDim(0, margin), UDim(0, margin), UDim(0, margin), UDim(0, margin)));
quantity->setMargin(UBox(UDim(0, margin), UDim(0, margin), UDim(0, margin), UDim(0, margin)));
info->setMargin(UBox(UDim(0, margin), UDim(0, margin), UDim(0, margin), UDim(0, margin)));

innerLay->setMousePassThroughEnabled(true);
name->setMousePassThroughEnabled(true);
quantity->setMousePassThroughEnabled(true);

innerLay->addChild(name);
innerLay->addChild(quantity);
innerLay->addChild(info);

drag->addChild(innerLay);
outerLay->addChild(drag);

vlay->addChild(outerLay);
}

Damn, I rarely write forums, where the heck I push code? If you have trouble I'll use pastebin

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Thu Dec 31, 2015 01:03

PS: this two functions,( the first one lost its name ) create the layout visible on screenshort from the link
I've just got lost when performance went space while many rows are added

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: Performance drop - many containers

Postby Ident » Thu Dec 31, 2015 08:57

There is a "code" button when you post... this is also described in the viewtopic.php?f=10&t=3351 "ensure you read this" section.

Writing a sample is next to zero effort, you just put your code there and compile & run it. Why are you not willing to put this minimal effort into this?
Sorry, but no one should expect anyone to go far out of their way to help them, if they are not willing to put minimal effort into make the help process easier.

Use the Visual Studio profiler and shows us the results if you are unwilling to follow B) or C). I can't help if I do not see what is wrong and a long paste of code without even using the proper code tags of the forum, is not really inviting ... :|
CrazyEddie: "I don't like GUIs"

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Thu Dec 31, 2015 16:11

Minimal effort? As far as you know this GUI you must not say minimal effort. I've gave you a lot of simple code to test, seems you are not really aware of what's going behind the scenes., just read what've written, can't you? I don't care profilers and debuggers since I can see 'fucking' results and you know you suck at specific solutions and you suddenly cry for money for any request! So you make open source or go pay to know idea instrad of giving a fuck that you're doing anything wqith that glitch!

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Thu Dec 31, 2015 16:13

MORE OVER! You make multicolumnlist and you go far far from standards what people expect, and suddenly I have to pay for this useless knowledgr while i I can write my own gui?!

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Thu Dec 31, 2015 16:22

PS: really, it's simpler to get c# windows forms than this crap :::) i expect complex gui not a total waaste, but you won't sentence yourself because of people who want buttons only::)

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: Performance drop - many containers

Postby Ident » Thu Dec 31, 2015 16:22

I didn't ask for money, where do you read that? I did not even hint at such a thing.

I provided 3 options (without cost) that would allow me or anyone else to help you, and I told you to give us more information so we can help you. The code snippet is a joke. It does not compile, it is not a full sample, it does not run on its own.

And besides all of that, you did not even take the time to read the forum guidelines and use the code tags for it.

bomkallo wrote:PS: really, it's simpler to get c# windows forms than this crap :::) i expect complex gui not a total waaste, but you won't sentence yourself because of people who want buttons only::)

Depending on your use-case this might be better. I never advised against it. I would obviously not advise to use this for games or rendering applications however.
CrazyEddie: "I don't like GUIs"

lucebac
Just can't stay away
Just can't stay away
Posts: 193
Joined: Sat May 24, 2014 21:55

Re: Performance drop - many containers

Postby lucebac » Thu Dec 31, 2015 16:38

bomkallo wrote:If you have trouble I'll use pastebin

Please, do this if you can't/don't want to use [code] tags. Smileys etc don't make the code more readable. Also, indentation gets lost otherwise.

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Fri Jan 01, 2016 00:56

I'll do. Don't take me straight, I'm simply dissapointed so i need to trollout somewhere:P Let's get into new year somehow better so i'll check whether the simple class I have is adjustable to be sampled in every environment. Still, I mentioned money because on forum you rarely see this, but I wrote kulik for simple solution, it was even not a solution but question and he rejected, but he went this way because it was mentioned in cegui contact:)

More, I thought the tree I gave you before is kind of a thing that you will feel, maybe containers and pane are bugged or smth, but ok, i'll put this subject to the end, at least for sake of my own peace, cause I really like cegui but it hits me in every possible way when I go non-standard controls.

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Mon Jan 04, 2016 16:04

Ok, here's what I get after first output. This is only 5 records for simplicity, I see serious popping of camera at 50 + records.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>

<GUILayout version="4" >
    <Window type="TaharezLook/FrameWindow" name="Cargo_#1" >
        <Property name="Area" value="{{0.3,0},{0.3,0},{0.6,0},{0.85,0}}" />
        <Property name="Text" value="Cargo_#1" />
        <Window type="TaharezLook/FrameWindow" >
            <Property name="Area" value="{{0,5},{0,10},{0.982,5},{0.9,10}}" />
            <Property name="SizingEnabled" value="false" />
            <Property name="TitlebarEnabled" value="false" />
            <Property name="CloseButtonEnabled" value="false" />
            <Window type="TaharezLook/ScrollablePane" name="Pane" >
                <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                <Property name="ContentArea" value="l:0 t:0 r:499 b:452" />
                <AutoWindow namePath="__auto_container__" >
                    <Property name="ContentArea" value="l:0 t:0 r:499 b:452" />
                    <Property name="MouseInputPropagationEnabled" value="true" />
                    <Window type="VerticalLayoutContainer" name="Vlay" >
                        <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                        <Window type="HorizontalLayoutContainer" >
                            <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                            <Window type="DragContainer" >
                                <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                                <Property name="StickyMode" value="false" />
                                <Window type="HorizontalLayoutContainer" >
                                    <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                                    <Property name="MousePassThroughEnabled" value="true" />
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0,0},{0,0},{0,175},{0,26}}" />
                                        <Property name="Text" value="test_#0" />
                                        <Property name="MaxSize" value="{{0,175},{26,0}}" />
                                        <Property name="HorzScrollPageSize" value="158.983" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="47" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0.01,0},{0,0},{0.21,0},{0.8,0}}" />
                                        <Property name="Text" value="-858993460" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                        <Property name="HorzScrollPageSize" value="83.9833" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="77" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/Button" >
                                        <Property name="Area" value="{{0,0},{0,0},{0.2,0},{0.8,0}}" />
                                        <Property name="Text" value="Info" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                    </Window>
                                </Window>
                            </Window>
                        </Window>
                        <Window type="HorizontalLayoutContainer" >
                            <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                            <Window type="DragContainer" >
                                <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                                <Property name="StickyMode" value="false" />
                                <Window type="HorizontalLayoutContainer" >
                                    <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                                    <Property name="MousePassThroughEnabled" value="true" />
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0,0},{0,0},{0,175},{0,26}}" />
                                        <Property name="Text" value="test_#1" />
                                        <Property name="MaxSize" value="{{0,175},{26,0}}" />
                                        <Property name="HorzScrollPageSize" value="158.983" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="47" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0.01,0},{0,0},{0.21,0},{0.8,0}}" />
                                        <Property name="Text" value="-858993460" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                        <Property name="HorzScrollPageSize" value="83.9833" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="77" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/Button" >
                                        <Property name="Area" value="{{0,0},{0,0},{0.2,0},{0.8,0}}" />
                                        <Property name="Text" value="Info" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                    </Window>
                                </Window>
                            </Window>
                        </Window>
                        <Window type="HorizontalLayoutContainer" >
                            <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                            <Window type="DragContainer" >
                                <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                                <Property name="StickyMode" value="false" />
                                <Window type="HorizontalLayoutContainer" >
                                    <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                                    <Property name="MousePassThroughEnabled" value="true" />
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0,0},{0,0},{0,175},{0,26}}" />
                                        <Property name="Text" value="test_#2" />
                                        <Property name="MaxSize" value="{{0,175},{26,0}}" />
                                        <Property name="HorzScrollPageSize" value="158.983" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="47" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0.01,0},{0,0},{0.21,0},{0.8,0}}" />
                                        <Property name="Text" value="-858993460" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                        <Property name="HorzScrollPageSize" value="83.9833" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="77" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/Button" >
                                        <Property name="Area" value="{{0,0},{0,0},{0.2,0},{0.8,0}}" />
                                        <Property name="Text" value="Info" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                    </Window>
                                </Window>
                            </Window>
                        </Window>
                        <Window type="HorizontalLayoutContainer" >
                            <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                            <Window type="DragContainer" >
                                <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                                <Property name="StickyMode" value="false" />
                                <Window type="HorizontalLayoutContainer" >
                                    <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                                    <Property name="MousePassThroughEnabled" value="true" />
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0,0},{0,0},{0,175},{0,26}}" />
                                        <Property name="Text" value="test_#3" />
                                        <Property name="MaxSize" value="{{0,175},{26,0}}" />
                                        <Property name="HorzScrollPageSize" value="158.983" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="47" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0.01,0},{0,0},{0.21,0},{0.8,0}}" />
                                        <Property name="Text" value="-858993460" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                        <Property name="HorzScrollPageSize" value="83.9833" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="77" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/Button" >
                                        <Property name="Area" value="{{0,0},{0,0},{0.2,0},{0.8,0}}" />
                                        <Property name="Text" value="Info" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                    </Window>
                                </Window>
                            </Window>
                        </Window>
                        <Window type="HorizontalLayoutContainer" >
                            <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                            <Window type="DragContainer" >
                                <Property name="Area" value="{{0,0},{0,0},{1,0},{0.07,0}}" />
                                <Property name="StickyMode" value="false" />
                                <Window type="HorizontalLayoutContainer" >
                                    <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
                                    <Property name="MousePassThroughEnabled" value="true" />
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0,0},{0,0},{0,175},{0,26}}" />
                                        <Property name="Text" value="test_#4" />
                                        <Property name="MaxSize" value="{{0,175},{26,0}}" />
                                        <Property name="HorzScrollPageSize" value="158.983" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="47" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/StaticText" >
                                        <Property name="Area" value="{{0.01,0},{0,0},{0.21,0},{0.8,0}}" />
                                        <Property name="Text" value="-858993460" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                        <Property name="HorzScrollPageSize" value="83.9833" />
                                        <Property name="VertScrollPageSize" value="9.98333" />
                                        <Property name="HorzScrollDocumentSize" value="77" />
                                        <Property name="VertScrollDocumentSize" value="13.8051" />
                                        <Property name="MousePassThroughEnabled" value="true" />
                                    </Window>
                                    <Window type="TaharezLook/Button" >
                                        <Property name="Area" value="{{0,0},{0,0},{0.2,0},{0.8,0}}" />
                                        <Property name="Text" value="Info" />
                                        <Property name="MaxSize" value="{{0.2,0},{0.8,0}}" />
                                    </Window>
                                </Window>
                            </Window>
                        </Window>
                    </Window>
                </AutoWindow>
                <AutoWindow namePath="__auto_hscrollbar__" >
                    <Property name="AlwaysOnTop" value="true" />
                </AutoWindow>
                <AutoWindow namePath="__auto_vscrollbar__" >
                    <Property name="AlwaysOnTop" value="true" />
                </AutoWindow>
            </Window>
        </Window>
    </Window>
</GUILayout>

Last edited by bomkallo on Mon Jan 04, 2016 21:18, edited 1 time in total.

lucebac
Just can't stay away
Just can't stay away
Posts: 193
Joined: Sat May 24, 2014 21:55

Re: Performance drop - many containers

Postby lucebac » Mon Jan 04, 2016 19:13

I just tried the code you posted and I get the following exception about 15 times:

Code: Select all

CEGUI::UnknownObjectException in function 'void CEGUI::PropertySet::setProperty(const CEGUI::String&, const CEGUI::String&)' (/home/lucebac/dev/cegui_v0-8/cegui/src/PropertySet.cpp:138) : There is no Property named 'Margin' available in the set.

Can you please resolve that?

bomkallo
Just popping in
Just popping in
Posts: 16
Joined: Fri Dec 11, 2015 15:47

Re: Performance drop - many containers

Postby bomkallo » Mon Jan 04, 2016 21:19

The above code is updated and have no margins. Have you tested this on cegui 8.x ?

lucebac
Just can't stay away
Just can't stay away
Posts: 193
Joined: Sat May 24, 2014 21:55

Re: Performance drop - many containers

Postby lucebac » Mon Jan 04, 2016 21:31

I always use the latest v0-8 code from bitbucket. I also tried out the samples and the exceptions got not thrown. The cause must definitely be in your layout. Can you check your CEGUI output for these exceptions (NOT the log, I want you to check the output on the command line)?
But the log would also be a point of interest for me.


Return to “Help”

Who is online

Users browsing this forum: No registered users and 17 guests