Hi Chris,
I tested the nightly on one machine, and saw no problems. Today I installed it onto another machine, and the mirror window malfunctioned. I’m attaching two screen shots showing the mirror window before and after the experiment was started.
If you don’t think this affects the main display, it’s not critical for us that the mirror window work. But it’s a nice convenience.
p.s. I just noticed a change in our variable groups - I’m guessing that folder tags now are used for grouping, where they weren’t before? It also could be we have spaces in our tags, and the tag is getting split into multiple groups at spaces.
All of these notes over the past few days reflect a change from the old nightly we were using, 140512, to a new one dated 150708.
thanks,
Mark
Hi Mark,
I tested the nightly on one machine, and saw no problems. Today I installed it onto another machine, and the mirror window malfunctioned. I’m attaching two screen shots showing the mirror window before and after the experiment was started.
On a few occasions, I’ve seen a garbage-filled mirror window immediately after the experiment loads. However, it always clears up when I start the experiment, so I haven’t investigated further.
It sounds like you’re seeing the opposite: The mirror window is fine after load but turns to garbage when the experiment runs. If so, then that’s definitely not acceptable.
Can you tell me about the machine on which you see the problem (Mac model and graphics hardware)? Does closing and re-loading the experiment clear things up?
I just noticed a change in our variable groups - I’m guessing that folder tags now are used for grouping, where they weren’t before?
Yes, that’s correct: If a variable is in a folder and does not have a groups
attribute, then it will automatically be added to a group with the same name as the folder. If there is a groups
attribute, then that takes precedence.
Cheers,
Chris
Hi Chris,
It sounds like you’re seeing the opposite: The mirror window is fine after load but turns to garbage when the experiment runs. If so, then that’s definitely not acceptable.
Yes, that’s right.
Can you tell me about the machine on which you see the problem (Mac model and graphics hardware)? Does closing and re-loading the experiment clear things up?
Reloading the experiment and/or rebooting does not clear things up.
Hardware below:
Model Name: Mac Pro
Model Identifier: MacPro4,1
Processor Name: Quad-Core Intel Xeon
Processor Speed: 2.66 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 3 GB
Graphics/Displays:
ATI Radeon HD 4870:
Chipset Model: ATI Radeon HD 4870
Type: GPU
Bus: PCIe
Slot: Slot-1
PCIe Lane Width: x16
VRAM (Total): 512 MB
ROM Revision: 113-B7710C-176
EFI Driver Version: 01.00.318
NVIDIA GeForce GT 120:
Chipset Model: NVIDIA GeForce GT 120
Type: GPU
Bus: PCIe
Slot: Slot-3
PCIe Lane Width: x4
VRAM (Total): 512 MB
Yes, that’s correct: If a variable is in a folder and does not have a groups attribute, then it will automatically be added to a group with the same name as the folder. If there is a groups attribute, then that takes precedence.
OK. It looks like there is a minor nit: when a single tag has a space in it, two groups are created. Maybe that belongs in a separate ticket.
Thanks,
Mark
Hi Mark,
Thanks for the system info.
One thing that’s different in the newer nightly is that the main display and mirror window share some OpenGL resources. The point of this is to eliminate some duplication of effort: Images are now loaded in graphics driver memory only once, and the rendered scene that’s shown on the main display is re-used for the mirror window, meaning drawing happens only once.
It’s possible that this resource sharing isn’t working correctly on your machine. The only dual-GPU Macs that I’ve tested it on have two identical graphics cards, whereas your system has cards from two different manufacturers, which may cause problems. That said, I see nothing in the cards’ capabilities that suggests any incompatibility. Furthermore, the OS should tell us if the resource sharing fails, in which case creation of the mirror window should fail with clear error messages. But, again, I’ve never tried such a setup.
If you have another Mac Pro with the same pair of graphics cards, then one way to test my theory would be to swap cards between the two Macs, so that one has only ATI cards, and the other has only NIVIDIA.
A couple more questions:
- What are the specs of the machine where you don’t have this problem (again, Mac model and graphics hardware)?
- What OS X version(s) are you running on the two machines?
Yes, that’s correct: If a variable is in a folder and does not have a groups attribute, then it will automatically be added to a group with the same name as the folder. If there is a groups attribute, then that takes precedence.
OK. It looks like there is a minor nit: when a single tag has a space in it, two groups are created.
I’m not able to reproduce this. For example, the attached experiment defines folders with spaces in their names, and I see the correct groups in the variables window. Can you send me an example that demonstrates the issue?
Thanks,
Chris
Attachment: folder_demo.xml (1.49 KB)
Hi Chris,
Thanks for thinking about this. It sounds as if this might be related to the OpenGL changes you made to reduce missed frames with the mirror window?
What are the specs of the machine where you don’t have this problem (again, Mac model and graphics hardware)?
What OS X version(s) are you running on the two machines?
The machine without this problem has identical specs - we have five duplicate Mac Pros we use for testing and for the rigs. When I say I haven’t seen it, it was only on one effort - I haven’t tested it extensively. It’s possible which card drives the mirror window is different for the two machines. And they have different monitors attached to them.
It’s possible that this resource sharing isn’t working correctly on your machine. The only dual-GPU Macs that I’ve tested it on have two identical graphics cards, whereas your system has cards from two different manufacturers, which may cause problems. That said, I see nothing in the cards’ capabilities https://developer.apple.com/opengl/capabilities/GLInfo_1085.html that suggests any incompatibility. Furthermore, the OS should tell us if the resource sharing fails, in which case creation of the mirror window should fail with clear error messages. But, again, I’ve never tried such a setup.
If you have another Mac Pro with the same pair of graphics cards, then one way to test my theory would be to swap cards between the two Macs, so that one has only ATI cards, and the other has only NIVIDIA.
Given our current needs, it might be hard for us to swap cards and do this test. We plan to upgrade these machines to iMacs at some point in the next 12 months. If you think it will be hard to debug this problem, it might make sense for us to run the 2014 nightly until we upgrade the hardware.
Is this a problem you’d like to debug independent of us? It sounds like other people have related problems with bad video data in the mirror window, so maybe that makes it worth investigating. On the other hand, if its OpenGL-related it could depend on the specific drivers for each machine, which could make debugging a major pain.
We could figure out a way to give you access to this hardware - perhaps via remote access - if you want to work on it.
Mark
Hi Mark,
It sounds as if this might be related to the OpenGL changes you made to reduce missed frames with the mirror window?
Yes, exactly.
The machine without this problem has identical specs - we have five duplicate Mac Pros we use for testing and for the rigs. When I say I haven’t seen it, it was only on one effort - I haven’t tested it extensively. It’s possible which card drives the mirror window is different for the two machines. And they have different monitors attached to them.
If the two machines are identical (in terms of hardware and OS version), then my proposed explanation seems much less likely to be correct. It’s possible that the choice of graphics card driving the mirror window could affect things, so I’d check that if you can. I’d be very surprised if having different monitors mattered.
Is this a problem you’d like to debug independent of us? It sounds like other people have related problems with bad video data in the mirror window, so maybe that makes it worth investigating. On the other hand, if its OpenGL-related it could depend on the specific drivers for each machine, which could make debugging a major pain.
Actually, I haven’t had any similar reports from other users. As I mentioned previously, I have occasionally seen garbage in the mirror window on some of my test machines, but it always cleared up when the experiment was started.
Unless/until you see this problem on another identical machine, I don’t think there’s much value in me trying to debug it.
Chris
That’s fine. I’ll do some testing on the other machines and let you know.
Hi Chris,
I have now tested this on an identical machine and reproduced the problem. As you suspected, swapping which video card drives the display with the mirror window caused the problem to appear.
It looks like the problem happens when the mirror window is displayed on the ATI card, and not the NVIDIA card.
It would be great to get your advice on what to do. If you think there’s no underlying problem, I’d be happy to run our machines with the mirror window displayed on the NVIDIA card, and the ATI card driving the subject display. That seems to work for us, but now I’m a little leery there might be lurking bugs that might cause timing or dropped frame issues on the subject display.
But I suppose if we don’t see any problems with our eyes, we may be ok.
Any opinion?
Now that we’ve duplicated this, if this is a problem you wanted to debug, we could set you up with access to the hardware. But if you’re inclined to write it off to old 10.8 ATI graphics drivers, and not chase it down, I’m fine with that too.
Thanks,
Mark
Hi Mark,
This really sounds like a graphics driver bug to me. Even if I had access to the hardware, I don’t think there’s much I could do to debug it (although I would be interested to know if the problem persists in later OS versions).
It would be great to get your advice on what to do. If you think there’s no underlying problem, I’d be happy to run our machines with the mirror window displayed on the NVIDIA card, and the ATI card driving the subject display. That seems to work for us, but now I’m a little leery there might be lurking bugs that might cause timing or dropped frame issues on the subject display. But I suppose if we don’t see any problems with our eyes, we may be ok.
If the main display looks OK (smooth animations, no weird flashes or other junk), then I wouldn’t worry. My guess is that this is an edge-case issue, not a symptom of more fundamental problems.
If you still have concerns, then the next step would be to attach some photodiodes to your monitor and do some direct measurements. I can provide some assistance with that, if you need it.
Cheers,
Chris
This really sounds like a graphics driver bug to me.
Agreed.
If the main display looks OK (smooth animations, no weird flashes or other junk), then I wouldn’t worry. My guess is that this is an edge-case issue, not a symptom of more fundamental problems.
OK. We will give it a shot in more limited testing for a few days with the mirror window on the Nvidia card. I will keep you posted.
Thanks,
Mark