Weird Mouse Behavior

For help with anything that CEGUI doesn't offer straight out-of-the-box, e.g.:
- Implementation of new features, such as new Core classes, widgets, WindowRenderers, etc. ...
- Modification of any existing features for specific purposes
- Integration of CEGUI in new engines or frameworks and writing of new plugins (Renderer, Parser, ...) or modules

Moderators: CEGUI MVP, CEGUI Team

User avatar
J_A_X
Quite a regular
Quite a regular
Posts: 72
Joined: Wed Jun 29, 2005 13:18
Contact:

Weird Mouse Behavior

Postby J_A_X » Thu Aug 11, 2005 17:19

Alright, so I got this screen like displayed below. I think you can figure out what's CEGUI and what's not.

The green part on the side and bottom and the grid is drawn by my game engine, pretty much everything else is CEGUI.

Now, for some reason, on this screen only, when I click someplace, my mouse kinda freezes for a second and the FPS of my game engine goes to 0. When I click the grid section, the mouse freezes for about 1-1.5 seconds. When i click on a CEGUI button it takes about 0.5 seconds to respond and if i click on the green, the mouse freezes for about 0.5 seconds...

It didn't do this before (not that I knew of), so i tried commenting out whatever i've done since, and nothing works...

I removed ALL mouse events that might interfere in any way, or maybe was in a loop in some way, but with still all mouse events commented out, it still does it.

I know it is from inside CEGUI because the problem happens in the injectMouseButtonDown function. I can't seem to able to following to code to the function in debug mode though, it just does whatever it does and comes back (takes the same amount of time to go through in debug compared to runtime).

I don't know if you've ever seen this behavior before, but I'd like to know what you think about it before I take every part of the screen and iterate between them to see what part seems to be the problem...

Thanks

* EDIT *

BTW, here's the screen specific CEGUI code and the layout of the current screen:

Code:
// Setup SAD screen
SADWindow = (CEGUI::DefaultWindow*) CEGUI::WindowManager::getSingleton().loadWindowLayout("../layouts/SAD.layout");

// Sets up Playback Controls Position relative to SAD height
CEGUI::StaticText* ctrl = (CEGUI::StaticText*) CEGUI::WindowManager::getSingleton().getWindow("ControlBackground");
ctrl->setPosition(CEGUI::Absolute,CEGUI::Point(ctrl->getAbsoluteXPosition(), Constant::CFG_SCREENHEIGHT-Constant::CFG_SADGUI_HEIGHT+1));
CEGUI::Scrollbar* slider = (CEGUI::Scrollbar*) CEGUI::WindowManager::getSingleton().getWindow("TimeSlider");
slider->setPosition(CEGUI::Absolute,CEGUI::Point(slider->getAbsoluteXPosition(), Constant::CFG_SCREENHEIGHT-Constant::CFG_SADGUI_HEIGHT+59));
CEGUI::StaticText* mousepos = (CEGUI::StaticText*) CEGUI::WindowManager::getSingleton().getWindow("MousePOSBackground");
mousepos->setPosition(CEGUI::Absolute,CEGUI::Point(mousepos->getAbsoluteXPosition(), Constant::CFG_SCREENHEIGHT-Constant::CFG_SADGUI_HEIGHT+1));

// Sets up Tab Manager
tabMan = new TabManager(SADWindow); // Nothing fancy, just a way to be able to manipulate the tabs easily within its own class to free up Engine size

// Adds another Tab ontop of the default
tabMan->addTab("Tab #2");

// Sets up bottom corner buttons
CEGUI::PushButton* move = (CEGUI::PushButton*)CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/Button","MoveButton");
CEGUI::PushButton* zoom = (CEGUI::PushButton*)CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/Button","ZoomButton");
// Move Button Properties
move->setSize(CEGUI::Absolute,CEGUI::Size(18,18));
move->setPosition(CEGUI::Absolute,CEGUI::Point(Constant::CFG_SCREENWIDTH-Constant::CFG_SADGUI_WIDTH-55,Constant::CFG_SCREENHEIGHT-Constant::CFG_SADGUI_HEIGHT-27));
move->setZOrderingEnabled(false);
move->setAlwaysOnTop(true);
move->setProperty("NormalImage","set:Images image:MoveNormalButton");
move->setProperty("HoverImage","set:Images image:MoveHoverButton");
move->setProperty("PushedImage","set:Images image:MoveDownButton");
move->setProperty("UseStandardImagery","False");
move->setMouseAutoRepeatEnabled(true);
//move->subscribeEvent(CEGUI::Window::EventMouseButtonDown,CEGUI::Event::Subscriber(&ButtonHandle::handleMoveButton,BHandle));

zoom->setSize(CEGUI::Absolute,CEGUI::Size(18,18));
zoom->setPosition(CEGUI::Absolute,CEGUI::Point(Constant::CFG_SCREENWIDTH-Constant::CFG_SADGUI_WIDTH-28,Constant::CFG_SCREENHEIGHT-Constant::CFG_SADGUI_HEIGHT-27));
zoom->setZOrderingEnabled(false);
zoom->setAlwaysOnTop(true);
zoom->setProperty("NormalImage","set:Images image:ZoomNormalButton");
zoom->setProperty("HoverImage","set:Images image:ZoomHoverButton");
zoom->setProperty("PushedImage","set:Images image:ZoomDownButton");
zoom->setProperty("UseStandardImagery","False");
//zoom->subscribeEvent(CEGUI::Window::EventMouseButtonDown,CEGUI::Event::Subscriber(&ButtonHandle::handleZoomButton,BHandle));

SADWindow->addChildWindow(move);
SADWindow->addChildWindow(zoom);


CEGUI::Combobox* type = (CEGUI::Combobox*) CEGUI::WindowManager::getSingleton().getWindow("PropertyTypeBox");
type->addItem(new CEGUI::ListboxTextItem("Plane"));
type->addItem(new CEGUI::ListboxTextItem("Cruiser"));
type->addItem(new CEGUI::ListboxTextItem("Radar"));
type->addItem(new CEGUI::ListboxTextItem("Troops"));
type->addItem(new CEGUI::ListboxTextItem("Tank"));
type->setText("Cruiser");


rootWindow->addChildWindow(SADWindow);


Layout:
<?xml version="1.0" ?>
<GUILayout>
<Window Type="DefaultWindow" Name="SAD">
<Window Type="TaharezLook/StaticText" Name="ControlBackground">
<Property Name="BackgroundImage" Value="set:Images image:StaticBackground" />
<Property Name="TopLeftFrameImage" Value="set:Images image:StaticTopLeft" />
<Property Name="TopFrameImage" Value="set:Images image:StaticTop" />
<Property Name="TopRightFrameImage" Value="set:Images image:StaticTopRight" />
<Property Name="RightFrameImage" Value="set:Images image:StaticRight" />
<Property Name="BottomRightFrameImage" Value="set:Images image:StaticBottomRight" />
<Property Name="BottomFrameImage" Value="set:Images image:StaticBottom" />
<Property Name="BottomLeftFrameImage" Value="set:Images image:StaticBottomLeft" />
<Property Name="LeftFrameImage" Value="set:Images image:StaticLeft" />
<Property Name="AbsoluteSize" Value="w:146 h:60" />
<Property Name="AbsolutePosition" Value="x:5 y:825" />
<Property Name="ZOrderChangeEnabled" Value="False" />

<Window Type="TaharezLook/StaticText" Name="ControlText">
<Property Name="Text" Value="Controls" />
<Property Name="AbsoluteSize" Value="w:100 h:20" />
<Property Name="RelativePosition" Value="x:0.06 y:0.01" />
<Property Name="ZOrderChangeEnabled" Value="False" />
</Window>
<Window Type="TaharezLook/Button" Name="ControlRewind">
<Property Name="AbsoluteSize" Value="w:27 h:18" />
<Property Name="RelativePosition" Value="x:0.05 y:0.48" />
<Property Name="NormalImage" Value="set:Images image:RewindNormalButton" />
<Property Name="HoverImage" Value="set:Images image:RewindHoverButton" />
<Property Name="PushedImage" Value="set:Images image:RewindDownButton" />
<Property Name="UseStandardImagery" Value="False" />
<Property Name="Tooltip" Value="Rewind" />
</Window>
<Window Type="TaharezLook/Button" Name="ControlStop">
<Property Name="AbsoluteSize" Value="w:18 h:18" />
<Property Name="RelativePosition" Value="x:0.28 y:0.48" />
<Property Name="NormalImage" Value="set:Images image:StopNormalButton" />
<Property Name="HoverImage" Value="set:Images image:StopHoverButton" />
<Property Name="PushedImage" Value="set:Images image:StopDownButton" />
<Property Name="UseStandardImagery" Value="False" />
<Property Name="Tooltip" Value="Stop" />
</Window>
<Window Type="TaharezLook/Button" Name="ControlPause">
<Property Name="AbsoluteSize" Value="w:13 h:18" />
<Property Name="RelativePosition" Value="x:0.45 y:0.48" />
<Property Name="NormalImage" Value="set:Images image:PauseNormalButton" />
<Property Name="HoverImage" Value="set:Images image:PauseHoverButton" />
<Property Name="PushedImage" Value="set:Images image:PauseDownButton" />
<Property Name="UseStandardImagery" Value="False" />
<Property Name="Tooltip" Value="Pause" />
</Window>
<Window Type="TaharezLook/Button" Name="ControlPlay">
<Property Name="AbsoluteSize" Value="w:21 h:19" />
<Property Name="RelativePosition" Value="x:0.59 y:0.48" />
<Property Name="NormalImage" Value="set:Images image:PlayNormalButton" />
<Property Name="HoverImage" Value="set:Images image:PlayHoverButton" />
<Property Name="PushedImage" Value="set:Images image:PlayDownButton" />
<Property Name="UseStandardImagery" Value="False" />
<Property Name="Tooltip" Value="Play" />
</Window>
<Window Type="TaharezLook/Button" Name="ControlFastForward">
<Property Name="AbsoluteSize" Value="w:27 h:18" />
<Property Name="RelativePosition" Value="x:0.77 y:0.48" />
<Property Name="NormalImage" Value="set:Images image:FastForwardNormalButton" />
<Property Name="HoverImage" Value="set:Images image:FastForwardHoverButton" />
<Property Name="PushedImage" Value="set:Images image:FastForwardDownButton" />
<Property Name="UseStandardImagery" Value="False" />
<Property Name="Tooltip" Value="Fast Forward" />
</Window>
</Window>

<Window Type="TaharezLook/StaticText" Name="MousePOSBackground">
<Property Name="BackgroundImage" Value="set:Images image:StaticBackground" />
<Property Name="TopLeftFrameImage" Value="set:Images image:StaticTopLeft" />
<Property Name="TopFrameImage" Value="set:Images image:StaticTop" />
<Property Name="TopRightFrameImage" Value="set:Images image:StaticTopRight" />
<Property Name="RightFrameImage" Value="set:Images image:StaticRight" />
<Property Name="BottomRightFrameImage" Value="set:Images image:StaticBottomRight" />
<Property Name="BottomFrameImage" Value="set:Images image:StaticBottom" />
<Property Name="BottomLeftFrameImage" Value="set:Images image:StaticBottomLeft" />
<Property Name="LeftFrameImage" Value="set:Images image:StaticLeft" />
<Property Name="AbsoluteSize" Value="w:146 h:60" />
<Property Name="AbsolutePosition" Value="x:175 y:825" />
<Property Name="ZOrderChangeEnabled" Value="False" />

<Window Type="TaharezLook/StaticText" Name="MousePOSText">
<Property Name="Text" Value="Mouse" />
<Property Name="AbsoluteSize" Value="w:100 h:20" />
<Property Name="RelativePosition" Value="x:0.06 y:0.01" />
<Property Name="ZOrderChangeEnabled" Value="False" />
</Window>
<Window Type="TaharezLook/StaticText" Name="MousePOSXText">
<Property Name="Text" Value="x:" />
<Property Name="AbsoluteSize" Value="w:50 h:20" />
<Property Name="RelativePosition" Value="x:0.05 y:0.48" />
<Property Name="ZOrderChangeEnabled" Value="False" />
</Window>
<Window Type="TaharezLook/StaticText" Name="MousePOSX">
<Property Name="Text" Value="0" />
<Property Name="AbsoluteSize" Value="w:70 h:20" />
<Property Name="RelativePosition" Value="x:0.135 y:0.48" />
<Property Name="ZOrderChangeEnabled" Value="False" />
</Window>
<Window Type="TaharezLook/StaticText" Name="MousePOSYText">
<Property Name="Text" Value="y:" />
<Property Name="AbsoluteSize" Value="w:50 h:20" />
<Property Name="RelativePosition" Value="x:0.47 y:0.48" />
<Property Name="ZOrderChangeEnabled" Value="False" />
</Window>
<Window Type="TaharezLook/StaticText" Name="MousePOSY">
<Property Name="Text" Value="0" />
<Property Name="AbsoluteSize" Value="w:70 h:20" />
<Property Name="RelativePosition" Value="x:0.58 y:0.48" />
<Property Name="ZOrderChangeEnabled" Value="False" />
</Window>
</Window>

<Window Type="TaharezLook/HorizontalScrollbar" Name="TimeSlider">
<Property Name="AbsoluteSize" Value="w:144 h:10" />
<Property Name="AbsolutePosition" Value="x:7 y:883" />
<Property Name="ScrollPosition" Value="0" />
<Property Name="DocumentSize" Value="600" />
<Property Name="PageSize" Value="1" /
<Property Name="StepSize" Value="1" />
<Property Name="Tooltip" Value="Timeline Slider" />
</Window>

</Window>
</GUILayout>

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: Weird Mouse Behavior

Postby CrazyEddie » Sun Aug 14, 2005 09:14

Hmmm.

I have had this reported once before, though I don't know what caused it then, and I don't know how, or even if, the other person managed to discover the cause.

Sounds like it might be some strange multiple subscription issue - where a hander is constantly getting re-subscribed, and therefore called multiple times. So, this would be the area I look at; set a breakpoint on your subscription line and ensure it's only called once for each button.

User avatar
J_A_X
Quite a regular
Quite a regular
Posts: 72
Joined: Wed Jun 29, 2005 13:18
Contact:

Re: Weird Mouse Behavior

Postby J_A_X » Mon Aug 15, 2005 17:00

Like I said, I commented out every single subscribeEvent in my code and it still did it...

I'm just gonna remove each part one after the other till I find in what section of my code my problem is persisting.

User avatar
J_A_X
Quite a regular
Quite a regular
Posts: 72
Joined: Wed Jun 29, 2005 13:18
Contact:

Re: Weird Mouse Behavior

Postby J_A_X » Mon Aug 15, 2005 17:35

hum, I think I've found the problem, but I don't know what's causing it.

As you can see in the image in my first post, I have labels on the side of my grid which are all static text widgets (that are contained in 2 arrays, one for X and one for Y) which are then positioned and labeled depending on the zoom and position of the grid you're looking at (36 labels in total).

When I remove the function that initializes these labels and changes the text in them, my program works normally with no "lag".

What I was thinking is that CEGUI is looking to see if the mouse cursor is touching one of the labels and since there is a good number of them, it takes time to check every each one.

I was wondering if there is something I can set so It doesn't except any kind of input whatsoever.

Here's the code that initializes the labels and draws them on screen (the label code has been commented out).

Initializing:

Code: Select all

Grid::Grid(CEGUI::DefaultWindow* par, CEGUI::String tabName){
    ZOOM = 1;
    XPOSITION = YPOSITION = Constant::INGAME_MAXKNOTS/2;
    VISIBLE = FALSE;
    parent = par;

    // Fills in X label array with static text
    /*
    for(int x = 0; x<Constant::INGAME_SMALLESTUNITMULT+1;x++){
        char buf[3];
        int dH = x;
        sprintf(buf,"%d",dH);
        CEGUI::String tmp = tabName;
        tmp.append("-X Label 0-");
        tmp.append(buf,2);
        // Sets up Left labels
        XLabelArray[x][0] = (CEGUI::StaticText*) CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText",tmp);
        XLabelArray[x][0]->setSize(CEGUI::Absolute,CEGUI::Size(40,15));
        XLabelArray[x][0]->setPosition(CEGUI::Absolute,CEGUI::Point(0,0));
        XLabelArray[x][0]->setText("0");
        parent->addChildWindow(XLabelArray[x][0]);

        tmp = tabName;
        tmp.append("-X Label 1-");
        tmp.append(buf,2);
        // Sets up Right labels
        XLabelArray[x][1] = (CEGUI::StaticText*) CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText",tmp);
        XLabelArray[x][1]->setSize(CEGUI::Absolute,CEGUI::Size(40,15));
        XLabelArray[x][1]->setPosition(CEGUI::Absolute,CEGUI::Point(0,0));
        XLabelArray[x][1]->setText("0");
        parent->addChildWindow(XLabelArray[x][1]);

        if(x == Constant::INGAME_SMALLESTUNITMULT){
            XLabelArray[x][0]->setHorizontalFormatting(CEGUI::StaticText::RightAligned);
            XLabelArray[x][1]->setHorizontalFormatting(CEGUI::StaticText::RightAligned);
        }
    }

     // Fills in Y label array with static text
    for(int x = 0; x<Constant::INGAME_SMALLESTUNITMULT-1;x++){
        char buf[3];
        int dH = x;
        sprintf(buf,"%d",dH);
        CEGUI::String tmp = tabName;
        tmp.append("-Y Label 0-");
        tmp.append(buf,2);
        // Sets up top labels
        YLabelArray[x][0] = (CEGUI::StaticText*) CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText",tmp);
        YLabelArray[x][0]->setSize(CEGUI::Absolute,CEGUI::Size(40,15));
        YLabelArray[x][0]->setPosition(CEGUI::Absolute,CEGUI::Point(0,Constant::INGAME_RENDERRECT.y1));
        YLabelArray[x][0]->setText("0");
        YLabelArray[x][0]->setHorizontalFormatting(CEGUI::StaticText::LeftAligned);
        parent->addChildWindow(YLabelArray[x][0]);

        tmp = tabName;
        tmp.append("-Y Label 1-");
        tmp.append(buf,2);
        // Sets up bottom labels
        YLabelArray[x][1] = (CEGUI::StaticText*) CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText",tmp);
        YLabelArray[x][1]->setSize(CEGUI::Absolute,CEGUI::Size(40,15));
        YLabelArray[x][1]->setPosition(CEGUI::Absolute,CEGUI::Point(Constant::INGAME_RENDERRECT.x2 - YLabelArray[x][1]->getWidth(CEGUI::Absolute),Constant::INGAME_RENDERRECT.y1));
        YLabelArray[x][1]->setText("0");
        YLabelArray[x][1]->setHorizontalFormatting(CEGUI::StaticText::RightAligned);
        parent->addChildWindow(YLabelArray[x][1]);
    }
    */
}


Drawing:

Code: Select all

void Grid::draw(){
    if(VISIBLE){
        // Adjust Screen Height/Width to zoom
        SCREENWIDTH = SCREENHEIGHT = Constant::INGAME_RENDERWIDTH * ZOOM;

        //TODO: Optimize math functions

        // Find Line/Pixel Increment
        lineInc = Round((Constant::INGAME_MAXKNOTS / ZOOM) / Constant::INGAME_SMALLESTUNITMULT, Constant::INGAME_PRECISION); // Finds out by how much does each line increment depending on the multiplicity
        pixelRatio = SCREENWIDTH / Constant::INGAME_MAXKNOTS;  // The pixel number of the smallest unit on screen
        pixelInc = lineInc * pixelRatio; // Finds how many pixels are between each line increments

        // Finds the Knot Coordinate at the top left of the screen for easier drawing
        xCoord = Round(XPOSITION - (Constant::INGAME_RENDERWIDTH/2)/pixelRatio, Constant::INGAME_PRECISION);
        yCoord = Round(YPOSITION - (Constant::INGAME_RENDERHEIGHT/2)/pixelRatio, Constant::INGAME_PRECISION);

        /*
        // Sets text and position for Y labels
        for(int x = 0; x<Constant::INGAME_SMALLESTUNITMULT-1;x++){
            YLabelArray[x][0]->setPosition(CEGUI::Absolute,CEGUI::Point(0,ceil(yCoord/lineInc)*yCoord*pixelRatio - yCoord*pixelRatio + pixelInc*(x+1)));
            YLabelArray[x][1]->setPosition(CEGUI::Absolute,CEGUI::Point(Constant::INGAME_RENDERWIDTH - YLabelArray[x][1]->getWidth(CEGUI::Absolute),ceil(yCoord/lineInc)*yCoord*pixelRatio - yCoord*pixelRatio + pixelInc*(x+1)));
            char buf[10];
            double dH = lineInc*(x+1);
            sprintf(buf,"%g",dH);
            YLabelArray[x][0]->setText(buf);
            YLabelArray[x][1]->setText(buf);
        }

        // Sets text and position for X labels
        for(int x = 0; x<Constant::INGAME_SMALLESTUNITMULT+1;x++){
            if(x == Constant::INGAME_SMALLESTUNITMULT){
                XLabelArray[x][0]->setPosition(CEGUI::Absolute,CEGUI::Point(ceil(xCoord/lineInc)*xCoord*pixelRatio - xCoord*pixelRatio + pixelInc*x - XLabelArray[x][0]->getWidth(CEGUI::Absolute),0));
                XLabelArray[x][1]->setPosition(CEGUI::Absolute,CEGUI::Point(ceil(xCoord/lineInc)*xCoord*pixelRatio - xCoord*pixelRatio + pixelInc*x - XLabelArray[x][1]->getWidth(CEGUI::Absolute),Constant::INGAME_RENDERHEIGHT - XLabelArray[x][1]->getHeight(CEGUI::Absolute)));
            }else{
                XLabelArray[x][0]->setPosition(CEGUI::Absolute,CEGUI::Point(ceil(xCoord/lineInc)*xCoord*pixelRatio - xCoord*pixelRatio + pixelInc*x,0));
                XLabelArray[x][1]->setPosition(CEGUI::Absolute,CEGUI::Point(ceil(xCoord/lineInc)*xCoord*pixelRatio - xCoord*pixelRatio + pixelInc*x,Constant::INGAME_RENDERHEIGHT - XLabelArray[x][1]->getHeight(CEGUI::Absolute)));
            }
            char buf[10];
            double dH = lineInc*x;
            sprintf(buf,"%g",dH);
            XLabelArray[x][0]->setText(buf);
            XLabelArray[x][1]->setText(buf);
        }
        */
       
        // Renders the Vertical lines on screen
        for(double i=(ceil(xCoord/lineInc)*lineInc - xCoord)*pixelRatio;i<=Constant::INGAME_RENDERWIDTH; i+=pixelInc){
            Constant::hge->Gfx_RenderLine(Round(i,Constant::INGAME_PRECISION),Constant::INGAME_RENDERRECT.y1,Round(i,Constant::INGAME_PRECISION),Constant::INGAME_RENDERRECT.y2,0xFFAAAAAA);
        }

        // Renders the Horizontal lines on screen
        for(double i=(ceil(yCoord/lineInc)*lineInc - yCoord)*pixelRatio + Constant::INGAME_RENDERRECT.y1;i<=Constant::INGAME_RENDERHEIGHT; i+=pixelInc){
            Constant::hge->Gfx_RenderLine(Constant::INGAME_RENDERRECT.x1,Round(i,Constant::INGAME_PRECISION),Constant::INGAME_RENDERRECT.x2,Round(i,Constant::INGAME_PRECISION),0xFFAAAAAA);
        }
    }

    //TODO: Other updates and drawings not screen related
}

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: Weird Mouse Behavior

Postby CrazyEddie » Tue Aug 16, 2005 08:50

Hmmm. This seems to just keep getting stranger :?

Obviously the system does need to check which window the mouse is in, though it does this for mouse movement too, so if that were the cause you'd be getting huge amounts of lag there as well (36 windows is not that many). Having said this, you can set the labels to the disabled state and they will then receieve no imputs at all (myWindow->disable(); ).

I wouldn't necessarily set the text and position for the label windows every time you draw them; just when something changes. You could be taking a huge hit there (although I'm not saying this is related to your issue, as it may not be).

User avatar
J_A_X
Quite a regular
Quite a regular
Posts: 72
Joined: Wed Jun 29, 2005 13:18
Contact:

Re: Weird Mouse Behavior

Postby J_A_X » Tue Aug 16, 2005 14:14

Yes, I know about the position changing every draw, I'm going to make a function to see if there's a change or not, but then again, it is doing it every draw and there is no lag or anything at runtime, ONLY when i click.

I will try with the disable, sure hope it works or else i'm going to have to do the numbers through the HGE engine which can be a *beach* to do.

User avatar
J_A_X
Quite a regular
Quite a regular
Posts: 72
Joined: Wed Jun 29, 2005 13:18
Contact:

Re: Weird Mouse Behavior

Postby J_A_X » Tue Aug 16, 2005 17:53

well, I disabled all the static text boxes without any results, it still does that lag thing...

I also optimized the function to change position and all depending if the zoom or move button has been used without any effects to the performance.

welp, I guess I'll have to use the rendering engine's font capabilities.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: Weird Mouse Behavior

Postby CrazyEddie » Thu Aug 18, 2005 13:16

Hmmm. Not ideal. This will need to be investigated further to see if it's reproducable.


Return to “Modifications / Integrations / Customisations”

Who is online

Users browsing this forum: No registered users and 8 guests