Skip to main content
1-Visitor
February 17, 2015
Question

blank 3d plot

  • February 17, 2015
  • 3 replies
  • 8607 views

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

3 replies

1-Visitor
February 17, 2015

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

1-Visitor
February 17, 2015

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

1-Visitor
February 17, 2015

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

12-Amethyst
February 19, 2015

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.

1-Visitor
February 19, 2015

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

1-Visitor
February 19, 2015

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

aero.png

13-Aquamarine
February 21, 2015

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.

1-Visitor
February 21, 2015

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!

1-Visitor
February 21, 2015

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