Is It Time for 64-bit on the Desktop?

Jeff,

the Anandtech link you displayed is only the first in a series of articles about the memory problems for games in Vista 32 bits.
It’s because Vista reserves twice the amount of memory in your graphics card! Strange decision if you ask me…
So if you have a card with 256 MB ram, you have no problem with the address space, but when the size of the video ram increases, you will run out of address space: http://www.anandtech.com/showdoc.aspx?i=3044p=1 and
http://www.anandtech.com/showdoc.aspx?i=3060

On Windows XP there is absolutely no problem!

So please when you talk about 64 bits, don’t make general statements when they are based on your experiences with Vista 64 bit!
Clearly seperate what are root problems with 32 bits from problems with 32 bits implementations of XP, Vista, Linux or OSX.

I really don’t know what everyone is making a fuss of? I’ve been on XP x64 and Vista x64 and Server 2003 x64 for … ummm … around 3+ years. Rock solid. I would never use a 32-bit OS again. Vista 32-bit is dung and is only there because Intel wanted it supported on legacy procs. Driver support was flakey in the early days. I’ve ditched XP x64 in preference to Vista because driver support is so much better. I had problems with webcams and scanners but just went and bought new ones. I need 64-bit. We write software and require the large memory model for parallel compilations (has anyone seen the RAM footprint of Dev Studio 2008) and running a mountain of VMs simultaneously. Some of the apps that run under our apps are huge memory hogs (namely dedicated gaming servers, rendering simulators). Our test environment is fully automated and we use VMware Server on x64. I’ve got 2GB in all our laptops, 4-8GB in our desktops and 16GB in our servers. Try booting a dozen virtual machines on a 32-bit box (even with a custom HAL). Plus x64 is rock solid and running 32-bit apps under it mean we can isolate them under separate WoW64 instances (like the good old days of OS/2 Warp allowing you to run Win3.11 apps and if they die they don’t take the OS with it). Memory is dirt cheap, driver support can be problematic but choose your hardware carefully and be prepared to optimise (eg. a lot of the rendering we do is now in the GPU based rather than CPU based). 64-bit rocks :slight_smile:

@ChrisVB

That problem is already fixed through a Vista Hotfix. It’s a requirement for installing the Crysis Demo on Vista.

I’ve been using Vista x64 for about 4 months now. Everthing is running great Development + Games.

Wouldn’t the “Look how huge 64 bits is!” graphic have more impact if it had a linear scale? The logarithmic scale gives the impression that the size is merely doubling every time, which is absolutely not the case.

“That rise to 5% market share’s really going to your head, isn’t it? Just wait till it’s 90% and everyone’s talking about how only losers use Linux, with all those viruses people write for it now it’s being used by non-geeks who can’t protect their kernels.”

…and why would they want to protect their kernels when they don’t get viruses anyway, Vista finally appears to be relatively immune from virus attack because the user runs as a user, this is what Unix systems have been doing for 30 years!

Note all of the attacks on Vista machines have either been aimed at drivers or apps that run as (or partly as) administrator, these are the same attacks that Unix systems have been quietly coping with without anti-virus software

64 bit software besides being able to address more memory (and so allowing it to be faster because of caching) are their any benefits for the lowly ordinary users who have just upgraded to 2G. Besides gamers (who always need cutting edge machines) render farms (who need as much memory/disk/CPU cycles as possible) and developers (who seem to need impressive machines to write relatively simple software ;-)) who actually needs this?

Wouldn’t the “Look how huge 64 bits is!” graphic have more impact if it had a linear scale?

Sure, if you can find a way to fit it on any screen… I couldn’t! The difference is truly astronomical.

Right now I have these apps open: IE, Firefox (a memory hog), MS Word, few instances of file explorer, few instances of Wordpad, SQL Server and enterprise manager, Excel, VS 2005 (another memory hog), my RSS reader, Outlook, a couple CHM files, Yahoo desktop search, Dreamweaver (another memory hog) and 3 more specific apps. My peak memory never exceeded 3gigs.

I am thinking it’s going to be very rare that one needs to switch to an X64 to make good use of 4gigs of RAM because going above 3 gigs, if 3 gigs is XP’s limit, is a far away reach.

My advice to everyone is to install an x64 OS as second boot and install all your apps and hardware drivers again under that OS and make sure everything works. Do not upgrade before doing such a test. I am wary myself that everything will work fine. Personally I have a ton of software and hardware installed and I am not going to risk it. My XP runs fine and reliably. If it works, don’t fix it. I haven’t reached a point where my OS is starving for memory regularly. Occasional disk swapping for virtual memory is not yet a big concern.

@ Peter Juhasz: Multimedia. Software synthesizers, multitracking and mixing. There are a lot of cheap audio software packages out there that do not require an insanely spec’d workstation, but they’d still benefit from the memory because it allows you to load big sample libraries entirely in memory. Ditto with making movies; there are already consumer-level HD cameras and compositing or adding effects will benefit from more memory.

Content production is ramping up; while a DSLR was the domain of professionals a few years ago, amateur enthusiasts are getting access to them now, and working with material like this, fast, requires extra horsepower.

I recall a POV-Ray render of 640 x 480 I got on a CD - the origin was someone’s BBS. It took 3 or 4 days for a 386 to churn it out. I think that anyone who wanted to do this more than once would look into getting some extra juice so you wouldn’t have to wait for that long; even though the times are now vastly reduced (or the scenes vastly more complex).

I’m not so sure there won’t be a shift to 128-bit in our lifetimes. I believe there are platforms that already use 128-bit addressing. If I remember correctly, on these platforms each 128-bit memory address is unique across all machines running that platform, so a running process can be shifted across to another machine without missing a beat. Obviously, that’s quite a feat, but I wonder if the same idea won’t be used elsewhere in some form — it would certainly avoid some problems if handles or memory addresses were never recycled for different objects or memory blocks. Of course, we’re talking about virtual addresses rather than physical ones, but that’s what the page table is for.

I didn’t read all posts but looks to me no one has mentioned yet about shell extensions. I used to have lots of 32 bit shell extensions e.g always on top on right click of a taskbar tab, open command propt at current directory, vtf viewer, MD5 checksum change file date and time. These although possible to do require quite a bit of work from what I have read to convert to 64 bit. I am on 64 bit and miss them hopefully they will be modified for 64 bit as more people move to it.

nearly forgot my absolute favourite although this doesn’t work on 32 or 64 bit vista due to api changes it is folder size. This gives the folder size as an explorer column so you don’t have to right click properties on a folder or tooltip over to find its size.

When I got my OEM Vista Ultimate 32-bit I was so tempted to go 64-bit,
but I was worried about driver/app compatibility.

I started with Vista 64-bit when it first came out. I do mostly software development which means that I use somewhat specialised tools that most people wouldn’t ever need. This is a good thing for them, because 64-bit Vista drove me nuts. Nothing that I needed worked on it, and various vendors that I contacted about it indicated that they currently had no plans for 64-bit support. That’s not just debuggers, monitors, system utilities, and so on, but also printer drivers, the data cable for my cellphone, my GPS, … . I stuck it out for nearly nine months, but eventually threw in the towel and went back to XP. It was like going back to an old friend (which I realise isn’t said often about Windows :-), everything just worked again, things I’d almost forgotten about were back, it was great. I really, really wanted to give Vista a chance, but found the 64-bit version unusable, at least for what I wanted to do with it.

Moral: If you’re planning to move to 64-bit Vista, set up your machine as dual-boot to XP just in case.

Why else 64-bit applications are faster than 32? That’s why:

BOOL WINAPI SetFilePointerEx(
__in HANDLE hFile,
__in LARGE_INTEGER liDistanceToMove,
__out_opt PLARGE_INTEGER lpNewFilePointer,
__in DWORD dwMoveMethod
);

This is how a file pointer is relocated to a needed place in a file in Windows. LARGE is 64-bit.
The point here is that all the file access is already 64 bit. Even a DVD image file is larger that 32 bit addressing allows. Since application does use files they should benefit from 64 bit addressing.

Jeff,

I’ve been running Vista 64 on my home machine, and I was thinking of using my MSDN copies of Vista to replace the 32-bit Vista copy that came with my Dell XPS m1330.

Have you run into any issues running Vista 64 on your m1330? I’m curious if 64-bit drivers are available for all the devices in that laptop. If so, I may do that upgrade this weekend.

One of the major problems with 64bit is you can’t do mixed mode (.NET/native) debugging. The ability to step from .NET to native code is a nice feature that I don’t wanna give up by going to 64bit.

So I have a question for you Vista x64 bit adopters,

How many of you run with multiple monitors running under Vista and what are your experiences? I switched from XP to Vistax x64 in a development environment and I was pleasantly suprised. Untill I actually booted up my machine. Evidently, Nvidia (my video card) will no longer support nView in Vista, a godsend for those of us who like to use multiple monitors as a single virtual monitor. Anyone else have this problem? Any good workarounds?

Gary

There is one major problem I’ve been running into for the last month I’ve been running Vista x64 - VPN Clients.

http://support.microsoft.com/kb/929490

You’ll notice that even Vista support is limited - and x64 support is almost non-existent.

I will point out that everything else about my experience developing software on the Vista x64 has been great. I just can’t work remotely.

Wait, is this really a problem :)?

@Gary: I suggest Ultramon. I use two discrete monitors (laptop + desktop LCD with different sizes) but it works great for that.

To the quantum physics guy:

You’re right we probably won’t ever see 2^128 bytes of RAM attached to a machine. (don’t quote me tho, I don’t want to be infamously quoted far in the future).

But I dont think a 128 bit address space is that far fetched. One of the useful things about a large address space is you can carve out blocks and give them meaning, even though every byte of the block may not be needed or used. One example is 32bit windows dlls. They load faster when they can use their hard coded addresses as no fixups are required. Another example would be giving hardware manufacturers blocks of IO space.

Hi Jeff,

I definitely agree with you and I think software development side of the computer field is not really going as fast as the hardware development sie. A lot of users are choosing 64-bit systems but thereis not that much software for them.

As about the software, I’ve found a website where I can find at least something… - www.64xsoft.com but again not too much… I’d prefer to upgrade all my software to 64-bit, but there is no chanse to do that…

Thank you for the article, it was really usefull for me.
Cheers, Alex.
I wish they(development companies) finally start thinking about 64-bit users as well…

been using Vista x64 since the beginning. no issues at all. i even run vista x64 exclusively on my work laptop which is a 17" Macbook Pro. driver support is good.

the perfect development combination is Vista x64 + VMWare Workstation for Server 2003 images. there are no longer deployment surprises such as opening ports, configuring DTC, etc. i allocate 384MB of RAM to each server: IIS, SQL Server, App Server. i highly recommend using virtualization as i have run into little quirks with Visual Studio 2005/2008 on Vista x64.

for Cisco VPN, I use a 256 MB Windows XP VMWare image. i use that to remote desktop in and transfer files. we use Subversion instead of SourceSafe so I don’t need a vpn tunnel to access source.

ultramon works great with Vista x64 for multiple displays. for a virtual desktop try the fast and open-source virtuawin.