Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X
Are there any more thoughts on avoiding blank 3d plots?
This is with V15M030, on two (almost) identical corporate machines running the same worksheet, where one machine will show the 3d plot, while the other wont.
It's a common corporate base machine, with slightly different additional software tools (e.g. Matlab, etc.)
The worksheet 3d plots have borders switched off.
Machine 2: If the 'blank' 3d plot is copied and pasted, say into powerpoint, they image is there, it just isn't being displayed in the live mathcad.
Machine 1: On the 'good' machine, a scroll of the mouse will cause the 3d plot display to blank out, but will re-display if the mouse is clicked back inside the plot.
Any thoughts or suggestions about how to make the plots show on the grumpy machine, or on debug techniques.
(I know that 3d plots have been a long running issue 😉
Philip
Philip,
I've just been going through the issue with Richard. I've never seen the issue on my machine, either win 7 x64 or win 8 x64, but he's got the problem.
Here's what I know
1. Graphics driver. I've tried m030 on a desktop win 7 x86 professional (fully updated) with a GTX 680 without issue and m020 on a dell win 7 premium x64 (2009 without any updates) with an onboard intel chip. Both run fine without the border check "fix". You might try updating your graphics drivers, but I have no data to show that helps.
2. Putting the control n a worksheet as a scripted object still fails on Richard's machine but runs fine on mine.
3. Visual Studio 2010 sp1 is installed on both my machines. The control looks like it was built with MFC to me, so you might try installing the vs2010 sp1 runtime to update your c++ dlls Download Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) from Official Microsoft Download Center Richard hasn't had time to try that. If that doesn't work, you could try a free trial install of visual studio professional to update the .Net stuff. The free light versions of visual studio don't have MFC but should have .Net which could update the ActiveX container properties of mc15.
4. I recall old threads talking about things changing when updates were done. My installs are both clean as is Richard's, so there may be a couple issues here.
Robert
Hi Robert,
That is good information regarding sneaking in with MS Visual Studio - I can get various versions via friends in our software engineering group.
Both my machine (good) and my colleagues (bad) have identical new machines with the same base build, and we are running the same worksheet (that I wrote), so the difference is somewhat unexpected.
Hopefully we will be able to try things like swapping our monitors and mice, to see if they affect the driver setup. We'll also get the IT group (they've lock some thing down 😞 to check which drivers are in use and if his other software has loaded something that mine haven't (or vice versa).
I'll report back when (if) I have something.
Philip
Philip,
Now you're getting into the supernatural software world. What happens if you run Mathcad in compatibility mode? Does the process monitor show both "identical" machines running the same processes? Do administrative privileges matter? I built the old ActiveX control container sample in visual studio and dropped the 3-D plot object on it without issue, so I don't think there's a license problem. I don't know how it would even show up if that's the case unless there's some sort of logic race for validation.
Robert
There seem to be three possible states here:
1) 3D plots display fine (Robert)
2) 3D plots only display when "Border' is unchecked; scrolling the page makes the plots disappear, but clicking on them brings them back (Me, one of Philip's PCs)
3) 3D plots don't display at all (Philip's other PC)
I'm running MC15 M030 on Win 7 Pro x64.
Are the two machines both running the same Windows theme (i.e. color scheme)? See this discussion, it fixed my problem when I went to Win 7.
Harvey,
Good call. I use a classic windows desktop with various customizations. Changing to the stock win 7 theme pops up the issue that the plot goes blank while scrolling, but I still don't see the other behaviors. The plots are drawn when the worksheet opens in automatic calc mode and checking/clearing the border has no effect.
Robert
A little more info, the classic theme disables aero. To see if that's the issue, I went back to the stock win 7 theme and disabled aero through the performance options dialog. Unchecking the three items labeled "...peek", "...composition" and "...glass" restored the ability to scroll the 3D plot. I didn't try disabling a subset of the three.
Robert
Great find! The key is "Enable Desktop Composition". Turn that off, and 3D plots display fine.
Richard,
Ignoring your obvious excitement for a sec, I still see quirks in the plot that are possibly related. Do the titles show up on your machine when the plot is visible? Usually they are hidden on my machine when data is in the plot but they print/cut & paste fine.
Robert
Yes, I see the titles.
A slightly better solution than changing the performance setting is to right click on mathcad.exe, and select "Properties". On the compatibility tab check "Disable Desktop Composition". This turns it off only when Mathcad is running.
There's still something funny here. Titles appear depending on how scrolling stops. Clicking on the plot and then clicking outside the plot always makes them vanish.
With the classic theme, there is still a composition checkbox, but it doesn't appear to do anything so I'm going to assume that it's not connected to anything.
Trying to run in compatibility mode triggers a license server error. Is there a workaround there?
I probably should add that this is getting to the point of nitpicking on my part as mc15 does what I want.
Robert
There's still something funny here. Titles appear depending on how scrolling stops. Clicking on the plot and then clicking outside the plot always makes them vanish.
I don't see this problem. Everything now works for me just as it should.
Trying to run in compatibility mode triggers a license server error. Is there a workaround there?
I haven't tried that. I only changed the one setting for Desktop Composition.
Worked for me too.
The theme can be applied 'live' and Mathcad swapped from 'failing' to 'working' and back again while it was running - no need for reset or anything.
Now to check your (Robert's) extra info about the settings.
We have a similar problem on university computers where I work. For us, the solution is to right click on the blank plot and deselect 'borders'. For some magical reason, this solves the problem.
Yes, the 'No Border' trick has worked for most but does require user education. The "Disable Desktop Composition" method is nicer in that it's a once only install setting (or support fixup).
The 'however' is that on some machines / graphics drivers, neither setting works [a colleague's AMD/ATI V5600 FireGL Catalyst never displays the graphics, even though you can drag select & copy the hidden graphic!].
If you can help with identifying such machines and possible solutions that would be great. This has been a long standing issue!
At the risk of leading people down the wrong path, I'll do a little speculating here.
The basic windows design for decades has been to use something known as a device context for a drawing surface. The context contains information on things like the number of dots per inch. So if you see items drawn really small on your printer, someone forgot to account for the printer having more dots per inch than a view screen. Additionally, it was assumed that if you drew the object, you wanted to see it.
When aero came along, it added another button called alpha to allow for transparency of the screen window. I haven't looked hard, but I don't think it affects printers or printer drivers which build pdf files. If the object's drawing code doesn't handle alpha, it appears the rule is to default to 0 which I'm guessing is invisible.
Desktop composition draws the windows in an offscreen buffer, and when its done, flips the buffer chain to make it visible. That's standard video game stuff and also used by openGL. Disabling that gets rid of the offscreen buffer, but I'm not entirely sure it kills alpha.
So, what's the mysterious border check doing. One of the standard ways of creating controls is to draw them on a window and that window then essentially becomes a child of the control container, i.e. Mathcad in this case. As such, I'll speculate that if I draw win 7 widgets on that window, I may end up setting the win 7 aero alpha for the window. I would have guessed drawing a bordered window to do that rather than not drawing it. There may also be some strange interaction between drawing on a hidden window then showing it when done and the aero alpha. Those little details require someone with the knowledge of how the control is built.
In addition, when I copy something, I'm probably telling aero that I'm going to paste this into something else like photoshop, so automatically set alpha to fully visible when the bitmap or other available copy objects are created.
So at the moment, I'm looking for things that might affect setting alpha to fully visible. I'm drawing a blank here, so it may be the wrong track.
So Philip, on the machine that is still failing, did you try changing all three items I listed in the global performance settings?
Robert
Hi Robert,
I managed to get 30 minutes on the 'difficult' machine with the AMD ATI graphics on it. I did finally find a tick box that gave me the graphics... It was the 'Use 256 colours' that's available in the compatibility tab (right click on the mathcad icon and select properties).
Obviously the main (background theme) display is totally messed up (It had been a nice picture of London bridge and it went all 'funny 😉
However, it did display the 3d graphs almost properly (the odd black bar at the bottom of regions when scrolling), and recovered when clicking into the 3d region.
Hopefully I'll be able try try our full analysis 'app' which uses an animation and captures 3d & 2d and numeric results for replay, and we can compare results from the different PCs.
Philip,
Can you run in XP compatibility mode? I can't get it to run on my machine, and I think it's because that requires administrative privileges on the license server which I haven't figured out how to set. The kludge of dropping the XP version of opengl32.dll into the Mathcad directory seems to be working fine with everything as I can't find any other Mathcad stuff using opengl, but that requires a video driver that will support deprecated opengl as well as not wanting to use anything in Mathcad that needs current opengl support.
Robert
It can be run in XP compatibility, but we are using a remote licence server, so that part may not be an issue (it doesn't need to run a local server).
mathcadSo I can select XP SP3 compatibility on the Win7 machine and it 'runs', but doesn't display the 3d graphs on that AMD ATI graphics machine.
However if I switch back to normal settings (as best I reme,ber it - I was rushing), but then simply select "use 256 colours" I do get a fully running mathcad with 3d graphs. OK so that old graphics style is nothing to write home about, but it worked! - hopefully it may work for Richard.
hopefully it may work for Richard.
Disable Desktop Composition works for me. It's a good enough fix for my purposes.