MW monitors, troubleshooting

Hello Chris,

I am having difficulties with massively dropped frames when I display MonkeyWorks. A bit more specifically, let’s call the “Mirror Display” under Apple System Preferences “Mac Mirror Display” and let’s call the MW mirror display option in setup_variables.xml “MW Mirror Display”.

When I Mac Mirror display and run two monitors from the same graphics card, there are no issues. When I try to run MW on different monitors (without the Mac Mirror Display), either from the same graphics card or off different graphics cards, I get massively dropped frames. The massively dropped frames happen even for the simplest possible experiments where we are just displaying images (no spikes, eye signals, etc). So this has nothing to do with load.

I’m running with a set-up nearly identical to what Jim has in his lab, with the exception of different graphics cards: OS X 10.5.8 running on a Mac Pro (2.66 GHz Quad-Core Intel Xeon; 3 GB 1066 MHz DDR3), 2 NVIDIA GeForce GT 120 graphics cards (1 stock with the Mac Pro when we purchased it), and an ITC-18.

I suspect that this has something to do with an interaction between MW and the graphics cards that came stock with the Mac Pros, but I might be mistaken. I attempted to order the graphics cards I used in Jim’s lab, but they are no longer available. Before I send a detailed description of what is happening, have you run into any similar issues with other users (e.g. Stephan)? I’m running MW 0.4.3.

It’s been an insane year setting up the lab, teaching, etc and thus far, we’ve been getting by with just mirroring the display (we are just training on tasks that don’t require eye movement monitoring). But my figuring this out is long overdue.

Thanks,

Nicole

Hi Nicole,

I haven’t received any reports of similar issues. However, Dave had an issue with large display delays when using an NVIDIA GeForce 9400M with an external display, which sounds similar to your problem.

Dave’s problem disappeared when he upgraded to Mac OS X 10.6, so he concluded that it must have been a driver issue in 10.5. I searched for driver updates for the GT 120, but it looks like neither NVIDIA nor Apple distributes the Mac drivers as standalone downloads. Presumably, Apple rolls them into its general Mac OS updates.

Would it be possible for you to install 10.6 on your machine and check if the problem shows up there, too? (I should warn you that 10.6.3 introduced another OpenGL issue. It’s fixed in the MWorks nightly but probably present in 0.4.3, so you may get bit by it if you upgrade to 10.6.)

Alternatively, you could try using an ATI Radeon HD 4870. If the issue is with NVIDIA’s drivers, then presumably that would solve the problem.

In the meantime, I’ll try to find a machine with a GT 120 so that I can attempt to reproduce the problem.

Chris

Hi Nicole,

We also had delay problems when using a GT120 for stimulus display. (Under 10.5)

We now use an ATI 4870 to drive the stimulus display and the delay problem is gone.

(Actually now we use one of each in each rig, with the ATI driving the stimulus display, and the GT driving the GUI.)

I suspect that everyone is going to forget about this issue if buying a different graphics card successfully works around the problem, but it would interesting at some point if someone with a GT120 installed could revisit this issue once you have upgraded to 10.6. My understanding is that the GT120 is basically a rebadge of the 9500GT (which is typical of NVIDIA version-soup), which is close in specs and “generation” to the 9400M where we previously experienced this problem under 10.5. My prediction (hope?) would be that upgrading to 10.6 would solve the problem.

Chris: the other thing we might want to check out is if the more recent 10.6.3 “retained buffer” fix has any effect on this problem. No particular reason to strongly expect it would, other than that both problems were recent and appear to have to do with the internal guts of Apple OpenGL drivers. Certainly, if Nicole still experiences problems after upgrading GPUs, this would be worth trying.

In any event, it would be nice if we could ensure that any new “standard” shipping configuration of Apple hardware ran MW without a hitch. Currently, the base config for a Mac Pro is a 10.6.3 with a GT120. Mac Minis currently ship with a 9400M. So these cards are still very relevant for new users, at least until Apple revs those lines again.

Hi Laura,

[I’m adding your comment to the Tender discussion, since it’s clearly relevant here.]

I am running Snow Leopard (10.6.3) on a Mac Pro with two NVidia GeForce GT 120. One graphics card displays the mWorks experimental control interface, the other displays the stimulus. I can only achieve effective updates of ~20 Hz, although the display is set to 60 or 120 Hz (and I have adjusted the configuration file as explained in your screen cast). Sounds similar to what Nicole was experiencing.

This is the first report we’ve had of problems with the GT 120 under 10.6. Has anyone else who’s had problems with that card tried it under Snow Leopard? I still don’t have a machine with that graphics card to test on.

Chris

The previous instances of the graphics-driver-bug problem that I have seen have been catastrophic delays (e.g. hundreds of ms).

There are lots of “honest” ways to fail to achieve 60Hz, and even more ways to fail to achieve 120Hz, given that we’re dealing with a soft-realtime scheduler on a not-infinitely-fast computer. What does the protocol look like? Is she trying to do this in the state system? Is this with some kind of “movie” plugin? If so, which one?

I am trying to run a simple refresh rate test in which I am alternating between a black and white square for each frame on a LCD monitor. I based the program on a test xml in /Library/ApplicationSupport/mWorks/Developer/tests/xml/Refresh Test. I substituted the stimulus image that changes position by 2 rectangle stimuli, one white, one black, that appear at the same position. I do not present anything else. I left the state system untouched compared to the example test.
I tested the system with a similar stimulus and the psychophysics toolbox, 60 and 120 Hz are no problem there.

OK, that sounds like a bug, then. Perhaps you could pass your XML to Chris so he can take a look and try it out on other hardware? Also, what happens when you run the original Refresh Test?

One quick note: message actions in MW are currently kind of expensive – we could probably do some work to streamline them, but you’ll want to avoid them in critical sections of the experiment if you can. Consequently, the RefreshTest probably shouldn’t include messages on every frame.

Chris, do you have access to a GT120?

Perhaps you could pass your XML to Chris so he can take a look and try it out on other hardware?

Yes, that would be very helpful.

Chris, do you have access to a GT120?

Not at the moment, but I’m planning to order a new Mac Pro with one.

I’m attaching Laura’s XML files. I didn’t encounter any problems when running them on the systems to which I currently have access. I’ll try them with the GT120 when I get it.

Attachments:

FYI, I moved discussion of Laura’s problem to a separate thread, because I think it may not be related to Nicole’s problem.

Hi Chris,
I appreciate if you guide me through my problem.
We need to use 60 Hz refresh rate in MW but the maximum refresh rate we achieved so far is 25 Hz. We are measuring it with photodiode. There is an error in the console

ERROR: updating main window display is taking longer than two frames (39854 > 26666) to update

which it seems related to our problem. I read the discussion about Laura’s problem which is quite similar to ours. Since the discussion had been closed I didn’t want to start a new one rather reported it here.I tested with "refresh_test.xml’ and still refresh rate is 25Hz.
The issue is that we can’t upgrade the MW to new version right now because of compatibility of plug-ins that we designed ourselves. Besides the link http://dicarlo-mwdev.mit.edu/mw/MWorks-glew_enabled.dmg in which you solved Laura’s problem (glew_enabled) is not accessible.
Below is the spec of the Mac minis

chipset model:NVIDIA GeForce 9400
Vram=128MB
Resolution 1920 1080 @60hz
MW version 4.4rc4
Mac Version 10.6.2
2Ghz core 2 due
1GB Ram

A word of advice from you is appreciated.
Bests,
Sina

thanks SIna,

let’s see if these guys can help.

davide

I’ve given Davide a version of the 0.4.5 pre-release installer. Incidentally, further discussion of this issue should probably happen in the other thread.

Dave,

the last install you sent me was: http://public.coxlab.org/mw/MWInstaller_0.4.4_display_bugfix2.pkg.zip
That was meant to fix the OpenGL issue we had with our plugin under OS
10.6.3 (I could not test if it actually fixed it or not, because we
should have rewritten our plugin and we did not have the time to do
it, so we simply downgraded to 10.6.2).

Anyway, would that install fix also the monitor refresh rate issue? I
though that issue was fixed by Chris in a more recent install.

In any event, can you send me the most recent pre-release (or the
actual release install) that should fix both issues?

Thanks

davide

Davide,

I just sent you one earlier today – I will the link again under
separate cover in case it didn’t go through.

  • Dav

Since Laura has confirmed that she can get 60Hz updates with a GT 120 under 10.6, I think it’s safe to say that the original issue in this discussion (massive stimulus delays with the GT 120) has been resolved. The solution is to upgrade to Mac OS X 10.6 and MWorks 0.4.4. (If, like Laura and Sina, you need to update the display faster than 20 or 30Hz, you’ll need to use a nightly build or wait for 0.4.5.)

Please report any additional problems (even if they seem related to this one) in a new discussion thread.

Thanks,
Chris