Sunday, July 24, 2011

Changing the Text of 'Start ' Button in Windows


I've read a number of articles on the internet about changing the
text on the Start button in XP. On more than one occasion I’ve
seen references to a five (5) letter limitation when the button is
renamed. I always wondered if this was true or just an assumption
someone made because the default ‘start’ just happened to fit the
button size.So, I decided  to run a test and see if there really was
a five character limit.
As you can see from the screen capture above it would seem that 
the five character limit isn’t etched in stone. The button expanded 
to accept the text I entered with no problem. I’ve been using the
system for a few weeks now with no adverse effects.That’s not to 
say I won’t discover something down the road a bit, but for now 
I feel comfortable with  the changes. If you’d like to try the
procedure I used, the instructions follow.
Step 1 – Modify Explorer.exe File
In order to make the changes, the file explorer.exe located at C:\Windows 
needs to be edited.Since explorer.exe is a binary file it requires a special 
editor. For purposes of this article I have used Resource Hacker.
 Resource HackerTM is a freeware utility to view, modify, rename, add,
 delete and extract resources in 32bit Windows executables and resource 
files (*.res). It  incorporates an internal resource script compiler and 
decompiler and works on Win95, Win98, WinME, WinNT, Win2000
 and WinXP operating systems. Navigate here to download Resource Hacker.
The first step is to make a backup copy of the file explorer.exe located
at C:\Windows.Place it in a folder somewhere on your hard drive where
it will be safe. Start Resource Hacker and open explorer.exe located at 
C:\Windows\explorer.exe as shown in Fig. 01.
                                      Fig. 01
The category we are going to be using is String Table. Expand it 
by clicking the plus sign then navigate down to and expand string
37 followed by highlighting 1033. If you are using the Classic
Layout rather than the XP Layout, use number 38. The right
hand pane will display the stringtable as shown in Fig. 02.
We’re going to modify item 578, currently showing the word
“start” just as it displays on the  current Start button.
Fig. 02



There is no magic here. Just double click on the word “start” 
so that it’s highlighted, making sure the quotation marks are
not part of the highlight. They need to remain  in place,
surrounding the new text that you’ll type. Go ahead and
type your new  entry. In my case I used ElderGeek as
shown in Fig. 03.




                                   Fig. 03
Compare the screen captures in Fig. 02 and Fig. 03 and 
you’ll notice that after the new text string  has been 
entered the Compile Script button that was grayed out 
in Fig. 02 is now active in Fig. 03. I won’t get into what’s 
involved in compiling a script, but suffice it to say it’s 
going to make this exercise worthwhile. Click Compile 
Script and then save the altered file using the Save As 
command on the File Menu. See Fig. 04


Do not use the [Save] command – Use the [Save As] command.

Name the file explorer.exe
Save the explorer.exe file to C:\Windows\inf directory.


Note: There are two things that are very important at this stage 
of the process. First, it's  important that the modified file must
be named explorer.exe as this is what allows the start button
context menu search functions to operate properly.

Second, it's important that the explorer.exe be saved somewhere
in C:\Windows 'other than in C:\Windows itself.



                                      Fig. 04
Step 2 - Modify the Registry


Now that the modified explorer.exe has been created it's 
necessary to modify the registry so that the file will be
recognized when the user logs on to the system. If you
don't know how to access the registry I'm sure this
article is for you, but just in case it's a temporary memory
lapse, go to [Start] (soon to be something else) [Run] and
type 'regedit' in the Open:field. Click [OK] to open the
registry and navigate.


HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon
                                        Fig. 05
In the right pane (Fig. 05), double click the Shell entry to open
the Edit String dialog box as  shown in Fig. 06. In Value data:
 line, enter the directory name and file name that was used 
to save the modified explorer.exe file, separating the directory 
and filename with a forward  slash. Click OK.

                                             Fig. 06
You can refresh the registry after you have made the entry 
to make sure it is correct. Close Registry Editor and either
logoff the system and log back in, or reboot the entire
system if that's your preference. if all went as planned
you should see your new start button with the revised text.

 
                                                         Fig. 08
The contents are taken from ElderGeek and Tested on Windows Xp sp2

Tuesday, March 8, 2011

NVIDIA Optimus Technology: Review


A few years ago and again only recently, a select few notebooks hit the scene with "switchable graphics". That is to say, these notebooks are able to manually switch between low-power integrated graphics solutions in the notebook chipset, to more powerful, and higher-performing discrete graphics processors. To enthusiasts, power users, or even somewhat tech savvy consumers, switchable graphics seemed like a no compromise solution.  The IGP could be used to conserve battery life when multimedia performance wasn't necessary, while the discrete GPU was available for more demanding applications.
In practice, however, notebooks with switchable graphics were somewhat cumbersome to use in the real world. In many cases, a physical switch had to be flipped, applications had to be closed, and the system had to be restarted. And to switch back, the process had to be repeated over again. Not to mention, the need to incorporate the switches and the other necessary hardware to support having a pair of GPUs connected to the same set of outputs, added complexity to the notebook's designs, that ODMs had to contend with. Switchable graphics, while great in theory, didn't always provide a great user experience or at least the implementation could have been much cleaner.

Ideally, switchable graphics would be seamless. Launch an application that doesn't require significant GPU resources, and the IGP gets used. Fire up a game though, and the discrete GPU kicks in. Up to this point, a scenario like this simply wasn't available, but NVIDIA aims to change that with the release of their Optimus technology.  

That teaser didn't exactly spell out what Optimus was all about, so we speculated a bit about what NVIDIA had in store. While we were partially correct in our assumption that Optiumus-enabled GPUs are capable of shutting down parts of the GPU while not in use, we didn't realize exactly how much could be disabled. In reality, Optimus turned out to be much more that we thought.
  
Left: NVIDIA's Optimus Graphics Solution - Right: Legacy Design Approach
If you take a look at the high-level design approaches that NVIDIA has detailed above, you'll note that the right-hand slide (the legacy approach) shows a fair bit more complexity for a switchable hybrid graphics infused notebook.  Physically, there are several mux/demux switches that need to be employed in order to couple the discrete GPU over the output traces of the PCB, so it can output to the same connectors that the integrated graphics solution can, when called upon.  In addition to adding design complexity, the approach also degrades signal quality a bit, though whether it is end-user perceptible is another question.  Regardless, this approach is less than optimal (pun intended we suppose) because it requires a hard, physical switch-over from IGP to GPU.  Though this can be achieved, with current gen hotplug / switch technologies and operating systems, the output to the screen will go blank and any applications running that require graphics resources, will need to be shut down to invoke the switch at the software level.  Next take a look at the slide on the left, to see the way NVIDIA has assembled an Optimus reference notebook design, which is significantly less complex.


The NVIDIA Optimus Way:
Doing things the right way, as Mamma once may have said, isn't always the easy way.  In actuality, from a hardware design perspective, NVIDIA's new Optimus design approach is significantly more simplified.  The discrete GPU simply sends its output to the integrated graphics core in the chipset--the IGP acts much like a pass though.  However, it's how this gets done that is the real "magic" that NVIDIA has developed with Optimus.  It's not as simple as just "sending the data along" to the IGP core for display.  Remember, that IGP wants to control the output lines when it's active.  We'll get into how NVIDIA pulls off a bit of trickery on the IGP to achieve this next.  In the mean time, here's a demo of NVIDIA Optimus technology in action that we've put together for your edification and entertainment.


HOW IT WORKS


NVIDIA's Optimus technology is enabled through a combination of custom hardware and software. What NVIDIA is calling the "Optimus Copy Engine" is integrated into all of their current 40nm GeForce 200M and 300M GPUs and upcoming Fermi-architecture based mobile products.
  
NVIDIA Optimus Copy Engine
With previous NVIDIA offerings that featured support for Hybrid SLI, which also allowed an NVIDIA IGP to display the output from a discrete GPU, elements of the GPU's 3D pipeline were used to copy frame buffer data to the IGP. This caused the 3D engine to stall during DMA operations. With the new Optimus Copy Engine, however, the 3D engines are not used and don't stall during the copy process.

As the Copy Engine's name suggests, its sole purpose is to copy frame buffer data from the discrete GPU, over the PCI Express interface to system memory, where it is then output to the display by the IGP. This operation may sound like it introduces significant latency, but we're told it is less than 3ms when operating at 60Hz. 
  
NVIDIA Optimus Software Implementation
On the software side, a few things had to happen to enable Optimus. First and foremost, Windows 7's ability to work with multiple graphics drivers simultaneously was a necessity. Vista only allowed graphics drivers from a single vendor to be installed at any given time. NVIDIA also implemented a few features in their drivers for Optimus. In the slide on the left, you'll see an indicator for the Optimus Routing layer. NVIDIA hasn't disclosed exactly how the routing laying works, but the software essentially detects certain calls an enables the discrete GPU when necessary. In addition, NVIDIA has also implemented application profiles in their driver--similar to SLI profiles. When a application is launched, if its profile recommends the use of the discrete GPU, it is fired up and takes over. While we're on the subject, we should also note, that when the discrete GPU is not being used, it can be completely shut down to a no-power state. Although we didn't see it in person, we're told NVIDIA has actually demoed an Optimus system, where they completely pulled the discrete GPU out of the system when it was not in use. The GPU was put back in, and it fired up when called upon by the Optimus software--all while the OS remained up and running.
NVIDIA has also implemented a new profile distribution system that will keep Optimus application profiles updated, without user intervention. Because many notebook buyers are, shall we say, not so tech savvy, the likelihood that they'd update drivers regularly and keep the profile list up to date was slim. With that in mind, NVIDIA has put mechanisms in place to update Optimus application profiles in the background, much like anti-virus vendors update definitions. Users can also manually add applications to the list or enable the GPU with a simple right click of the shortcut. A context menu gives users the ability to run a particular application using the discrete GPU if they so choose.
POWER CONSUMPTION AND WRAP-UP
NVIDIA's Optimus technology is less about performance and battery life than it is about the user experience. What we mean by this is that a GeForce 220M is going to consume the same power when in use, whether it is in an Optimus enabled notebook or not. And the same can be said about the IGP it's pared to as well.  What Optimus does enable, however, is a seamless switch from a lower-power, IGP enabled state, to a higher performing, GPU enabled one. This seamless switch gives users all of the performance of a discrete GPU when it's needed, with the lower-power benefits of an IGP when it is not.

To show how power is affected over time with Optimus, we ran a simple test with our sample notebooks. In this test, we allowed the machines to idle at the desktop, then we fired up 3DMark06 and it's Canyon Flight graphics test.  After a few seconds we exited 3DMark, and then the machines settle back to idle. The data shows the idle-peak-average power consumption for a notebook running solely on the IGP, solely on the discrete GPU, and finally on the Optimus enabled system
What Optimus nets the end user is low-power operation when the discrete GPU isn't necessary, high-performance operation when it is, with a seamless switch back to low power. The end result is less power consumed over time, without any sacrifice in performance.
NVIDIA's Optimus graphics switching and power saving technology, though a little complex to explain from a design and software standpoint, couldn't be easier to understand and see in practice and function from an end users perspective.  In fact, what NVIDIA has done with the technology enables a level of both functional and design simplicity that is, for us and we're sure notebook consumers to follow, a thing of beauty.  There is a simple elegance here that NVIDIA has enabled with Optimus and it's the way it should have been done a long time ago quite frankly.  Granted, we're sure that our expectations are based on an over-simplification of the level of engineering that NVIDIA poured into Optimus but we're more than happy that this level of seemless functionality for switchable hybrid graphics is finally here.  Thanks to NVIDIA for making it a reality.