Blog Archives

Beat the Heat

Hardware-Chip-icon

Last night was a strange, it was about 12 months ago, nearly to the day that I upgraded my PC. Intel Core i7 (mine is the 3770K) with 32GB G.Skill DDR3 RAM, GTX760 OC Video Card, Sabertooth Z77 Motherboard all siting inside a Silverstone Raven RV03 case.  The weather was hot last time I did this and now, I bought a new part for this computer and it is reaching 43°C (109.4°F & 316°K) so it seems about right that I am doing it again with hot temperatures coming around.

But it is the hot temperatures is why I am getting this particular part.  Backstory – I like to play games, which I am sure many of you might know, I play them on my PC and I live in Australia.  These combinations mean, my PC runs a little on the warm side as the ambient temperatures are often hotter, and in summer it is more the case with the ambient temperature even higher than normal.  Suffice to say, playing games I then see a warning (by games I mean, SWTOR) telling me the CPU is over 70°C (158°F & 343.15°K), this from my understanding is hot.  Hot, it is the temperature at which if a Barista made my coffee and the milk hit that temperature I would return it as it would be burnt.  But these 70°C temps were going to get worse when the air outside the case was hotter than it was when I was first reading these temperatures.

If you run your CPU at high temperatures constantly it will reduce its life span.  CPUs will not run forever and the more stress they are p[physically put under then it will shorten their lives.  Also a note to understand something about the way CPUs are made.

CPUs are made on wafer of semiconductor material (usually Silicon crystal).  This material, when made can be of varying quality.  The better the quality the better the ability to withstand higher temperatures.  The wafers that perform the best go into Intel’s best CPUs their Extreme Editions, ones that weren’t quite as good start making up the lower end processors.  I say weren’t so good is to state that it couldn’t cope at the higher end of the spectrum but did well at lower ends, so they can run it at a lower speed and it will perform very well.

The K CPUs, the ones capable of overclocking use a better wafer than a normal unlocked CPU.  Meaning my 3770K has a better wafer than the stock 3770, simply because they have designated this to be overclockable and must still be stable if it is overclocked (to a point, which I am sure Intel will not tell us which point this is).  But, if they fill their quota of top line and they have wafers that are considered top left over they would go and make the next one down and the next one down and so on.

So, what were my options?  I had very good airflow into my case, I had 6 fans on the case alone, 2 exhaust and 4 intake.  But my CPU was still hit 70°C+, which I thought was hot.  Is, well, Intel don’t say what is too hot, hot enough for the CPU to begin throttling.  But it is wise to push the CPU to its maximum safe temperature just to find where it will throttle, unless you have the ability possibly not, I have seen that the i7 will go has high as 100°C before it will internally throttle, so, if this is a mark of the CPU causing itself to cool down by reducing the load, 70°C is not too bad, but it means my overclocking ability is limited.

So, I could add a massive heat-sink and fan to the CPU like this.  But this seemed very gaudy to me and if you look at where my CPU sits on my motherboard there isn’t a lot of room as that Thermal Amour as they call it, comes up high around the edges and might prevent it from working, or fitting.  So I decided to go for liquid cooling, it works for the car which gets far hotter than any CPU so why not use the same technology that has been around for ages, but this time for a new application.  So time to hit the internet.  There are lots of different systems around.  Closed loop, refillable, double radiators, different liquids coolants, all so much.  Intel released one, which I thought was not too bad, but then in the end I decided to go with;

When I was looking at this, it crossed my mind a couple of times and the Corsair Link software was what caught my eye.  Plugs into a USB header on the motherboard and then enable you to control the speed of the fans based on certain parameters.

I then dropped the cash on the Corsair H80i.  I felt this could do the job, provided that ability for me to control the fan speeds (therefore the cooling) and enabled me to help overclock the CPU a little more than I have.

So, I get home (sorry for the no unboxing video, why do people want to show the unboxing, when this this become something that people want to see, anyway, I digress).  So, I looked at the radiator, the 2 fans, the pump and brackets and I felt I have bit of more than I could chew.

So I removed the rear exhaust fan and find that when I attached both fans to the radiator, I do not have the room as the motherboard gets in the way.  I looked more into it, the top exhaust fan, starting to run into the CPU which means the curving of the pipes is a little higher than I would like, which means more pressure on the joints.  I had to leave it be.  Come back after dinner.

I think more, remove one of the HUGE intake fans at the bottom of the case.  There is room there for the Radiator and fans, it lines up nicely with the CPU and there are holes there for attaching it.  I decide to have my dinner.  My youngest has decided to help, he inserted some various screwdriver heads between the memory slots, though a circuit tested would look good stuck into the PCIe x16 slot.  So with the all cards removed, some fans disconnected I decided to unplug the bottom fan (after removing the various additions added by my son.

BUT, looking more and more at this change is making me uncomfortable.  Simply put, I am losing one of the massive fans, which I am sure pull a lot of air and direct it to the CPU (currently).  I have no other place to put it (the fan that is).   After more looking at the situation and thinking more, I realised that I could not fit, anywhere in its entirety, both fans and the radiator.  I was starting to look at this situation as needing more than more to solve it.  Not wanting to give up, I realised that I could mount it in an unorthodox way, and looking more into it I realised the top exhaust fan, could be removed, have the radiator and one fan on the inside and then mount the second fan on the outside of the case. 

I proceeded to do this, checking the direction of the fan flow, since it talks about better cooling is with air intake.  So I did this, both aligned correctly I also took the grill that prevented fat fingers getting into the fan blades onto the outside fan, attached that to the radiator.

Attached the back plate to the underside of the motherboard.  I then screwed this in (mind you I don’t have big hands but there wasn’t a lot of space for me to screw these in), but I managed.  I removed the CPUs heat sink and fan and realised a possible reason for the high heat, there was some small areas where air could sit between the CPU and the base of the heat sink. 

Air isn’t a great conductor of hear, so what can happen is the heat in those pockets gets far hotter than the rest, this heat is transferred into the heat sink but also back to the processor.  For this transfer to happen it needs very high temperatures.  So it is a bad cycle.  So, I applied the pump to the top of the CPU, attached to mounting bracket and screwed it down, making sure I work on opposite corners.   One thing I didn’t realise was just how big, or think it was.  The pictures are deceptive and though it tells you the thickness of it, you can perform some calculations to determine its size, but nothing beats seeing physically how big it is.  This is the size of it, on the side.  Fans are black radiator is grey.

image

 

This is as accurate as I can get it for the screen.  Based on a typical 96 pixels/inch for screen resolution, those running a higher DPI would not see this accuracy of this.

image

Same with this this is it front on.  So, you can see the space.  So if you are looking into water cooling, understand the size of the rans and radiator in the images is deceptive.  And this is a single radiator those with doubles I am sure take up more room.  But as with me, I didn’t have enough room all inside the case, but, a mix between inside and outside I was able to get it in.

I plugged everything back in, turned it on, it worked.  Surprised smile

NOTE.  Water coolers will NEVER cool the CPU down to anything below ambient air temperature.  Why, because the air being sucked through the radiator is at this temperature and it cannot therefore cool the liquid down to below that temperature.  If you want colder cooling you will need to look into Phase Change cooling  This is a silly name, certainly meant to sound way cooler than it is.  This operates like an air conditioner, the difference here is instead of blowing cold air out, it uses the same process but in an enclosed loop.  It uses a combination of pressure and heat transferral to change the refrigerant (the liquid) into a gas then back to a liquid.  It is called Phase change as it is meant to describe the phase change from liquid to gas.

So I ran up a game, but I couldn’t run up a game that I have seen the 70°C warning (as they were down with a patch) so I still tried a game, Lord of the Rings Online.  Considering the ambient air temperature inside the house which was about 35°C, the fact that I managed to get a max of 50°C from it means it is working.

I have not taken the time to set up my temperature profiles yet.  But also note the link on the site for the software (and you need to download it.  If you are running Windows 8 or 8.1, don’t get it, instead use the following link.

Corsair Link Software Update BETA Version 2.5.5145

This takes you to their forum page with a download for the software.  The version of the software on their site, Corsair Link Installer RC v2.4.5110 will not work with Windows 8.  Please do not download this, use the beta version from the link above.

Cooling

A note on cooling in general.  NEVER let anyone person tell you that the stock CPU fan is no good.  All tests carried out in the labs in the CPU makers are done using the stock CPU fan and heat sink.  If you do not plan to overclock, or cause your CPU to run at 100% for a long time chances are you will not need anything more than the stock CPU heat sink and fan.

Well if you think your CPU is running hot you can get applications that enable you to read the temperature of the CPU you can download some software called CoreTemp and for GPU you can use GPU-Z .  The CoreTemp will provide information about the CPU and will provide a per Core temperature reading.  It will also show the MAX temp of the CPU before throttling will occur. 

Laptops will always be hotter than Desktops, but that are also harder to cool down.  Cooling pads help as it enables the air under the laptop to remain cooler, sucking in cooler air will result in a cooler inside.  But you will know if things get heated since the air from the CPU and GPU (if available) will be blowing out and those vents can be hot to touch. 

Without adding extra features like water/liquid cooling or additional fans look at what you have.  If you have only 2 fans, CPU and power supply then maybe an extra one can help.  But it will do nothing if the airflow is restricted.  Keep it off the floor (hot air rises so you don’t want it too high), but high enough not to suck in the crap from the floor like dust.

imageIf you only have a CPU fan then there is a way that you can help keep it cooler (but you sacrifice noise by doing so, and potentially battery life (if a laptop).

Go into power settings, Control Panel | System and Security | Power Options.  Then the active plan (the one selected radio button), click Change plan settings and the following dialog will be displayed.

Under Processor power management you can set the cooling or the power state (Max or Min values of how much processing power to use, self throttling)

Active cooling will keep the fan running at max to cool the processor.

Passive will keep the fan at a lower speed and will speed it up as the load increases.  If the load doesn’t increase the fan won’t. 

Self Throttling, it is the max state, setting it to a % of total.  If you set it to 75% it is a total CPU.  If you have a 4 core CPU, it will not disable 1 core and have the others max at 100%, if you set it at 75% it will run all cores at that value.

Disabling Cores – Silly if you ask me, but possible and from the BIOS.  I would not recommend this, but if you system is running hot and you want to make sure that it doesn’t break before its time, then this might help (especially if you don’t need the power), only surfing the web or looking at emails.  Watching HD movies you need the grunt, leave the cores alone.

Cleaning

Cleaning you PC out will help, dust can block airflow and prevent the maximum cooling to happen.  This is prevalent on the CPU heat sink, if you suck in dust it will land on the CPU as the fan blows onto the heat sink.  If that is starting to crude up; as you can see with this stop Intel CPU fan and heat sink, the dust is blocking up the gaps between the fins of the heat sink.  This prevents the air circulating through the fins and cooling down the CPU.

This one might need to have the fan removed to be cleaned, but you can get air kits that help the process, make sure a protective mask is used as this dust will go everywhere. 

Filters can help decrease the dust inside PCs, and not restrict airflow.  very fine netting used for curtain sheer to diffuse the light coming from windows is good if fine enough.  A test,. blow through it, if it is too hard to blow through then your fans will unable to suck air throughout it. 

To find out where air is coming into your case, use a tissue.  Hold it against open areas, or areas that have access and hold it gently to the corner.  If it is drawn into the case, then air is coming in.  The more visible the movement the greater the airflow.  The greatest airflow should benefit from using that filter type material.

Regular cleaning can help massively with the cooling ability of your PC and if it is running cooling it will last longer. 

Fans on the case can help, adding a fan to the inside of the case (if room) can bring cooler air into the case or push it out.  But, if air is getting pushed into the case then it needs to be pushed out of the case, either through vents or sucked out by fans.

So, Cool PCs are Clean PCs and Clean PCs are cool.  But, more air flow, colder air, all of them help, but there is lots you can do without spending money.

Windows 8 and Error Code: 0x80073d0a

image

This was an interesting situation I received.  I had played with the developer preview, then the customer preview of Windows 8.  All of this however was on my laptop, which is configured slightly different to my desktop at home.  I have recently installed Windows 8 on my desktop.  I did the usual things that I would on my Windows 7 configuration.  That said, I didn’t know that it would be the cause of one of my issues.

I logged into the Windows Store to see what free Metro style application I could play with.  They are now called Windows 8 ‘Modern’ application.  These are applications designed only to run in Windows 8.  Though some might work on Windows Phone 8, I am unsure as I haven’t put a lot of research into this yet.

I found a wonderful little application called Music Maker Jam.  I will not get into this, but I had some fun with this imageand have some creations that I will share in another post.  But, since this was free I thought I would give it a go.  I clicked the install button in the Windows Store, it went away and everything seemed OK. 

But the icon on the Start Screen had an x against it and when I clicked it, it told me I couldn’t start the application.  I investigated and it stating the application couldn’t installed as it returned the following Error Code: 0x80073d0a.

Great, of course this lead me to search the internet and I saw a LOT of strange listing about doing strange things, changing the account from Live to local, stating it was a UAC problem, refresh the start screen.  There was however a very simple solution, one I didn’t know think about at the time.

The application failed to install as it wanted to do something with the Windows Firewall, which in my standard desktop configuration was off. 

Why do I have Windows Firewall off?  Because I have a personally configured hardware one, which I feel is a little more secure than the software one in Windows not to mention is also faster.  Since latency is a key for me, if you haven’t noticed with my previous post on the issue.

So, if you are trying to install Windows 8 ‘Modern’ applications, and find they aren’t installing but return the above error code, check the state of your firewall. image

Press ÿ + X

Click Control Panel

 Click Security and Security

Click Windows Firewall

If the firewall is off in this it will display some information regarding its current state.  But the strange issue with it, if you have turned the firewall off, but the service is still running, it will still work.  Why?  My thought is it uses the service to add the application to the allow list, so when the service isn’t running that is when you get the above failures.

If the firewall is off there will be message indicating it so, Click Use Recommended Settings.  Which turns it on.  Remove the application and install them again.

So if you are like me, have a hardware firewall but doesn’t like the idea of having the Windows Firewall using up resources and monitoring network packets, but still want to use Windows RT applications that want to be added to be allowed through the firewall, I am afraid that you will need to either manually enable the firewall when you come across the problem or to have it on. 

It is a bit of a pain, but for the majority of people this will not be an issue.

image

The Visual Studio Express

I am adding this more for a reference, Microsoft has done a wonderful job in releasing the Express products.  From version 2005 when they first appeared to now with the release of 2012, they have added and continually tweaked the inclusion list of what is available within the Express editions.  So I will provide a list of the express products, a link to download them and also provide additional links for products that can be used with that version of the product.

A point of soreness I have with the express editions is the lack of source control support.  2012 now includes it, and also includes a free edition of Team Foundation Server (up to 5 users), which has also be reduced in functionality from the full version.

Name   2005 2008 2008 R2 2010 2012
Visual Basic   Visual Basic 2005 Express This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.   This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.  
Visual C#   check This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.   This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.  
Visual C++   check This uses the Web Platform Installer.  This requires a constant connection to the internet while installing.   This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.  
Visual Web Developer ^   check This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.   This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation. ISO.  Web Platform Installer option is available.
Windows Phone         This uses the Web Platform Installer to install the components needed.  This requires a connection to the internet during the installation.

Visual Studio 2012 does not support Windows Phone.  This is coming soon.$

Game Studio Express Game Studio Express v1.0 was released for the C# 2005 Express verison only.          
SQL Server   SQL Server 2005 Express edition is available without the Advanced Services as a separate download. SQL Server 2008 Express, links to all the services for the express editions. SQL Server 2008 R2 Express Edition is a complete setup and has all advanced services in the package.   Contains all downloads for all Express options for SQL Server 2012 Express.
Visual Studio*     This is the ISO version of all products.  

Visual Studio 2010 Exress doesn't include Visual Studio 2010 for Windows Phone.**

ISO.  Web Platform Installer option is available.
Team Foundation Server           ISO.  Web Platform Installer option is available.
Windows 8           ISO, but a Web Platform Installation is available.
Visual J#  

Visual J# is not release within the Visual Studio suite of products.  It is supported till approx 2015 in the 2005 release.#

       
Visual F#    

F# CTP is the only version available for Visual Studio 2008 integration.  But it contains a compiler that will work without the need for additional software.&

  Visual F# for installation into the Visual Studio 2010 Shell. You will need to install Visual Studio Express 2012 for Web prior, or the Web Platform Installer will do this for you.

Confused yet.   There is a lot to take in, especially if you are wanting to develop for Windows Phone and Windows 8.  2 versions, for the moment.  But that said, and despite the fact that the earlier versions are split into separate products I will try and explain a little more about what you can or can’t do with these express editions.

Note If you purchase the Professional edition or higher, these will include the full set of tools that is covered by the express editions.  The exception is current Visual Studio 2012 and Windows Phone.

With each new version of the of the products they increased what was available.  I will not go through each one, since there is a significant difference not only between the express editions and professional but also within the express editions on a version.

With the 2005 express editions, there were a couple of significant differences.  The main one was to do with the difference between Web Developer and the language versions.  The Web Developer could never create class libraries.  This wasn’t a huge deal since you could create them in the language version of the product.  This was fixed in the 2008 express editions.

Macros, these have not been a part of the express editions for sometime.  And from my understanding of it, will remain to be a key difference between the express editions over the full product.  This also goes for add-ins, though in 2012 I believe there is an exception for this, and I need to confirm this, but Team Foundation Server Express can be integrated into the Visual Studio 2012 Express editions.  As to other source control applications are supported, or the full version of TFS I do not know.  I will provide an update.

The note on Source Control.  All previous version from 2012 could not use integrated source control, this was possibly due to the restriction on add-ins and extensibility as the source control integration is such a tool.  You could still use a source control application but you needed to use it externally.

Why Express

I would say one simple reason, they are free.  When you are learning how to program the tasks is daunting enough without the need to worry about the cost of the development environment, not to mention, that if you learn and find that it isn’t for you, which is possible, then you have dropped a wad of cash just to try.

The later versions are better, not needing to install different versions if you want C#, C++ and VB, but Microsoft have been improving each version of the express edition with each release.

XNA Game Studio

You might see that XNA Game Studio hasn’t been listed here, and since I am using it at home, I possibly should have. But the subsequent versions haven’t been labelled express.  Then neither has F#, but F# is a language, XNA is an additional set of libraries and templates.

XNA Game Studio Express Original release This version requires Visual C# Express edition t
XNA Game Studio 2.0 2005 XNA Game Studio 2.0 now supports all proudcts of the Visual Studio 2005 suite.
XNA Game Studio 3.0 2008 download
XNA Game Studio 3.1 2008 3.1 contains some extras over 3.0 including Avatars, LIVE Party support and other enhancements.
XNA Game Studio 4.0 2010 4.0 is for use with Windows Phone as well.

Currently there is no word on the release of XNA Game Studio 5.0 (if there is one) and its use in Visual Studio 2012.  Thankfully there is a way of developing XNA applications using Visual Studio 2012.  But some of the official words are, since XNA is not supported as part of the WinRT (therefore Windows App store applications) are not supported.  XNA, as mentioned before will still work with Windows 8 Desktop (as this operates like Windows 7).

Since XNA originally was a way for users to create games on Windows and then the Xbox 360 a lot of XNA is reliant upon DirectX 9.  There is nothing to stop Microsoft from releasing a DirectX 11 version of it, but at the moment, as Xbox 360 uses a model of DirectX 9 this will not happen soon.

Games can be made using C# and DirectX with the Windows 8 express edition but this is the method I believe they are heading towards at this stage.

Windows Phone 8

I am unable to say too much about Windows Phone 8, what is coming, available in any express edition like Windows Phone 7.  But you can sign up for early access to the beta program.  You will need to have a development Id for the current Windows Phone Store and I believe also some details regarding an application that exists.  But the details for this are available on the Microsoft Connect site, sign in with your Live Id and I believe most of it will be ready to go the rest is up to you.

The reason for a lot of this I believe is, Microsoft has kept the details regarding Windows Phone 8 largely secret.  At TechEd 2012 there were people who knew, but they were no divulging anything at this time and the Beta program also has some non-disclosure agreements within, so be warned.

SQL Server

This was in some ways a massive boon to the student or hobby developer, using a near full implementation of SQL Server as a database platform.  What is there not to like?  Well I am unable to think about too many reasons why I would not go SQL Server any other RDBMS, but there might be reasons not to use the version of SQL Server.

Personally, if I know I need a database and it is going to be a small single user database, then I will use Microsoft Access.  This might cause a groan from the crowd, but I will justify it.  Microsoft Access has come a long way from the humble beginnings of Version 2.  My first programming job was to convert a constantly corrupting MS Access 2.0 database to SQL Server 6.5.  No easy feat, but in the end I got there.  But I did qualify my statement by saying a single user and it is small, then Access is better, I will even go as far as say a few users as well.  Beyond that, SQL Express is better by far, and it is more to do with the way data is handled internally of the DBMS, Access is a file, calls are read on disk passed back.  SQL though is similar, there is an engine that controls the data access, it is using execution plans to speed up data access, caching of regularly used data and so on.

All of these additions though include an overhead, a decent overhead too.  To gain the performance benefit of SQL it needs memory and if you aren’t careful it can use a lot of it.  If SQL isn’t using it, it will give it back, but it is confusing when looking at how much memory the system is using.

The restrictions are largely to do with hardware, amount of memory, database size, number of users connecting.  Just bare this in mind when building applications using SQL Server express, large databases use more memory, or require more memory to function efficiently and there might be a degradation of performance if the upper limits of the hardware specifications is reached.

  2005 2008 2008 R2 and higher
DB Size (excludes logs) 4GB 4GB 10GB
SQL Agent No No No
CPU Single CPU Single CPU Single CPU
RAM 1GB 1GB 1GB

DB Size is per database not database server.  This doesn’t include the log file in the size.

A single physical CPU is the only option but this excludes multi-core CPUs.  The express editions enables this use of multi-core CPUs, but there can only be 1 physical CPU.

The RAM restriction is only to the amount of RAM SQL Server will use and not that of the machine.

So, baring these restrictions in mind then go for it.

F#

F# has been released officially with Visual Studio 2010, but also with Visual Studio 2012.  There is no specific Express edition but I have provided the links that will enable the use of F# within a Shell product, which is in essence Visual Studio Express editions provide.

Learning

Microsoft has been incredibly generous to developers now days.  Development tools back in yore was using notepad and getting a compiler and linker somewhere.  The use of the IDEs now days makes this easier than before, not to mention, these express editions, I don’t think anyone can or should complain about what is missing when there is the best IDE in the development world, period.  A compiler for languages thus far, a few exceptions, which enables one to write, Windows, Web, Games, Data and all manner of applications, yes there are restrictions, but since the .NET framework offers the full functionality there is often ways around this.

If you have never learnt programming before, then now is the best time to jump in, VB is a great starter as it has always been, C# is a great step up and certainly now C# and VB are closer than ever.  C++ gives you a fully compliant C++ compiler, install the DirectX SDK and there is nothing stopping you creating a AAA game, other than money.  With these editions, you only need to use them for what you can do.  When you feel you need more, then upgrade, but if they serve your purpose then is there a need.

Finally

Well I have put as much information as I could for the moment, I am sure if I tried I could keep going.  I was able to find the links to the 2005 and 2008 editions, while they are still available.  I am sorry if you go here and find that the links do not work.  Contact me and I can update them.

Why would I put up the 2005 and 2008 editions, compatibility.  Though the predominate OS is Windows XP, and Visual Studio 2010 can run on XP but you need a decent machine with a decent amount of RAM to run VS2010 nicely.  So, the 2008 and 2005 versions are a good place to start on older hardware.

But since I have give all of these express editions and since I am writing a site dedicated to games and development I would be remiss if I left out some links so you can create that next great AAA title.

Windows

DirectX Software Development Kit

  This version is for use in Visual Studio 2008 and 2010.  It talks about it is not supported.  This is possibly due to certain components that need the IDE.  If this is an issue, you can download the previous release of the SDK from here.

Microsoft

Microsoft Windows SDK for Windows 7 and .NET Framework 4

  This is the latest version of the Windows SDK, it supports the latest supported versions of Windows (so anything lower than Windows XP SP3 is excluded).  This is a web installer of the product as this is a very large download.  There is also an ISO available here.

Both of the versions of the DirectX SDK support DirectX 11 as was released in Windows 7.  The latest version includes some improvements and as well as some new features for DirectX 11 and improvements for the HLSL (High Level Shader Language).

So I hope this helps, if you need more information drop me a message or contact me directly.  Will be happy to help.

  • * Visual Studio 2012 Express is called Express for Windows Desktop which includes C#, C++ and VB.
  • ^ Visual Web Developer for 2012 is called Express for Web.
  • ** Visual Studio 2010 Express does not include Visual Studio 2010 Express for Windows Phone.
  • $ Visual Studio 2012 current doesn’t support Windows Phone, Windows Phone 7 and 7.1 development needs to be done on Visual Studio 2010.
  • & Visual F# is in the list for completeness as it comes as a separate download, from all information I have read, it can be installed into a Visual Studio 2008 shell and 2010 shell, which will then enable the use of the F# language within the IDE.  There is a 2012 shell.
  • # Visual J# is not longer an available product as part of the Visual Studio suite.  It is available as part of Visual Studio 2005, include Visual J# 2005 Express, and will be supported until sometime in 2015.  See Visual J# on MSDN for more information.

Windows Phone taking off

What drives the selling of mobile devices.  Certainly with the iPhone it was nothing to do with availability of applications.  It was the newest cool thing to have and everyone (I am not yet converted nor will I be due to having already used one to fix issues my sister in-law had with hers).  But, with the release of Windows 8 just over a month away, we will see a new breed of applications hit the market.  Out of the box, these applications will not work with Windows Phone 8, or 7.8 (including some of the new features of 8 but available on current handsets), but with the portable class library options now in Visual Studio 2012, it makes sense to potentially create your application for the 2 devices.

Not only will we start seeing these applications growing in number as Windows 8 hits the main stream, the number of Windows Phone handsets will also increase.  The greater the number the devices around the greater the number of applications that are developed for it, so on and so forth. 

It is unclear if this was Microsoft’s strategy all along, with Windows Phone 8 the OS has reach a level of maturity that the current phone operating systems have but with less overhead by the OS.  This leaves a greater ability to do more with the device.  I think Windows Phone 8 and Windows 8 will see huge changes in the landscape of applications for mobile devices.

No love for traditional developers on ARM

An interesting thought that I have seen while here at TechEd.  Applications in VS2012, can still be developed as Windows application, using C++, C# and VB, if that is your desire.  These will run find on Intel based devices as the Windows desktop experience is still part of Windows 8 when installed on Windows 8.  This means that all applications that are targeted to the x86 and x64 based platforms will operate on the x86 and x64 based installs of Windows 8 (within reason, this is not an all out endorsement that all applications will work).

But if you have an application developed for the desktop, these will not work on ARM processors, this will means Windows 8 tablet devices (and the Windows Phone 8 devices,).  Why?

This is based on the architecture of the system when it is using the desktop.  The base APIs that are used by the .NET Framework and the native applications will not be available on these ARM based devices.  Well this is what I got from the architecture diagram that was shown. 

So where does that leave standard desktop developers.  Well your code will work in their current contexts now.  But you will need to plan and develop specifically for the new ARM platform. 

This means that using HTML5/JavaScript or C# for the development side.  Though there is a lot of new elements to understand especially around the Windows 8 UX,  (User eXperience).  But at least the tools are making it easier and easier for transition where needed.  I have seen an example of a XAML and C# application that was converted into HTML5/JavaScript (with MS they have implemented a different way of handling the JavaScript to help increase the speed).  with relative ease and the performance is near on par, not to mention the additional support for the enhanced UX of Windows 8, which isn’t always available to the desktop applications.

So, it seems like any new technology jump Microsoft, the developers out there need to suffer a little pain.  That pain when we went from native applications to .NET was worth it in the long run, especially now, now that .NET is a mature framework.

Also, please check out a game developed by Patrick Klug, who developed a fairly cool looking game and seems fun.  It is Free but it is part of the Windows 8 Release Preview Store.  I am unable to say if they will start charging for it later.

References

Windows 8

I have only just installed the Release Preview of it, and though I was doing things a little unorthodox, that is installing it as a VHD, thanks to Scott Hanselman’s blog, this is for Windows 8 and for those who are curious, Windows 7.

I will not go over the same things he did.  But suffice to say I ran into one small issue.  It was nothing with the software or the installation, but more to do with the setup of my particular PC. 

I have 2 monitors, 1 is a wonderful M2700HD from BENQ.  It has a plethora of inputs from 2 HDMIs, DVI, D-Sub, Component, S-Video and composite, it does include USB but I haven’t used them to a great extent as it turns them off when the monitor goes into stand-by.  That aside, I have my equally wonderful VA2413wm, which was connected at the time to my wife’s new computer, well a re-commissioned old one of mine.

But my video card had the current DVI connection which I was using for Windows 7 and an HDMI connection also being used as I was wondering what might have been better for speed of throughput.  I am unable to say. 

So, I created the VHD, attached it.  Installed Windows 8 onto it, and when it rebooted, having the Windows 8 setup taken care of the BCDedit part by including Windows 8 VHD option I noticed a black screen.  Not sure that to think on this one. 

I let it sit there thinking it was strange but perhaps it was doing something, I did notice the HDD was doing something.  After a while I would return and notice that there is still a black screen and no HDD activity.  I repeated this process a few more times.  Due to it being a preview there wasn’t a lot of resources out there regarding issues, especially black screen issues.  But I did notice a post that was talking about multi-monitor setups and it made me think.  I looked over and did realise the Viewsonic was not plugged in, but the DVI and HDMI were.  The post was about someone on their laptop unable to see things, BUT, when they plugged it into their TV it worked.

So I did one more install of Windows 8 onto a Clean VHD.  I then picked up a trusty remote and switched from DVI to HDMI, low and behold there is the screen telling me Windows is preparing, or something along that nature.  There was screen animation.  After a while (which is when it was asking for input and there was no HDD activity) I was able to painlessly step through the rest of the install.

Once in there I was able to switch it back to DVI only and everything is OK.

If you see a Black Screen (and the monitor doesn’t turn off, or into Stand-By mode), move the mouse, move it around if you do see it cursor on the screen check what is connected to your video card and if like me you may have multiple outputs on the back, just test the other connection to see if a signal is being produced from one of them.  If so, you can revert everything back to what it was once you have completed the installation process of Windows 8.

Confusion, Relief and a Little Disappointment

These were the exact feelings I had when using Windows 8 for the first time.  The start menu was the area of confusion, I have been using a Windows Phone 7 for nearly 2 years now.  I love it.  The start menu looks similar to that.  I was able to get around things.  But there was a few minor unknowns.  Moving the mouse to the top right or bottom right of the screen brings up some addition icons for the settings.  I will put in a post that will show some small tips on Windows 8 and how to use it.

Disappointment – No updating of the start menu.  I will explain.  The current start menu can be updated, it works.  But, one of Microsoft things have been slow transition.  Windows 95 when it first came out.  Wow, that is so different to the Program Manager in Windows 3.11, but when installing Windows 95, you could select Program Manager as an option.  Windows XP came with an updated Start Menu, with pinned items and frequently accessed programs.  But, there was still the option in the properties to switch to Classic Start Menu.  Now, Windows 8 brings a new look, and from what I could see so far, no way to switch back to the old style Start Menu. 

In the developer previews there were registry settings for it.  But it seems that Microsoft are trying to get you to use the Metro UI.  When I first started using XP I would turn the classic menu on.  Now I am using the new version.  I used it in Windows Vista and Windows 7.   I have switched them over but I went back quickly due to me just being used to the new way.  Now, I have no doubt I will get used to the new way of doing things.  But in reality I want to decide when to switch over.  Not be forced into it.

Relief – The Desktop.  That is where it is.  Inside it, I can pin items to the task bar, like Windows 7.  The only real difference is no Start menu.  So I know that potentially a lot of the old applications will work.

SWTOR

I love playing SWTOR, but Windows 8 had me a little worried.  But that is all unfounded, thankfully.  I played SWTOR last night without not an issue.  A few things needed to be done first, but one of them is automatic.

  1. Install the Visual C++ 2008 runtime.  This is done, well it was for me but there was an update installed from BioWare when I was attempting to play it.
  2. Install Direct-X 9c – Seeing this did disappointment me a little since I thought it was running off Direct-X 10.  But this isn’t a big problem in the long run.
  3. Update your video card driver to the latest for Windows 8 (Windows 7 drivers seemed to work), as the WDDM version that is shipped with Windows is not good enough to play high-end games on.  Get them here, NVidia, AMD
  4. Most preferences have been reset within the game.  Graphics properties, Interface, looting etc… have all been reverted to normal.  This is possibly due to those preferences being a Windows user preference.  But all my key bindings were there, so this seems to be a per character (toon) preferences since I have always needed to set this up for new toons.

Number 4 is only realised once in the game.  But with the first 3 done.  The game can be launched.  I did it and it worked.  And though I was playing the game on VHD, thankfully my SWTOR was installed into an SSD.

So, this is where a lot of relief was.  Now all I need is a few more tests and I will be more than happy with upgrading to Windows 8 when the time comes, but I think I may hold off right this moment.