Closed Bug 197288 Opened 22 years ago Closed 8 years ago

[gtk2] nsWindow::WidgetToScreen is way too expensive

Categories

(Core :: XUL, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: blizzard, Assigned: blizzard)

References

Details

In profiling this stack trace shows up _a lot_. #0 0x40735a66 in XQueryTree () from /usr/X11R6/lib/libX11.so.6 #1 0x404874e0 in gdk_window_get_frame_extents (window=0x8146d48, rect=0xbfffe110) at gdkwindow-x11.c:2651 #2 0x40487336 in gdk_window_get_root_origin (window=0x8146d48, x=0xbfffe154, y=0xbfffe158) at gdkwindow-x11.c:2590 #3 0x41180b5a in nsWindow::WidgetToScreen(nsRect const&, nsRect&) ( this=0x8146d48, aOldRect=@0xbfffe154, aNewRect=@0xbfffe1c0) at ../../../../mozilla/widget/src/gtk2/nsWindow.cpp:1038 #4 0x411801c3 in nsWindow::GetScreenBounds(nsRect&) (this=0x80ee368, aRect=@0xbfffe1c0) at ../../../../mozilla/widget/src/gtk2/nsWindow.cpp:697 #5 0x41152fb2 in nsXULWindow::GetPositionAndSize(int*, int*, int*, int*) ( this=0x806c410, x=0x0, y=0x0, cx=0xbfffe248, cy=0xbfffe24c) at nsCOMPtr.h:690 We need to see if we can cache that crap in order to get a much better startup time.
So, we could cache the X,Y result of gdk_window_get_root_origin at the end of nsWindow::Move(...)?
We removed gtk2 in bug 1278282. Even if this bug might still be relevant with gtk3, it has been 15 years...
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.