In The Belly Of The .NET Beast

ATI decided to take a different approach this time around. The Catalyst Control Center (CCC) is written as a client/server pair, and allows for much extensibility and customization. All the underlying work of communicating with the driver has been taken care of in the server, which also exposes hooks to adjust any of the settings that ATI allows to be changed.



In talking about the usefulness of this, ATI has stated that vendors will now be able to customize effectively and quickly the control center for their product. We will also probably see UI mods from industrious users who want to add or subtract functionality, as the programming interface is not being kept private.

There are a couple of downsides to going with .NET for a graphics driver user interface. First, the client and server are constantly running. Second, the .NET framework from Microsoft is required (available via Windows Update). These aren't major kinks, but they definitely are not desirable. Probably the most annoying issue that we ran into is that installing the .NET framework made it such that our main user account didn't auto-login anymore. This was easily fixed and not that big of a deal (and it's also Microsoft's problem).

The 60 or 70 extra megs of memory used and multiple extra processes running are not what resource snobs are going to want to see, but ATI provided us a FAQ that addresses multiple questions about resources. They state that the CCC will release any memory that it occupies if another process requests it. We don't have a good way of testing this right now, but we can say that we haven't observed any performance drop in games due to the new UI. Maybe we should run Winstone to see if it impacts normal usage models.

So now that we know a little bit about how the CCC was built, let's take a look at what it does.

Index Simplifying Settings
Comments Locked

51 Comments

View All Comments

  • Bluefront - Monday, September 6, 2004 - link

    So is this new control panel of any use to a non-gamer? Will it have any benefits to people who use AIW cards for their multi-media capabilities?
  • bobbenedetti - Sunday, September 5, 2004 - link

    On my computer with Windows XP SP2 CCC stumbles through half a dozen errors on startup delaying startup of my antivirus and messenger.
    Way too much overhead for what it does.

    I deleted it.
  • HermosaBeach - Sunday, September 5, 2004 - link

    Questsion - I downloaded the new full package (driver and new CCC) on Sept 3. It was 42 MB. I then uninstalled my old 4.8 with the old control panel, rebotted, and then installed the new one. My control panel still looks like the old one ? Is there something I have to do to get the control panel to switch to the new looking skin ? I would like to try out the anti-aliasing and AF demo.

    Dave
  • Reflex - Saturday, September 4, 2004 - link

    val - I have serious difficulty believing your claims. Nearly every programmer I know would laugh silly at what your saying. Yes there is a place for ASM, however there is also a reason we developed higher level languages.

    As for the 'driver' taking up more memory...well, who cares if it does not impact performance in any way, shape, or form, which is my point. Memory management means more than memory footprint these days. Its part of the point of .NET. You can go on about how its not asthetically pleasing to you to see a driver taking up so much, but when it comes down to it, its an argument of what you 'like' rather than any valid complaint about the driver or its performance impact on your system.
  • val - Saturday, September 4, 2004 - link

    last but not least, little more time you spend will save lot of time of all users of your applications.
  • val - Saturday, September 4, 2004 - link

    And to your examples, i am not student anymore, i must not write again what was already written. But thinking in ASM makes you better programmer. Not like you see in many C codes, where many users are not thinking about how each function will take long time to execute (for example usage of timer related code or string related code in many games in main thread, no use for binary search where it is possible, no use of hash search where it helps,...).
    Valerie
  • val - Saturday, September 4, 2004 - link

    JarredWalton: i am ASM programmer, and trust me or not it takes no longer time. I do not write whole program in ASM, but nearly all executive functions. In fact, the programming of alghoritms is not easier in C/C++ because functions are more or less same. Many functions you have not in C at all or it is too complicated to use (SSE,...). C is easier for OS related code, and so on.
    For example I wrote SD card reading/writing for PIC whole in ASM, you cannot do it faster in C, only searching and installing compiler will take you longer. Same with my other projects. Just write the frame in C, executive functions in ASM. What C have what ASM not?
  • JarredWalton - Saturday, September 4, 2004 - link

    "assembly code is not about to debug ten years, it is about to write code for same time but write it good."

    That sounds like something a person who has never written assembly would say. My ASM experience amounts to one class. The final project was a stinking bubble sort algorithm! Sort 10000 integers using a bubble sort. God, I could write that up in C in about an hour, probably less.

    Well, that simple project took roughly two weeks of my life, and I was probably the best ASM programmer in the class. Half of my time in the computer lab was spent helping other people figure out why the hell their computer kept crashing every time they ran their code. (Ah, the joys of the old Mac OS with no protected memory....)

    If you still don't get it, read that again. A BUBBLE SORT algorithm took two weeks to write in assembly! Granted, I was a programming neophyte back then, but I doubt anyone could write and debug an ASM routine to do a bubble sort in less than a day (without copying/reusing existing code).

    Sure, it was fast when it was done, but I could have written a quick sort algorithm in C in less time that would have been much faster due to the use of a better algorithm. If you think writing a bubble sort in ASM would be hard, try writing a quick sort....
  • val - Saturday, September 4, 2004 - link

    Reflex: i agree with you and i will not complain about usage of game, office or photoshop, but drivers?! Resident services and applications must be small!
  • val - Saturday, September 4, 2004 - link

    assembly code is not about to debug ten years, it is about to write code for same time but write it good.
    And memory usage hurts performance, because many applications are checking how much memory is available before they will alocate it. And i do not like swapping.

Log in

Don't have an account? Sign up now