Your best source of information and news about xp, windows vista and Vista hardware on the internet

Vista ARTICLES TOP 50 Spyware Virus Vista SOFT Vista HELP

Performance

You are currently browsing the articles from MS Windows Vista Compatible Software matching the category Performance.

Reporting Live from the Windows 7 Seminar: Boot Camp

Here we are at the LA Convention Center, attending the FREE Windows 7 Seminar: Boot Camp. We managed to “sell out” (just a reminder-- it is free) this event, getting more than 1200 registrations. This day is all about learning what’s new in the Windows 7 kernel, how developers can take advantage of these feature, and then learn how to take advantage of some “user mode” features like multitouch, taskbar, sensor and location, and others. image

Today started with Mark Russinovich, Technical Fellow and the man behind SysInternals and many of the improvements in Windows 7, describing some of the changes made to the Windows 7 kernel. Immediately after Mark, Arun Kishan, a Principal Architect for the process management components, described his work around the thread and process allocation that frees the kernel from its thread dispatcher locks and gives Windows 7 the ability to scale seamlessly to 256 cores. Then Landy Wang, a Distinguished Engineer in the Kernel team, described changes made in Windows 7 memory management, mainly focusing on memory Working Set and memory trimming.

image

After lunch, Jaime started his run, giving some insight and very useful tips about using the Taskbar, from understanding the difference between Application ID and Program ID to the effective use of custom previews. Jaime has only 60 minutes, but I am sure his tips for working with the Taskbar will prove very useful. For example:

  • Tip1 – when writing your own jump list item or link, make sure you remember what items you wrote, because you can’t just “read” the jump list items
  • Tip2 – if you decide to invest in cutom switcher and provide your own thumbnail preview and Aero Peak make sure you “save the state” of your application and images as DWM will not always perform for you.

I'll be up next, explaining Windows 7 libraries in depth, with a focus on useful tips for programming Windows 7 libraries, and specifically how to stay in sync with library updates. We have already had plenty of Windows 7 libraries posts - Windows 7 Programming Guide – Libraries, so I am not going into great detail. However, I do want to hand out the presentations and code samples used. All my demos as well as Jaime’s are part of the Windows 7 Training kit.

Right after our discussion about libraries, we will take a deep dive into the Windows 7 Sensor and Location platform. I just LOVE the endless amount of innovation and opportunity developers have generated while using this platform. After the Windows 7 launch on October 22nd, we saw a large number of laptop models coming out with built-in sensors. Developers will most probably use these to create truly adaptive applications that adjust their functionality and UI based on sensor input. 

After our Sensor and Location Platform discussion, it will be Michael Oneppo's turn to explain the changes in the Windows 7 graphics stack. Michael's presentation is very interesting, as it describes some of the DirectX API that was down ported to Windows 7 as a result of the Platform Update for Windows Vista and the Platform Update for Windows Server 2008. For example, did you know that the Microsoft Direct3D API DirectCompute feature allows your applications to use a new pipeline stage in the GPU, the compute shader stage, to implement highly data-parallel algorithms with unmatched speed and performance? This means that now you can use GPU power for parallel programming, freeing your CPU to do other things. It is amazing how powerful these GPUs have become; allowing them remain idle would be a huge waste of resources. If you want to learn more, you can always view Chas Boyd PDC session – DirectX11 DirectCompute.

To close the learning part of the day, Jaime Rodriguez takes us through a quick tour of Windows 7 multitouch. Jaime is taking his usual practical teaching approach of focusing on a few tips and tricks that will make it easier for you to start using multitouch.

Written by Yochay Kiriaty on November 16th, 2009 with no comments.
Read more articles on PDC09 and PDC2009 and otherSoftware and windows 7 and Microsoft and Performance and Windows.

Windows7 Trigger Start Services – Part 2: Building a Trigger Start Optimized Service

In the last post Windows 7 Trigger Start Services – Part 1: Introduction, we introduced Windows7 Trigger Services as a great way to optimize your services to have better performance and improved security. In this post you will learn how to convert a standard automatic-start service to a trigger-start service that starts up only when a certain event occurs in the system. We’ll use a WPF application (obviously managed code) that registers and monitors a service (also implemented using .NET). To bridge between the .NET world and the native Win32 APIs that we saw in the previous post, we use a C++/CLI interoperability layer.

This sample application has 3 parts:

  • A C++/CLI interoperability layer that provides a regular and easy .NET API to the controller application
  • A WPF controller application that lets you register and run the service
  • A simple .NET service that looks for a USB storage device (disk on key) and on it, a specific folder named “ToCopy” from which to copy files to your local “C:\FromUSB” folder

The following image illustrates the solution structure.

image

Let’s start by reviewing the .NET Service code implementation. This is a simple Windows service written in C#. The purpose of this service is to copy pictures automatically to your local hard-drive- “c:\FromUSB” from the USB storage device that is plugged into your computer.

The service implementation can be found at USBService.cs. This class inherits the ServiceBase base class and overrides the OnStart and OnStop methods. This class has a DoWork method that actually does all the copying of images from the USB disk to your local drive. The DoWork method writes to a log file that we will be monitoring.

The real interesting part of the service implementation is the OnStart method. This method is called once the service is started. Notice that the first line of code checks whether the service is configured as a trigger start service. If the “if” statement returns false, we create a new instance of a timer and have it poll every 5 seconds. Before Windows7, this was the only way to implement such a service, that is, by regularly polling the system to check for a USB device. Therefore, the service needs to run 24x7 to poll the system. This is highly wasteful of resources and keeps the system from transitioning to a low-power state, increases the application attack surface, among other negative things.

But, with Windows7, you can configure such a service with a USB device arrival trigger. This means that the service will not run until a USB device arrives, specifically a USB generic disk device. We’ll get to that part of the solution in a second, but for now, if you look at the OnStart method, you will notice that we check whether the service is configured as a trigger start service; if it is, we simply call the DoWork method on another thread, as shown by the following code snippet. This should work just fine because the service is NOT running, and will start to run only when the trigger happens. And then it will not default to the timer, but rather use the thread pool to queue the work.

 protected override void OnStart(string[] args)
 {
   if (ServiceControl.IsServiceTriggerStart(ServiceName))
   {
      ThreadPool.QueueUserWorkItem(_ => DoWork());
   }
   else
   {
     _timer = new Timer(_ => DoWork());
     _timer.Change(0, 5000);
   }
 }

The ServiceControl namespace contains the C++/CLI interop layer. This layer uses C++/CLI as the binding element between the native API and the WPF application. The main ServiceControlInterop.cpp file contains all the functionality that we need and that is used by the WPF application. For example using the controller application we can use AddService(…) or RemoveService(…) to add or remove a service respectively. We can also configure the service as a trigger start service for either a USB device arrival or first available IP address by using SetServiceTriggerStartOnUSBArrival or SetServiceTriggerStartOnIPAddressArrival respectively. Reviewing both function implementations reveals that basically both are following identical paths. They:

  • First, use OpenSCManager to get a handle to the Service Control Manager (SCM)
  • Then use the SCM handle OpenService, to get an actual service handle that we wish to configure
  • Finally call ChangeServiceConfig2 to set the specific trigger

All this was explained in detail in the last post (Windows7 Trigger Start Services – Part 1: Introduction

You can download the code sample for this application. Note that you will have to run Visual Studio as administrator (see image below) because you will need to register, start, and stop services. . You will also need to Windows 7 SDK to compile the C++ part of the solution.

image

When compiling and running the default solution (the WPF application) you will see the following image.

image

This is the main WPF controller application. From here, you can create the service by clicking the Create Manual button.

Next, open the Services Window by typing “Services” in the Start Menu search box. You should see the Service window. Locate the USBCopyService; it should appear as in the following image.

image

Click the Run button and then the Refresh button in the Services window, or just press F5. You will not notice a great deal of change, but the USBCopyService changed from Manual to Started, as shown in the following image.

image

 

A second look at the actual application reveals the service activity in the log file. As you can see in the following image, the services awaken every 5 seconds and poll the system, looking for USB devices:

image

Click the Stop button to stop the service and then click the Delete Service to delete it. Now click the Trigger Start button to register and configure the service as a trigger start service that is triggered once a USB Generic disk arrives. If you check the Service window, you will see the USBCopyService listed as “manual” where in reality it is configured as triggered start service (there is just no graphical representation of that).

If you plug in a USB disk with a “ToCopy” folder the service will kick into action and copy the files to c:\FromUSB. Not the best implementation, but hey, it is only a demo. The following image shows a single line in the log file because the service actually ran only once; it executed the DoWork method and then quit. It didn’t run and poll the system every 5 seconds and didn’t waste resources or become a security liability.

image

To conclude

Developing a service with Windows 7 trigger start service in mind might be a little more difficult than a regular “auto-run” service that just runs in idle from boot to shutdown. But in practice, all it takes is only a few lines of code, no more. And these few lines of code can have a very big affect in terms of resource consumption and security. So the next time you build a new Windows Service, try to incorporate triggers.

You can learn about Windows 7 using the Windows 7 Training Kit for Developers or by viewing Windows 7 videos on Channel 9.

You can also get hands-on experience for Windows 7 Trigger Start Services using the Windows 7 Online training that is part of the Channel 9 Learning Center

Written by Yochay Kiriaty on October 27th, 2009 with no comments.
Read more articles on Windows 7 Training Kit and Trigger Start Services and Windows 7 Trigger Start Services and otherSoftware and windows 7 and .Net and Performance and Microsoft.

Windows 7 on ASUS and the Future of Innovation

Working at ASUS, I have witnessed, first-hand, the great strides made in technological innovation and exceptional focus that goes into our high-quality products. Instilled with traditional values of hard work and discipline, ASUS continues to build upon its success that has made it far more than just the world’s leading motherboard company. And now with Windows 7 just around the corner, we have already been running beta versions effortlessly on our systems to ensure maximum compatibility and optimized performance. 

Personally, I have used Windows 7 on a number of our notebooks and have truly enjoyed the streamlined features and incredible performance that makes my already fast notebook even faster. Loading programs, finishing my work, or just surfing the Web - Windows 7 simply makes everything looks better, perform faster, and is much more intuitive than other operating systems. Meeting the great people at Microsoft, I can see the amount of detail and research that has gone into making Windows 7 into what I see today. Building off Windows Vista, Microsoft further refined and finessed the architecture to create an easier so that everything I want to do is done better. 

ASUS is thrilled to provide users with a new experience - based on high-speed, innovative ASUS technology and reliable Windows 7. The benefits are numerous. I have had the privilege of using Windows 7 on ASUS notebooks and would recommend it to anyone that’s interested in eye-catching style, ultimate performance, advanced security, and reassured dependability.  

Marcus Teixeira
Marketing Team at ASUS

Written by ASUS on August 31st, 2009 with no comments.
Read more articles on asus and notebook and Notebook PC and experience and otherSoftware and Partner and Performance and windows 7 and Compatibility.

Sony Executive Weighs in on Windows 7

Xavier Lauwaert here. We at Sony are excited to welcome the arrival of Windows 7 with its performance, ease of use and connectivity innovations. Indeed, pre-release reviews and engineering investigations show that Windows 7 is in line with industry needs and end user requests for an operating system that is leaner, faster, easier to use and more connected.

These last months we have been working with Microsoft to ensure that not only the operating system but also our PCs create a symbiotic effect whereby end user usage models are optimized. The end result is an improvement in day-to-day life performance as well as simply making the PC more fun to use. We live in a very PC-centric and connected world and Windows 7 addresses both these needs.

With households increasingly switching from desktops to notebooks and even having more than one PC, the concept of mobility and connectivity increases in importance. At the same time, Windows 7 is built on a solid foundation. Be it a netbook or a mainstream notebook, we expect to deliver unprecedented performance and connectivity options through Windows 7. Faster boot up times, improved battery life and the ability to stream your contents through the “Play To” feature will not only make the PC omnipresent but Windows 7 will also bring content “to life”.

Windows 7 will provide new solutions and expectations and we look forward to leveraging this release on our platforms.

Xavier Lauwaert
Senior Manager Product Marketing at Sony

Written by Sony on July 29th, 2009 with no comments.
Read more articles on otherSoftware and Play To and windows 7 and Performance and Sony and Boot and Partner.

Internet Explorer 8 helps you save time with Accelerators

There’s been a great deal of more talk lately about browser performance. You may have seen some previous discussion about page load performance as you saw here in a video and whitepaper in March. Page load ensures that you get to where you want to go quickly. But page load time differences actually measure about the length it takes for a person to blink their eye once, making a win for any browser pretty inconsequential as far as time savings go.

However, Internet Explorer 8 today offers a feature that saves you time and clicks and lets you get things done more quickly: Accelerators. Accelerators optimize the browser experience by removing repetitive, time consuming actions and give people easy access to the online services they use most. You can discover new Accelerators for Internet Explorer 8 at the Internet Explorer 8 Add-ons Gallery.

With all the talk about performance, we wanted to see what features like Accelerators really meant for time savings when people use the web, so we created another video looking at common tasks people actually do in four browsers: Safari 4.0, Chrome 2.0 beta, Firefox 3.5 beta 99 and Internet Explorer 8. Please note, all tests were performed using the default installation settings for each browser. No additional add-ons or extensions were added. 

Here is a video that shows off how Accelerators in Internet Explorer 8 make your browsing experience quicker and easier:


Accelerators in IE8 Help Save Time!

Written by Brandon LeBlanc on June 30th, 2009 with no comments.
Read more articles on otherSoftware and Accelerators and Web Browsers and web browsing and Performance and internet explorer 8 and browser and Internet Explorer.

IE8 Gets You Where You Want To Go, Quickly

As any browser vendor will quickly point out, accurately measuring the performance of a browser is extremely complex. On the surface, testing performance seems quite easy… visit a few sites with one browser and then again with a different browser, and simply time how long it took to load the page.

In reality, it’s much more complex than that.

Many things need to be taken into account when comparing the page load performance of different browsers. For example, due to the constantly changing nature of the Internet it is not easy to tell if the exact same content was delivered to each browser for each test. ISP’s, routers, and cable modems often cache their content, meaning that the page being loaded isn’t always coming all the way from the web server. The amount of network traffic can easily change between tests. All of these things (and more) can dramatically effect page load times.

Unfortunately, tools to accurately benchmark browser page load times don’t exist. All of the existing browser benchmarking tools available today are either narrow in their scope (SunSpider, Celtic Kane), inaccurate (iBench), or don’t consider important factors such as network latency, network congestion, and caching.

In the absence of effective benchmarking tools the Internet Explorer Team created a real world test which took the above mentioned factors into consideration and created a level playing field for all browsers tested. The results when comparing Internet Explorer 8 page load times to Firefox and Chrome were captured on video:


IE8 Performance

The performance video visually compares page load times between IE8, FF, and Chrome. Of the top 25 most popular sites in the world, IE8 wins 48% of the time, Chrome wins 38% 36% of the time, and FF only wins 16% of the time. Of course, they didn’t cherry pick the sites they tested. They chose the top 25 sites as reported by ComScore in December 2008. 

We encourage (and expect) people to run their own tests to measure page load times and for the browser industry at large to create a test that can accurately measure page load times – as seen by the user – across browsers. To assist people in running their own tests the Internet Explorer Team has also created a whitepaper which describes techniques that can be used to contend with some of the complex issues mentioned above.

For more information on Internet Explorer 8, visit www.microsoft.com/ie8.

UPDATED 6:16pm Pacific Time: Corrected percentage numbers to accurately reflect data from whitepaper.

Digg This

Written by Brandon LeBlanc on March 12th, 2009 with no comments.
Read more articles on web browsing and IE8 and otherSoftware and Performance and browser and Web and Web and internet explorer 8 and Internet Explorer.

« Older articles

No newer articles