Category Archives: windows

StarCraft II CPU Benchmarking with AMD CPU vs Spoofed Intel CPU

There’s been quite a bit of fuss in the past about Intel’s C++ compiler and how it unfairly performs worse on non-Intel hardware, and it’s been proven in quite a few scenarios. The most popular discussion area about this is Agner`s CPU blog.

So out of curiosity, I decided to check if StarCraft II was affected by this. I installed VMware Player, installed a copy of Windows 8 (64-bit; didn’t have a 32-bit image lying around), did some minor tweaking, figured out how to CPU spoof (pro-tip: you need Virtualization enabled under host BIOS), and installed StarCraft II. Specific hardware and software testing conditions can be found at the bottom of this post.

I did three different tests. The first test was me first observing the framerate when looking right at the main base without moving the camera, and just selecting the nearest mineral node. The first test also included me creating 25 Zealots and moving them into a corner. StarCraft II had an unfinished update during this process, and I also had all my normal background applications opened on the host operating system.

The second test was the same, but StarCraft II was fully updated, and all background applications on the host operating system were closed.

The third test was me observing 208 Zerglings in a corner, with all background applications closed.

I chose those methods of testing because I wanted a simple test that was both consistent and reproducible without too much room for variance.

The framerates did vary a good bit between processors. The framerates reported on the graph is the average framerate. These are particularly interesting results, considering the Intel processor I was spoofing was actually worse than the FX-8350.

Now for the specifics. Here is the hardware and software present on the host operating system:

Graphics: MSI R7850 Twin Frozr 2GD5/OC (1120MHz Core, 1200MHz Memory, Xtreme-G 14.12 Omega drivers)
Processor: AMD FX-8350 (8 cores @ 4.5GHz, no Turbo Core)
Power Supply: Rosewill Green Series RG630-S12 630W
Monitors: Acer S201HL (3x all at 1600×900@75Hz)
Operating System: Microsoft Windows 10 Pro Technical Preview Version 10.0.9926 (64-bit)
Memory: G.SKILL Sniper 8GB (2x4GB, F3-10666CL9D-8GBSR, default speed/timings)
Audio: ASUS Xonar DG (UniXonar drivers)
VMware: Player (7.0.0 build-2305329)

And the hardware and software present on the guest operating system:

Memory: 3GB
Processors: 4 cores
Graphics: VMware SVGA 3D (1GB VRAM, driver version)
Display: 1024×768
Operating System: Microsoft Windows 8.1 Pro Version 6.3.9600 (64-bit)
CPU-Z Report for AMD CPU
CPU-Z Report for Spoofed Intel CPU

StarCraft II Specifics:

Graphics: 1024×768, Low Texture Quality, Low Graphics Quality
Sound: 128 Sound Channels
Voice: Disabled Voice Chat
Map: $$$Fastest TvB$$$ v1.1 by truenoob

Test 1 Specifics:

– All background applications (Steam, Evolve, Plex Media Server, MSI Afterburner + RTSS, puush) were running on the host operating system.
– StarCraft II was playable, but had an incomplete update (was last updated in middle of December 2014).
– Test occurred during solo-play on the bottom-section of the map.
– Played as Protoss.
– First test involved selecting the nearest mineral node, centering the mouse cursor on it, and observing the frame rate. The camera was not moved at all.
– Second test involved creating 25 Zealots. I put all builders on the same mineral node, took one builder, moved straight-down from the Nexus, built 5 Pylons, and put 3 Gateways on the sides of the Pylons (6 altogether). Builder was placed in the middle of the buildings. I then created Zealots until I reached the population limit (50). All 25 Zealots were then moved to the bottom-left corner of the map until they spread out and filled the corner and the area like a triangle. Frame rate was observed for a few minutes.

Test 2 Specifics:

– All background applications on the host operating system were closed.
– StarCraft II was fully updated.
– Test was exactly the same as Test 1 after that (bottom of map, 25 Zealots).

Test 3 Specifics:

– Same as Test 2 initially (background applications closed on host, up-to-date SC2).
– Played as Zerg.
– Played on top-section of map.
– Had one geyser, 9 drones on mineral node, and 1 drone on vespene.
– 13 Overlords (all moved to top-right of map) for a population limit of 112.
– 4 Hatcheries each with their own Queen.
– Continued creating Zerglings from each Hatchery until population limit was reached.

Wanted to download StarCraft, and did it!

I wanted to play a few classic games as of lately, and StarCraft was one of those games. I lost my CD key a while back though, but a friend was kind enough to allow me to use his.

In the past, Blizzard games had a normal CD key. With the new feature of being able to add classic games to your account however, this introduced another key. And to make matters even more interesting, the keys are not interchangeable (so only the classic CD key could be used with the classic installers, while the new keys can only be used with the digital download installers). The key my friend gave me was the digital download version.

I knew Blizzard allowed you to download some of their game client downloaders, so I went over to their site to look for StarCraft. As it would seem however, Blizzard doesn’t allow you to download their classic games unless you have them attached to your account.

So the next idea I had was to just find someone who had StarCraft attached to their account, have them get the downloader, and upload it somewhere for me to use. This proved a bit difficult at first, but I eventually found another friend who owned it, and he was able to provide me with the downloader. Blizzard’s ownership verification seems to stretch far however, and I was unable to use the downloader. I’m unsure how they actually verify ownership at this point.

I was curious as to what the View tab had on the downloader, but once the Error message appears, you can no longer interact with the downloader window, and pressing OK or closing the Error window results in the downloader closing. So in order to see what the View tab had, I just opened up a downloader for a game I actually had on my account (WarCraft III). There was a Connection Info option and a Log option, and both ended up providing some useful information.

So lets start with the Connection Info option. There’s a couple of interesting addresses shown here. Most notable was the address, but following up on that didn’t really lead to anything useful. The important bit was the Download Hash. Searching that hash on Google pulled up some torrents for the WarCraft III download.

Next is the Log option. It was less interesting, but the important bit here was the tracker address.

So the next task was to just get the Download Hash for StarCraft. I noticed there was a little bit of delay between when the downloader opened and the Error message appeared. I figured the downloader did something internet-related during that period, so I had the idea of just slowing down my connection a bit in order to delay the Error message from appearing (was as simple as just re-opening WarCraft III’s downloader). This worked surprisingly, and I was able to get to the Connection Info section.

I searched StarCraft’s download hash in Google, and managed to find a torrent for it. I also added Blizzard’s tracker announcer URL to the torrent as well, and gained some peers from it, and so far, it seems to be downloading nicely.

Once the download completed, I verified it, and installed it without any issue.

StarCraft Download Hash (enUS): 59688D4CC5EA7E2186F2651C8E87987B273972C9
WarCraft III Download Hash (enUS): BB58D8C639601EAC07AA6D6273B0F443B2836FF9
Blizzard Tracker Announcer URL:
StarCraft Magnet URL:

Story of my Gateway VX1120 and Custom Refresh Rates on Windows and Linux

A few months ago I picked up a Gateway VX1120 from a computer store in town for $5, not knowing if it would work or not. I was always a fan of CRT monitors, and seeing something of this size, I had to jump on it.

Got it home, plugged it in, and found out that it worked fine. Instantly replaced the Acer S201HL I was using without regrets. Colors were more vibrant, and animations are much smoother (one of my favorite things to do when switching from LCD to CRT is to move a window across my desktop to observe the smoothness). Plus the resolutions available were extensive, so I was sure I could find the right resolution to use daily. The other CRT monitors I have in the house were limited to around 1024×768, or something slightly higher at a lower refresh rate, so they weren’t too ideal.

After some time, I found that the resolution of 1280×960 suited perfectly as a default resolution. It’s not high enough to make text hard to see, and at the same time, it’s large enough for the desktop not to feel cramped. The highest stock refresh rate for this resolution was 85Hz, which was great and all, but I soon looked into a way to improve that.

On Windows, I used a tool called Custom Resolution Utility (CRU). It allowed me to generate custom resolutions and refresh rates. I wanted to run at 120Hz just to be able to claim I had such a monitor, so that was the first refresh rate I tried. It didn’t work; and the monitor complained about the frequency being out-of-range.

After a little bit of research, I found that my horizontal scan frequency could go as high as 121kHz. So going by that, I then had the idea to keep trying resolutions with CRU until my horizontal scan frequency was just under that limit. Lucky me, 119Hz seemed to have worked fine.

So in Windows, the refresh rate wasn’t too hard to handle. Things got a bit more interesting when I went over to Linux however. I use an AMD Radeon HD 7850 graphics card (this specifically), so I have the choice of either using AMD’s proprietary driver (fglrx), or the open-source drivers. The refresh rate on my screen however seems to act differently depending on which driver I use though.

If I recall correctly, I was able to use the CVT-generated 119Hz with fglrx without issue (it’s been a while since I used fglrx with this monitor), but this wasn’t the case with the open-source driver.

Looking back at cvt, I noticed that my hsync value was 122.59 for 119Hz. Definitely over the 121kHZ limit, so then I tried going to 118Hz. It ended up at 121.45, which was still over the limit. I wasn’t sure if 121kHZ was a hard limit, so I added the refresh rate and tried it anyway. Both 119Hz and 118Hz failed to work; so I tried 117Hz. Got the hsync value of 120.31, which was safely under the limit, and worked fine.

I’m unsure how CRU and cvt generate the numbers they do, but a comparison at some point would be a great idea, whenever I find the time to do so.

So far, this monitor is still working great, and I have no plans of replacing it anytime soon, unless I go back to my standing desk setup.