Articles

WinBook - the Max test

Over the next couple of months, we’re going to be looking at hardware as a part of the Max environment. Yes, hardware. Actual physical things that work with Max. We’re going to kick off the series a little differently than you might expect – instead of objects that interact wit Max, we’re going to take a quick look at hardware you might (or might not) be able to run Max on.

Running Max on high-end machines isn’t a rarity. We think of it every time a newer or faster machine appears. What we look at less often is what’s bubbling up from underneath – things like the WinBook tablet or some of the new “Stick” sized machines. They look potentially attractive - they’re certainly on the inexpensive side, and they claim to be full-fledged Windows machines. Do they have a place in the Max user’s universe? If so, what might be a useful place for them?

I’m going to start by taking a look at the TW802 WinBook – an 8” tablet computer with a 1.33 GHz. Intel Quad-Core chip, 2GB of RAM/32GB Flash storage, running Windows 8.1. I didn’t choose this unit because I’ve got a burning desire to run Max in a touchscreen environment, but for a simpler reason: I picked one up for next to nothing.

The specs hold a few hints about what I’ll be experiencing:

1. The tablet is running at about half the speed of my MacBook Pro laptop.
2. The screen size is much smaller than my laptop (1280x800 vs. 2880x1800).

The original price point of $150 plus my up-front questions about hardware and clock speed didn’t really pique my interest (although I did wonder how the thing would benchmark, I’ll admit). Then, the prices started to drop – first, by a little, and then by a lot. By the time a friend turned me on to the possibility of picking up a WinBook for under 80-or-so bucks range (open-box stock is our friend), I figured it was worth a shot.

I took it home, installed Max on it, installed QuickTIme on it, installed the LoopBe MIDI freebie on it, and spent a little time with the tablet.

Here are some work-in-progress datapoints on what I’m finding:

Setting Expectations

Take a look at that clock speed again – it’s right around half the speed of my MacBook Pro. It’s best to start by adjusting one’s expectations accordingly. But that's not what caught my attention at first.

Managing the User Experience

The 1280x800 touchscreen size made me totally crazy – it presents a serious impediment for touchscreen use of Max (or nearly anything else, for that matter); it’s like touch typing or patching with fingers the size of pile drivers.

First solution: repurpose the Logitech Bluetooth keyboard/cover thing from my iPod and a cordless mini-mouse (you’re probably going to eventually want a Bluetooth mouse if you’re not using the WinBook with a USB hub of some sort because you’ve got one port). Although I don’t have or use an external monitor, there’s a mini HDMI jack for monitor connections. So while I braved the small screen and did the Olympic Squint Sprint, running Max is certainly doable (and I am now properly thankful for the zoom feature in Max).

Testing Jitter Performance

I also assumed that I ought not expect a great deal in terms of Jitter performance, since it’s not like the WinBook is going to have lots of Cadillac graphics card-fu. With that in mind, I thought I’d A/B the WinBook with a couple of Jitter and Max patches.

I thought I’d start simple for a little quick testing – a simple Vizzie patch: GRABBR > MAPPR > KALEIDR > PROJECTR.

This patch can be found in the downloadable patches folder with the name WinBook_1.maxpat.

This psychedelic little bad boy clocks in at about 15 or 16 FPS on my laptop, and 3 or 4 FPS on the WinBook. Not exactly ½ the performance. And the UI behavior was sluggish beyond belief while this patch was running.

Okay, so clock speed isn’t everything, and Vizzie does have some under-the-hood overhead in the name of ease of use, so let’s try something else – a patch that demonstrates the kind of performance gains that can be realized using the jit.world object

This patch can be found in the downloadable patches folder with the name WinBook_2.maxpat.

This patch cranks out full HD at a stupefying 59 or 60 frames a second on my laptop with the output_texture attribute set, and manages a respectable 29 or 30 FPS playback on the WinBook. That’s an improvement.

So much for the anecdotal tire-kicking. Let’s try the closest thing we have out there to Jitter benchmarking in wide use: Pedro Santos’ Jitter test program from the Forum.

Here are the numbers:

CPU: 45.6
GPU geometry 1: 1.1
GPU geometry 2: 18.0
GPU pixel shaders: 11.0

Short evaluative answer: While Jitter might be used as part of a patch, I don’t think this bad boy is ready for prime time.

Testing MSP (Audio) Performance

So I next turned my attention to checking a little MSP action. The “My First Max Patch”-level program here ran just fine at 512/63 for vector sizes without anything in the way of skips. But that’s not very taxing, so here’s a very elementary way to exercise some MSP-like CPU [note: this isn’t a benchmark – merely a means for comparison) – the output of a couple of cycle~ operators fed to 1024 *~ operators. How does the WinBook do here? 57-66% CP at 512/64. As compared to the 17=18% on my laptop. Not too bad.

This patch can be found in the downloadable patches folder with the name WinBook_3.maxpat.

So I tried out a few little MSP patches I use now and then, with the predictable dropoff in performance. Not sure this is a bad thing, exactly – provided that you’re working on something whose processing footprint is modest (and here’s a dirty little secret: there are lots of things you can do that fall into that category).

Testing MIDI Performance

Turning my attention to MIDI, there weren’t any real surprises – my QX25 fired up and worked as advertised – reminding me (in case you didn’t read Andrew Pask’s piece on why you might want to use MIDI for processing) that this would be a nifty little box for some uses.

In fact, with the right sort of low-footprint plug-ins, this might make a passable live synth [note: running the Absynth on the WinBook is not that low-footprint plug-in. Fine for slow pads, less so for more frenetic activity].

Finding a Job for a Tool...

So I was sitting up in the studio, quietly musing on the creation of “right sized” MSP patches for the WinBook (this activity also brings up another point - you may find it difficult to adjust to having only 1280x800 for your UI design. Many softsynth panels don’t fit into that rectangle, for example) when something else occurred to me:

The tablet has Bluetooth – that stuff that saved me from the raving insanity and torture that would certainly accompanied my having to use the tablet without a mouse and keyboard. Bluetooth works both ways: I’ve got a nice little Max-friendly device I can use to create my own wireless controllers.

Flushed with excitement, I fired up Max and tried to use the mxj object in conjunction with the insanely simple and useful maxhole patch – only to realize that I needed to install Java on the tablet….

A few minutes and some install choreography later, I had a nifty and simple Max patch with a user interface, a bunch of prepend objects all connected to the Maxhole, and a companion Maxhole on my laptop with a route object to separate out the control streams.

This patch can be found in the downloadable patches folder with the name WinBook_4a.maxpat [Winbook side] and Winbook_4b.maxpat [laptop side].

Wow. Worked like a charm, allowing for some network latency (note: if you’re the kind of person who goes out on stage and scrabbles at sliders at seizure-inducing speeds, this solution may not be for you).

So while I’m pondering and scaling and thinking of the perfect tablet-based audio installation, I’ve now got a nice user-configurable controller at my beck and call. Nice!

That’s all for now, but keep an eye on our blog for more information as I learn more. Thanks for watching!

by Gregory Taylor on October 6, 2015

Creative Commons License
Luke Woodbury's icon

Useful article and it would be a great option as a controller, but for the lack of touchscreen support, you can't register a touch until the finger is released or moved slightly. At least, that has been my experience: https://cycling74.com/forums/problems-with-touch-under-windows/

foldh's icon

A timely article for me as I am currently looking at buying a Windows tablet with the specific intention of running Max on it. Most of the time I will be playing it live, running patches I have created on my desktop. The tablets I am considering have a similar spec but a 10" screen. Hopefully that will make it a bit easier to use.

The sort of thing I would want to use it for is live sample playback/manipulation and effects. Hopefully if I keep the sample sizes down and don't use too many CPU hot processes it will work ok.

Max Gardener's icon

be *very* careful about keeping that CPU load down.