Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum Goto page 1, 2  Next
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Nov 28, 2007 11:13 pm   

Vista sure is slow!
 
Am I the only one to notice this? Try the Ctrl-Q test in CMUD or zMUD on WinXP and then try it on Vista (if you have access to both). The Vista result is a *lot* slower than the WinXP result. This is just simple screen output and scrolling. Looks like Vista is trying to do something fancy in their display drivers that has slowed down text scrolling.

This really annoys me. I was working in Vista today and spend an hour trying to track down why CMUD was suddenly so slow. It was only after I tried zMUD 7.21 and got the same result that I confirmed that it was a Vista problem and not a CMUD issue. Another waste of time :(

There is no reason why normal text scrolling should be slower. It doesn't require any of the new Aero transparency stuff. Bad Microsoft!
Reply with quote
slicertool
Magician


Joined: 09 Oct 2003
Posts: 459
Location: USA

PostPosted: Thu Nov 29, 2007 12:13 am   
 
From my experience with the beta vista technology and such: It's probably because Win32 apps that don't use the new Vista theming engine are converted into a bitmap frontend that you can scale up and down just like any other Vista app. This is probably the cause of your slow down.

I haven't really played with the final full blown version of Vista, so I can't say for sure though.
_________________
Ichthus on SWmud: http://www.swmud.org/
Reply with quote
Llwethen
Novice


Joined: 08 Dec 2006
Posts: 37
Location: Lancaster,Oh

PostPosted: Thu Nov 29, 2007 1:12 am   
 
I would check that the fancy Aero stuff is turned off in Vista. It's a killer on the work machines I support that have the generic video set that comes in the Intel chipset.

Vista is using some new font technology ( Crystal Font or something like that) that does sub-pixel correction. Supposed to be sharper reading on LCD's when not at the panels native resolution. Honestly I cannot tell the difference.

Yeah the Vista drivers are 100% different and is part of why it's taking so long for truly mature drivers to come out. XP the driver is all part of the kernel. In Vista a small shim is in the kernel and all rest is actually a user app that loads at login. The new drivers seem like a hybrid of NT and XP drivers but basically trade speed for stability. At work I can live with more stability and protection against bad drivers/users/programs/developers ( in no particular order, all of them do crazy stuff given a chance).

Win 2000 took a good year+ before the drivers could come close to Win98se. Vista looks to be following an even longer curve. Network performance is even crazier than video, sometimes it blows XP off the road, other times it's so slow you want to kill it.
Reply with quote
ralgith
Sorcerer


Joined: 13 Jan 2006
Posts: 715

PostPosted: Thu Nov 29, 2007 4:20 am   
 
Llwethen wrote:
I would check that the fancy Aero stuff is turned off in Vista. It's a killer on the work machines I support that have the generic video set that comes in the Intel chipset.

Vista is using some new font technology ( Crystal Font or something like that) that does sub-pixel correction. Supposed to be sharper reading on LCD's when not at the panels native resolution. Honestly I cannot tell the difference.

Yeah the Vista drivers are 100% different and is part of why it's taking so long for truly mature drivers to come out. XP the driver is all part of the kernel. In Vista a small shim is in the kernel and all rest is actually a user app that loads at login. The new drivers seem like a hybrid of NT and XP drivers but basically trade speed for stability. At work I can live with more stability and protection against bad drivers/users/programs/developers ( in no particular order, all of them do crazy stuff given a chance).

Win 2000 took a good year+ before the drivers could come close to Win98se. Vista looks to be following an even longer curve. Network performance is even crazier than video, sometimes it blows XP off the road, other times it's so slow you want to kill it.


Agreed. And yes this is a SERIOUS Vista problem. However for me, its WORSE in cMUD than in zMUD.
I'm curious as to why, but I'm not able nor in the mood to explore it right now.
Reply with quote
Arlie
Wanderer


Joined: 09 Jun 2006
Posts: 62
Location: Florida

PostPosted: Thu Nov 29, 2007 5:55 am   
 
Your mileage may vary, of course. My CMUD runs faster on Vista than it does on XP (note that my Vista box has 1 GB more ram, but all of the other specs are almost exactly the same, so maybe that has something to do with it, though I doubt it). :)
Reply with quote
Rorso
Wizard


Joined: 14 Oct 2000
Posts: 1368

PostPosted: Thu Nov 29, 2007 10:33 am   
 
The article at http://msdn2.microsoft.com/en-us/library/bb173477.aspx might give some clues. "Existing graphics interfaces, such as GDI, GDI+, and older versions of Direct3D, continue to work on Windows Vista, but are internally remapped where possible."[Walbourn, 2006]. If I understand figure2 correctly it seems
everything goes through DirectX at some point in Vista, but I might be wrong. This usenet post I found is more interesting though as it seems more directly related to this issue http://groups.google.se/group/microsoft.public.win32.programmer.gdi/browse_thread/thread/10bfeac8ceca7df7/db5fa6eb6507a0f3. It states that drawing to the screen DC(0) is going to be slow but cMUD probably just paints to its own DC?

Edit: Do you have the latest 3D graphics drivers for your graphics card?


Last edited by Rorso on Thu Nov 29, 2007 10:50 am; edited 2 times in total
Reply with quote
forren
Novice


Joined: 26 Apr 2007
Posts: 44

PostPosted: Thu Nov 29, 2007 10:37 am   
 
I actually switched to Vista just to try it out. I gained about 15 seconds on my Cmud control-q with my Lusternia system, so I promptly reformatted back to XP.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Nov 29, 2007 5:23 pm   
 
Quote:
It's probably because Win32 apps that don't use the new Vista theming engine are converted into a bitmap frontend that you can scale up and down just like any other Vista app

That would certainly slow it down. Perhaps when I compile CMUD using Delphi 2007 (which has better native Vista support) then maybe it will get better. I'm just using the standard Win32 API ExtTextOut directly to the window handle of the MUD output window. To scroll it is using ScrollWindowEx API routine (and optimizing exactly what part of the window that needs to be scrolled). So nothing fancy here. I'm not using any double-buffering or anything because that always slows it down. If I turn on double-buffering for the window (which sends stuff to a bitmap and then BitBlts the bitmap to the screen), then the speed in WinXP drops to about the same as the speed in Vista. So it looks like Vista is doing some kind of double-buffering behind the scenes. Not sure there will be any way to get around that. Turning off Aero doesn't seem to help.
Quote:
Vista is using some new font technology ( Crystal Font or something like that)

I think you are talking about Clear-Type fonts, and WinXP uses that too. In fact I have this font smoothing turned on in both Vista and WinXP. The next time I reboot into WinXP I'll turn it off to see if CMUD is even faster. But my comparison between WinXP and Vista both had this font smoothing enabled and Vista was still much slower. So I don't think it's a ClearType issue.

Well, if anyone figures out a way to make Vista faster, let me know.

Edited: Btw, I'm just using the "built-in" Vista drivers for the ATI Radeon 1600, so I'm going to go download the latest drivers from the ATI site and see what happens.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Nov 29, 2007 6:11 pm   
 
Well, the updated ATI drivers helped a bit, but the problem is still there. Here are my Ctrl-Q results:

zMUD 7.21:
Vista, default Radeon drivers: 18.2/7.4/7.3
Vista, latest Radeon drivers: 12.8/5.8/5.8
WinXP: 1.6/0.6/0.6

CMUD 2.13, WinXP: 3.6/1.7/1.7

So, that shows the scope the speed issues on my computer. I'm using the same computer for these tests...just booting either Vista or WinXP. As you can see, it's a pretty huge difference.

The difference between zMUD and CMUD is more expected just because CMUD has not had as much time to get optimized as zMUD has. I'm sure that CMUD speed will improve over the years.

But I mainly wanted to report this so that people were aware of how much difference Vista vs WinXP can make. It's possible that someone used to zMUD on WinXP will try CMUD on Vista and complain about the horrible speed. But as we can see, the exact same compiled application can run much slower on Vista.

Hopefully I'll be able to improve CMUD speed as I make it more of a native Vista app and learn the Vista tricks over the coming years.

Finally, as some people have already mentioned, your mileage might vary. It's possible that other video cards have better Vista drivers.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Nov 29, 2007 7:12 pm   
 
While I was listening to one of the CodeRage sessions this morning, I put CMUD into my profiler and let it do Ctrl-Q a bunch of times. I discovered why Ctrl-Q is slower than zMUD! One of the optimizations made in zMUD was to cache the character width values to avoid calling the Windows GetTextExtentPoint API routine to compute the width of each string output to the screen. I learned a long time ago that the GetTextExtentPoint API routine is *very* slow.

In CMUD, I added support for styles. They were implemented in a way similar to how I handle MXP fonts internally. And with MXP, zMUD/CMUD does not used the cached width because the MXP font might be anything. So, even though the default text was a single style, it was calling GetTextExtentPoint to compute the width all the time.

I added a character width cache to each style in CMUD, and now the CMUD Ctrl-Q speed is much closer to the zMUD speed! This doesn't do anything to help the difference between WinXP and Vista, but at least now there isn't going to be any difference between zMUD and CMUD.
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Thu Nov 29, 2007 8:41 pm   
 
Woohooo!!! Great find Zugg.

I don't have Vista, but I'm sure those who do will appreciate this. BTW when do we get a CodeRage conference update?
_________________
Asati di tempari!
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1244

PostPosted: Fri Nov 30, 2007 1:13 am   
 
Yet another reason to stick with XP!
Reply with quote
ralgith
Sorcerer


Joined: 13 Jan 2006
Posts: 715

PostPosted: Fri Nov 30, 2007 2:44 am   
 
Seb wrote:

Yet another reason to stick with XP!


You needed a reason? :)
Vista sucks! lol
_________________
CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate
Reply with quote
Fang Xianfu
GURU


Joined: 26 Jan 2004
Posts: 5155
Location: United Kingdom

PostPosted: Fri Nov 30, 2007 3:00 am   
 
I'm buying a new computer soon (very soon now that Intel's Yorkfield is out - I'll probably wait for the new Geforce 8800 GTS though) and was kinda hoping that Vista SP1 will improve it enough to be worthwhile. It'll be nice to hear from the people with Vista once it's out (or from anyone who's already got a beta version).
_________________
Rorso's syntax colouriser.

- Happy bunny is happy! (1/25)
Reply with quote
Standoff
Beginner


Joined: 24 Mar 2007
Posts: 15

PostPosted: Fri Nov 30, 2007 3:11 pm   
 
I'm kind of amazed at all the negativity about Vista myself. A lot of the stuff it breaks never worked all that well to begin with, and I suspect people will say 'this is what Vista should've been!' when the next Windows comes out, nevermind that without the changes made by Vista, it never would've been.

I went from dual booting in November to Vista only somewhere between April and June, and I'm definately not going to ever use XP again.

___
On an unrelated note, DEP isn't the only thing that can keep CMUD from starting on Vista, Windowblinds seems to do a swell job of it until you tell it to exclude CMUD from skinning.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Nov 30, 2007 5:56 pm   
 
Quote:
Windowblinds seems to do a swell job of it until you tell it to exclude CMUD from skinning.

At the risk of hijacking this thread, does this still happen in CMUD v2.13? v2.13 should be compatible with WindowBlinds as far as I can tell (assuming that it's not a bug in the Vista version of WindowBlinds).

But back to the topic: I'm not trying to start a religious war here. There are some things to like about Vista. But there are also some things *not* to like about Vista. This has been well discussed in many other places.

Regardless of whether someone loves Vista or hates Vista, this thread was just addressing a *fact* between Vista and XP, at least on my computer here. CMUD (and zMUD) just scroll text more slowly on Vista compared to XP. And this speed difference is significant. It doesn't mean that CMUD/zMUD didn't "work all that well to begin with". That has nothing to do with it. zMUD/CMUD are using standard Windows API TextOut calls just like applications are supposed to. And this is slower on Vista.

Maybe it's the video drivers. Maybe it's the changes Vista made to how the GDI is handled. It doesn't matter. Vista makes CMUD/zMUD slower and that's going to give some people a valid reason not to use Vista. And this doesn't look like something that I'll be able to fix within CMUD itself.

But, as Fang mentioned, a few years from now we are all going to be using newer computers and Vista will be forced upon us. Some people might keep using XP for a long long time. But the majority of people are going to be stuck with whatever is preinstalled on their computer and not have the knowledge/time/desire to wipe it out to replace it with XP.

I just want to make sure CMUD supports Vista as well as it possibly can. But I didn't want CMUD to get bashed for "being slow" when the problem was actually with Vista and not with CMUD itself.
Reply with quote
Standoff
Beginner


Joined: 24 Mar 2007
Posts: 15

PostPosted: Fri Nov 30, 2007 8:34 pm   
 
I was only implying that the way you draw stuff doesn't appear to work well with how Vista redirects graphics calls, not that CMUD doesn't work well.

My apologies if I worded that badly.

CMUD rocks. I'd used MUSHclients stale program for many many years before I paid for CMUD.

And yeah, I do tend to do a little hijacking, sorry :)

Registered this account a while back but decided posting just to say how much I liked CMUD was a little pointless.

As to Windowblinds, sadly I'm still on dialup so I don't have 2.13 yet...soon though.
Reply with quote
Standoff
Beginner


Joined: 24 Mar 2007
Posts: 15

PostPosted: Fri Nov 30, 2007 10:04 pm   
 
Still getting the exception on launch with Windowblinds on 2.13, but the app is still running after.

The error reporting hates my firewall apparently, oh well.
Reply with quote
Vesence
Beginner


Joined: 12 Mar 2006
Posts: 22

PostPosted: Fri Nov 30, 2007 10:34 pm   
 
Okay, so I'm doing this test on two different computers but here's what I get

Vista:
Cmud = 4.5-4.8
Zmud = 3.3-3.5

XP:
Cmud = 1.9 (almost all the time)
Zmud = .8-.6

The XP computer is almost 4 years old now and the Vista one is brand new.

Kinda makes me laugh...
_________________
Achaea
Reply with quote
Malach
Apprentice


Joined: 03 Nov 2007
Posts: 132

PostPosted: Fri Nov 30, 2007 10:43 pm   
 
I won't even say my CTRL-Q times on Vista with my full system going. But things seem to actually process fast enough so I don't mind the scrolling speed too much.
_________________
Intel Core2 Quad CPU @ 2.4 GHZ with Windows Vista Home Premium and 2 GB Ram
Reply with quote
Standoff
Beginner


Joined: 24 Mar 2007
Posts: 15

PostPosted: Fri Nov 30, 2007 11:16 pm   
 
Other than being at a loss as to what production environment that test would actually be relevant to, I'm not really going there.

For info about how the graphics code is redirected in Vista
http://en.wikipedia.org/wiki/Desktop_Window_Manager
http://blogs.msdn.com/greg_schechter/
http://msdn2.microsoft.com/en-us/library/aa969540.aspx
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Nov 30, 2007 11:53 pm   
 
The result is actually the number of "tenth" of seconds. So 9.9 is 0.99 seconds. Don't ask me why it's displayed like that ;)

Oh, and everyone should also be very careful with this. Do *NOT* bother reporting any Ctrl-Q speeds if you are loading your package. You should only be comparing speed using the blank session that you get when you first run CMUD. Otherwise, your Ctrl-Q speed is going to be completely dominated by your scripts and triggers and will have very little to do with the raw text scrolling speed of Windows itself.

Also keep in mind that changing your window size will also effect Ctrl-Q (since it has to scroll a different number of lines based on the window size). So when comparing zMUD to CMUD, make sure you are using the same window size, the same font, etc.
Reply with quote
Standoff
Beginner


Joined: 24 Mar 2007
Posts: 15

PostPosted: Sat Dec 01, 2007 12:03 am   
 
Edited my post before I saw you answered. Mr. Green

Anyway, enjoy yourselves, I'm off to do something...or pretend to do something, whichever works.

I wish all the random crap I knew actually helped me get a real job, but hey. That takes effort!
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Sat Dec 01, 2007 12:10 am   
 
Thanks for the links. I'll have to see if I can figure out an easy way to turn the DWM Composite stuff off or on from within the Vista UI to see if that makes a difference.

The Ctrl-Q timing test simply times how long it takes to write 1000 lines to the screen. The preference in CMUD called the "Refresh Amount" controls how many lines can be written to the current window before CMUD calls the ScrollWindowEx Windows API. This routine determines the maximum width of the lines on the screen to tell windows what portion of the current window to scroll. By default, this option is set to 5, so every 5 lines, CMUD is calling ScrollWindowEx and then painting the new lines.

Now, if Vista is refreshing it's own desktop from it's off-screen buffers too often and is slowing down program execution because if it, than that might explain the speed difference. In fact, this is a quote from the MSDN site that probably explains this slowdown:
Quote:
Evaluate whether your applications must provide its own double buffering. The DWM effectively double buffers content and presents the window in a single frame.

CMUD does *not* double-buffer, because I have learned in the past that while double-buffering makes the scrolling look a bit smoother, it slows down the scrolling tremendously (actually, by about the same amount that we are seeing between XP and Vista).

It's too bad that Microsoft choose to slow down *all* applications by effectively turning on double-buffering for the entire desktop. It doesn't seem to be anything that can be changed on a per-application basis. So it looks like Vista users are just stuck with slower scrolling.

And for those who think this just doesn't matter: There are *many* people who compare various MUD clients based upon so-called "speed". The differences that we are showing here between XP and Vista are *much* larger than differences between most MUD clients. There *are* people who care about these kind of speed issues.
Reply with quote
Standoff
Beginner


Joined: 24 Mar 2007
Posts: 15

PostPosted: Sat Dec 01, 2007 11:49 am   
 
Well, at any rate, I hope the links help you work better with Vista. I know it aint easy getting used to sudden changes in how the OS does literally everything as far as output...I'm no developer myself mind you but I consider myself very well read on the subject :)

Because anything that affects developers of the programs I use affects me in the end. And, of course, I'm a major tech and gaming geek.
:)

Perhaps someday I'll actually use that knowledge, but development requires patience that I currently lack.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net