Thursday, July 31, 2014

GuildCraft Dev Diary: Part VIII

This post is a review of the Surface Pro 3 (i5 8GB RAM model) as a game development machine. ( )

This review is from the perspective of a desktop user who would prefer to be working on a dual-monitor desktop with an ergonomic keyboard, but for one reason or another finds himself away from his desk with some time to work on a game. You could certainly extrapolate the comments below to give yourself an idea of how the Surface Pro 3 + docking station would work as a desktop replacement. This is not something I have attempted because my 4.5 year-old CPU and 2 year-old GPU still run circles around today's mobile chips.

As expected, Visual Studio and other Microsoft applications look great at all of the global scaling settings available in Windows 8.1. I found that it was best to leave the setting at the default 150%. This made the chrome in applications large enough that I could easily read it/click on it, while 200% left too little room for actual content.

Non-Microsoft applications like Unity 4.3 often ignore the scaling hints from the operating system, which leads to blurry text rendering unless scaling is set to 100%. These problems will occur on all high-density displays. They are not limited to the Surface Pro 3.

(Default) Scaling of 150%. That blurriness is not from lossy compression.

Scaling of 100%. It will look fine on your monitor, but it's too small to work with on a 12" display.

Aside: The Surface Pro 3 keyboard does not have a print screen button, but you can take a screen capture by using [Fn] + [Space Bar].

Given how thin (5 mm) and light it is, the Surface Pro's keyboard does well. Microsoft did a decent job of approximating a full-size typing experience by keeping the backspace/enter/shift keys oversized. Some will be upset that the keys don't travel more. The Surface keyboard compares favorably with laptop keyboards, but you will definitely want to use a full-size USB or bluetooth keyboard if you purchase the docking station.

The split up/down arrow keys are annoying and should have been full-sized, but most of my complaints about the Surface Pro keyboard are about its top row of keys. As you can see in the picture below, they double as [F1] to [F12] and standard laptop buttons like brightness, play/pause, and mute as well as home, end, page up, and page down.

Of the 8 special "laptop keys", only I can only see one of them being useful: mute. The rest are readily available through a swipe from the right side of the screen, and while play/pause might see some use, I've always found 'next track' to be more useful. This is a bit of nitpicking, but it leads into a bigger concern: using [Fn] + [Caps Lock] you can toggle which of the functions the top row does by default, and which are available via holding down [Fn].

Facepalm of the day: The brightness keys on [F1] and [F2] are for the keyboard's back light. Whoever decided to waste two of these twelve keys on that needs to be fired. (If you want to adjust the display's brightness from the keyboard you can use [Fn] + [Delete] and [Fn] + [Backspace].)

Due to the way the function keys are grouped, the user is forced to choose between having access to the [F1] through [F12] keys and having access to [Home], [End], [Page Up], and [Page Down]. While programming, I make frequent use of [Home] and [End]. If I prioritize those keys, I am forced to hold down [Fn] + [F2] to rename a file/variable in Visual Studio and [Fn] + [Alt] + [F4] to close a program. Certainly not an ideal situation.

My ideal layout would be a row like this:
[Esc][F1][F2][F3][F4][F5][F6][Mute][Next Track][Page Up][Page Down][Home][End][Delete]

You may have noticed that I transposed the location of the home/end keys with page up/down. Putting [End] next to [Delete] more closely mirrors the traditional keyboard layout, and makes it much easier to find with your finger than having it four keys to the left. I would not be surprised if that is exactly why [Page Down] is next to [Delete] right now, Microsoft having decided to prioritize journalists and Tumblr users over programmers.

I've had luck reprogramming the keys on my Microsoft Natural Ergonomic Keyboard 4000, so I would not be surprised if it is possible to program the [Page Down] button to act as if it was an [End] button. Another option is to use [Fn] + arrow keys in place of those cursor control buttons and leave function lock on. ([Fn] + [Caps Lock]) That's what I decided to do, but after a couple of weeks, the physical motions still feel unnatural.

Aside: What I'd really like to see is the right-shift key replaced with four keys for home/end/page up/page down and their layout patterned after that of a traditional keyboard.

Official design notes for the Surface Pro 4 keyboard.

There are plenty of benchmark graphs available in other Surface Pro 3 reviews if you'd like to see how its i5 CPU compares to other chips. In practical terms, building the 25,000 lines of C# code in my game project takes less than 2 seconds. Starting a preview of my scene in Unity takes 4 seconds.

Battery life is solid. The device makes it through the day, but requires charging each night.

The fan is audible under heavy load, but not while coding in Visual Studio.

The pen was useful for drawing diagrams, but not as a primary means of input. Additionally, the version of OneNote that is marketed and shipped with the Surface Pro 3 has the ink-to-text feature disabled. Hopefully, the boldness of the last sentence indicates to someone at Microsoft how stupid that is. This is literally the number one feature that people who ask me about the Surface Pro 3 want to see, and I have to tell them it is not included.

Since I still found myself carrying a small mouse to get any real work done (all laptop trackpads are insufficient), I would like to see more effort put into supporting mouse input. In the future, I would like to see a bluetooth mouse that folds down into a shape that can clip to the Surface when it is closed. Perhaps it could hook to a generic magnetic clip, or fold into a shape that allows it to hug the closed device.

Due to the gaming performance problems that I mentioned in part VII, the Surface Pro 3 is not a good machine for beta testing a game. It will perform well enough to quickly check a new feature as you are coding, but it won't work well for testing 'feel' or demoing to clients.
( )

The Surface Pro 3 is very close to being the perfect portable computer. In some ways, how close the Surface Pro comes to its goal works against it. When using a tablet or traditional laptop, the compromises one must make while using it are so obvious and ever-present, they are accepted without question. You will never see an iPad review where the reviewer is complaining that the tablet doesn't run every single legacy MacOS application. You will never see a laptop review where the reviewer is complaining that a 2.4 lb. Macbook Air is too heavy.

Although the tone of this review is somewhat sour, I still believe in the direction that the Surface Pro is trying to take mobile computing. The third iteration is a noticeable improvement over the last one. If the list below of improvements I'd like to see in the Surface Pro 4 does not contain any deal-breakers for you, then you will likely be very happy buying a Surface Pro 3. If I worked in sales or real-estate (or basically any field other than software development that required a laptop) this is the device that I would use.

Surface Pro 4 wishlist:

  • Keep the 3:2 aspect ratio.
  • A balanced choice between resolution and GPU power. Either a lower resolution display, or a more powerful GPU.
  • A keyboard with more consideration for programmers and less concern for marketing the mostly-useless features of Windows 8.
    There's room for additional keys next to the trackpad. Full-size arrow keys, a home/end/page block, or a numpad would all be welcome. Another alternative would be a second Type Cover that has extra keys instead of the trackpad.
  • A second USB port.
  • Wireless USB.
  • Don't disable ink-to-text in OneNote.
  • A solution for travelling with a wireless mouse at least on-par with the pen loop.


No comments:

Post a Comment