mIRC Home    About    Download    Register    News    Help

Print Thread
#237985 18/06/12 05:32 PM
Joined: Jun 2012
Posts: 1
V
VRocker Offline OP
Mostly harmless
OP Offline
Mostly harmless
V
Joined: Jun 2012
Posts: 1
Hello,

I recently updated my mIRC to 7.25 and ever since its almost impossible to click on a users name or a URL due to the editbox flickering like crazy.
I should explain that i run mIRC on a Windows Server 2008 machine and remote desktop to it from a 175MHz Pentium 2 running Gentoo.

The flicker is occurring because the editbox refreshes itself whenever a link is hovered over, which is fine on a fast machine or locally but not over remote desktop on a low end machine. It also causes a slight spike in CPU usage when used locally.

This did not happen in the last version so somebody broke something... :P

Joined: Feb 2011
Posts: 445
K
Pan-dimensional mouse
Offline
Pan-dimensional mouse
K
Joined: Feb 2011
Posts: 445
Yeah, I'm seeing this also.

Code:
//window @url
//echo @url $timestamp http://www.mirc.com 
//echo @url $timestamp move the mouse any direction over the url.
//echo @url $timestamp notice how its flickering.


7.22 does not do this.

Joined: Mar 2008
Posts: 93
B
Babel fish
Offline
Babel fish
B
Joined: Mar 2008
Posts: 93
Confirmed on Windows 7 x64, and happens with any kind of hover i suppose (at least for urls an channels).

Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
The editbox refreshes? Or the buffer? I notice buffer refreshes, but no editbox refresh.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Nov 2004
Posts: 842
Hoopy frood
Offline
Hoopy frood
Joined: Nov 2004
Posts: 842
Confirmed.

My CPU spiked to about 50%*; but someone had posted a very large wall of URLs.


*and I'm on a 1.6GHz dual core.


What do you do at the end of the world? Are you busy? Will you save us?
Joined: Sep 2003
Posts: 40
Ameglian cow
Offline
Ameglian cow
Joined: Sep 2003
Posts: 40
I can also confirm this bug. It's noticeable locally as well, not just over RDP -- you just have to have good eyes. I see this behaviour in both Windows XP SP3 as well as Windows 7 Ultimate x64.

And I can confirm that mIRC 7.23 and earlier does not have this problem, but the issue began with 7.24 (beta).

I'm under the impression there is some broken code that is calling a window refresh for no justified reason that I can think of.

versions.txt doesn't mention anything about the window redrawing code/bits being changed, and the only things I can find which look even remotely relevant are:

4.Fixed hotlink feature not handling certain characters for addresses and channels.
11.Fixed DCC window bug that resulted in text not being displayed correctly when toggling MDI/desktop mode.
18.Fixed track urls bug that prevented it from working if the URL catcher feature was turned off.
20.Fixed custom window not remembering font setting when MDI/desktop state of the window is changed.

Khaled would need to chime in here with details of what changed.

Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
I can't seem to get any flicker. As far as a CPU "spike", if I have a window with a lot of URLs and I move my mouse over them really fast, my CPU goes up no higher than 12%. That is higher than normal mouse movement, which tops at about 6%, but is not really a spike and you'd expect to use some extra CPU when going over a lot of URLs really fast. This is on Windows 7 Ultimate 32bit and mIRC 7.25. I also have Invision and some personal scripts loaded with multiple timers and such that should make it more likely to see problems like this.

I wonder if it relates in some way to system specs such as graphics cards or driver versions. Over remote desktop, it's not all that surprising to see a difference in performance, but with others saying they see it without remote desktop.... Not sure why it affects certain people and not others.

EDIT: Here are my specs in case anyone wants to try and compare specs on those who have the problem versus those you do not. I'm still leaning toward graphics cards or drivers, though it could of course be many other things.

Quote:

Current System Configuration —I-n-v-i-s-i-o-n—
Operating System: Microsoft Windows 7 Ultimate, Service Pack 1 up for 2 weeks, 1 days, 1 hours, 58 minutes 35 seconds
CPU/RAM: AMD Athlon™ II X3 435 Processor with Currently 1269 of 2047MB in use which is 61.99%
Storage System: 1.64TB Internet Connection: TimeWarner Cable
Display System: 1GB NVIDIA GeForce GT 220 using a LG W2252(Digital) monitor at 1680x1050 32bit color 60Hz refresh

Last edited by Riamus2; 21/07/12 01:17 PM.

Invision Support
#Invision on irc.irchighway.net
Joined: Feb 2011
Posts: 445
K
Pan-dimensional mouse
Offline
Pan-dimensional mouse
K
Joined: Feb 2011
Posts: 445
I thought I'd throw in my system specs.. Just to help narrow down this issue. Since I can see the flickering inside any window (channel/query/@window).

System Info: CPU: AuthenticAMD AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ x86 Family 15 Model 35 Stepping 2 0% Load OS: Microsoft Windows XP Professional 5.1.2600 Uptime: 3hrs 57mins 27secs Total Memory: 1534.48MB Available Memory: 869.27MB Video: ATI Technologies Inc. RADEON 9250 (0x5960) 256MB 1024x768 32bit 60Hz MOBO: MSI Base Board Audio: Realtek AC'97 Audio

Joined: Sep 2003
Posts: 40
Ameglian cow
Offline
Ameglian cow
Joined: Sep 2003
Posts: 40
I do not think scripts/timers/etc. has anything to do with this problem, nor will it increase the likelihood of it happening. There's nothing to support that theory.

I do not think it has anything to do with video drivers or certain models of cards. It's been confirmed to happen on ATI and nVidia systems, using different driver versions, different OSes (Windows 7 vs. Windows XP), and different models of cards. That should come as no surprise because mIRC is a GDI+ application.

Honestly, from an engineer and programmer standpoint, this looks like some kind of repeated GDI window redraw/refresh that is being solicited by mIRC repeatedly when moving one's mouse cursor over a window which is not in focus and has multiple links (e.g. http://blah/) in it. I can't get it to happen in a window that has focus.

I'd be able to confirm this idea if I had a way to monitor what WM_* messages were being sent or received by mIRC. My guess is that mIRC is calling RedrawWindow() or UpdateWindow() repeatedly when it doesn't need to. That would be due to WM_PAINT, which is usually sent from another application *to* something else, telling it that it needs to redraw/refresh. This is mIRC itself soliciting the refresh, not, say, another program telling mIRC "refresh the window".

Honestly I would have to bust out IDA Pro and try to reverse-engineer what is going on -- it's a hell of a lot easier to point Khaled to this thread and ask him to figure it out. He's the only one who knows the code.

As for CPU load -- no, my CPU load does not go "skyhigh" when this problem happens, but on an 8-core Intel i7-2600K I do see CPU usage that reaches 2%, and most of that appears to be kernel-level (which further proves something is stressing GDI). The load may also depend directly on the number of links which are visible at the time. But in your case, you see a 12% CPU spike when moving your mouse over links repeatedly; you're on a dual-core AMD system. 12% is *insane* for something as simple as moving the mouse over a link.

Joined: Sep 2003
Posts: 40
Ameglian cow
Offline
Ameglian cow
Joined: Sep 2003
Posts: 40
I've sent Khaled a private message here on the forum alerting him to this problem.

I'm still trying to work out the exact criteria for which the problem happens. So far the easiest way for me to reproduce it is to do something like this:

1. Join 2-3 channels with people in them

2. Let people chat for a while, so that there's a few pages of scrollback in each channel window

3. Pick a channel window and bring it to the foreground

4. Move your mouse cursor over one of the other channel windows but DO NOT bring it to the foreground (i.e. do not click) -- just keep your mouse cursor over it

5. Use your scroll wheel to scroll back through the chat log of the non-foreground window

6. While keeping your mouse cursor over the same non-foreground window, move your cursor over nicknames said in chat who happen to be in the channel presently, or hotlinks (e.g. http://blah/), or anything else that changes the cursor into a hand

7. Watch that non-foreground window carefully for flicker

For me anyway, I can reproduce the problem consistently using the above method.

Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
The best I can get is VERY rarely, the very top line and only that line will flicker in your test scenario. By very rarely, that means that after moving over a couple hundred nicks/links, it happens once and then I have to go over a couple hundred more to get it to do it again. This is true no matter how fast I move the mouse.

That being said, it does show that there is a problem. However, it still affects certain people far more than others. It happens so rarely here and only on one line that it's not even remotely noticeable unless you're trying to find it. For others, it's apparently noticeable all of the time. The reason for it affecting some more than others comes down most likely to hardware or software that is specific to their system. mIRC may trigger it, but something else is causing the wide range of effects.

Btw, Khaled does read every topic in the bugs forum. You don't really need to send him messages to tell him to read a topic.


Invision Support
#Invision on irc.irchighway.net
Joined: Dec 2002
Posts: 252
T
Fjord artisan
Offline
Fjord artisan
T
Joined: Dec 2002
Posts: 252
I have this issue too in mIRC under wine, but it doesn't seem to spike my CPU, and it does it to nicks and links, it flickers like crazy in the view area (where the text buffer is), I have an issue with backspacing in an editbox too if it has started to scroll for typing a long message, and you backspace, anything new you type doesn't show until it exceeds the length of what you erased... kinda annoying but I didn't think to really report it cause its most likely a wine issue I thought, but yea older versions do perform a lot nicer than 7.25 under wine.

Example of my editbox issue:
Code:
oh man I had this super <== typed
oh man I had this <== deleted super
oh man I had this       tasting... <=== typed "nasty" but its invisible...


The text problems even worse in the scripts editor, when you try to go in the middle of a line and start typing, it starts overlapping and looks like its erasing the code as if you had insert on, but once you use the brackets check button you can see the proper line clearly, again tho I didn't really wanna file this as a "bug" since it is under wine and I know for a fact this stuff works fine on windows, but I do know I don't seem to have these issues on 7.22 under wine.

It might be my system too that I don't notice any major CPU spike, My CPU is an AMD FX-6200 Six-Core @ 3.8Ghz

Joined: Mar 2008
Posts: 93
B
Babel fish
Offline
Babel fish
B
Joined: Mar 2008
Posts: 93
I cannot exactly reproduce it reliably, but it seems to happen preferably with overlapping windows.
After running mIRC I join 5 servers with about 30 channels; and as I do that most channels appear in the background. One of those that opens first incidentally also has an URL in the topic, which consistently flickers if i hover over it. However, if I switch to that window, the flickering disappears. It won't come back either if I bury that window in the back as it used to be (unless rather randomly, where it does return).

The take-away is probably looking at non-foreground and/or overlapping windows to catch this one...

Joined: Dec 2002
Posts: 5,408
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,408
Thanks this issue has been fixed for the next version.


Link Copied to Clipboard