Jitter performance slower on "more powerful" computer!?!
Hey All,
This is a strange one. The setup so far is Arduino Uno with a MD0550 Wind Sensor to an analog input, into Max via Sensor Box to control video.
I've been loaned a computer by a gallery for an imminent show. The gallery's computer is more powerful than my laptop (specs below), but for some reason the gallery's computer drops to 17 - 20 fps whenever I "blow into the wind sensor." The same patch while running on my laptop consistent at 29-30 fps. I was wondering whether anyone could think of any reasons for this? It's possible I'm overlooking something.
The Gallery Computer is new (I unboxed it), nothing really installed on it, no major background processes / applications according to Activity Monitor other than Max. The patch is super simple as it's a preliminary / test thing. All it is is Sensor Box and an Uno with a sensor, hooked up to a [jit.brcosa]. I'm doing simple simple tests right now, but I'm worried as this thing is going to need to deal with HD video when it's finished (obviously the HD would be run through the Jitter optimization processes). I have some "test" code as I'm testing different ways of interpreting the data (analyzing the incoming data as MSP vs as Max Data), but that's it. I have done no Jitter optimization yet in this patch, as I'm just doing basic sensor tests and am waiting for the finished video to reach me. I'll attach the patch, but I'd find it strange if it's something in the code (unless certain objects are chuggier on this machine or its a Max 6.1.6 issue).
Both computers are on OSX 10.8.5.
Gallery Computer Specs:
iMac
Max 6.1.6 installed
Processor: 3.1 GhZ Intel Core i5
Memory: 8 GB 1333 MHz DDR3
Graphics: AMD Radeon HD 6970M 2048 MB
230GB / 250 GB of available space.
My Laptop
Max 6.1.3 Installed
Macbook Pro (I think 2010)
Processor: 2.8 GHz Intel Core 2 Duo
Memory: NVIDIA GeForce 9600 GT 512 MB
234GB / 500GB of available space
EDIT: I'm posting a Drop Box link of the code because I'm having trouble both uploading files and pasting code to the forums for some reason (which isn't the first time grr...)
Thanks in advance!
Are DSP and overdrive settings identical on both machines? Then I'd say try and install Max613 instead of 616 on the iMac.
You can also try and find the problematic object(s) by systematically disabling segments of your patch till you can pin point the one that is causing the lag.
You could also try making a standalone on your laptop.
Here are my settings (and observations).
DSP is the same on both.
My Macbook did have Overdrive on and the iMac didn't. However, when I disabled it, the performance was still better. I tried enabling Overdrive on the iMac, performance is 23-25 fps, and 29-30 fps on my Macbook!
Here's one thing I noticed. In the patch I posted I encapsulated some of my objects / approaches that I was testing. When encapsulating the objects on the iMac the performance increased. Is this normal? I assumed that when encapsulating the objects are still there in the patch so performance should be normal. However, it still doesn't explain why before encapsulation performance is better on the Macbook.
I can't find a copy of 613 (I would have deleted the image), and in terms of older versions, Cycling just has 608 and lower.
Maybe all this won't be an issue when I optimize and run off the GPU (although most of my processes / video manipulations are likely non GPU processes). That's the next test I'll do for the hell of it. I post my findings as they may help others with similarly perplexing matters.
Perhaps C74 support can give you a download link for 613. I guess they 'd be interested in hunting down performance discrepancies, if it 's really a Max versions issue.
About encapsulations, did those include GUI objects? Performance could increase if previously visible GUI objects are now hidden inside subpatches.
I've been busy so it took me a while to do proper tests (crazy beginning of the year). So here's my report (although I don't know how helpful it will be).
@DTR: No the patch did not include GUI objects, which is why it's perplexing. I contacted support about using 6.1.3, but it became unnecessary for reasons stated below. I'm on an extremely tight deadline (this month I'm pretty much IV'ing espresso), so I haven't had a chance to test 6.1.3 just for the sake of testing.
Once I optimized my jitter patch using GL and slabs, the performance was what I expected (up to 60fps playing 1080p with Apple Pro Res LT!). However, I ran the same patch on my laptop after optimization and it was still at about 58-60fps (Although at first it was climbing from 30 up to 60 repeatedly before settling). So, long story short, once optimizing the performance was indeed better on the iMac (so I'm happy!), but perhaps not as significant as it should be with essentially double the specs? Also, it's still super strange with non-optimized video being slower still on the iMac.
So I suppose this is still slightly mysterious, but I'm glad its working! Thanks for the suggestions / help guys!