05-20-2011 07:22 AM
LV2010, Win Vista.
I have a UI problem.
A TYPEDEF has a cluster containing a BUTTON, a DISABLED numeric field (in bold) and a few regular numeric fields.
When I use that TypeDef in an array on the panel, I get an annoying blinking of the button when I click around on the array.
Here's a JING of the action: http://screencast.com/t/HQzfHLoVY
Note: the video doesn't capture EVERY blink, just because of timing. But the blink follows these rules:
1... It blinks the text in the button when focus actually CHANGES. Click on on a field that already has focus, and it doesn't blink.
2... It does NOT blink by clicking on the disabled field. I suppose that follows rule #1.
3... IT DOESN'T MATTER IF THE PROGRAM IS RUNNING OR NOT. (!!!)
4.. The Typedef is STRICT. Non-strict doesn't change anything, but if I change it to CONTROL, or if I disconnect the array's cluster from the TypeDef, the blinking doesn't happen anymore. At all.
Because of #3, I suspect a LabVIEW bug.
SO I built a completely different mockup, separate from anything in my program (attached).
That, too shows the blinking issue (try it yourself) when the program is NOT running.
However, run it (it just waits a few seconds and quits), and the blinking does not happen nearly as often during the run (I've seen it once).
The real case (in the video) has an EVENT structure in a WHILE loop. The structure has 95 event handlers in it. Don't know if that's relevant.
I've tried synchronous display, and not. I've tried moving the button out of first place in the cluster. No change.
Why is this happening?
More importantly, how can I avoid it?
Blog for (mostly LabVIEW) programmers: Tips And Tricks
05-20-2011 07:32 AM
I see no flashing on my Mac, OS X 10.5.8, LV 2010, SP1. I tried it several times, both running and not.
Lynn
05-20-2011 07:51 AM
Well, that could be SP1 vs. my SP0, or could be Mac vs. Windows.
I am actually working on a Mac laptop, connecting via Microsoft Remote Desktop. I went and tried it directly, thinking it might be an artifact of the screen-transmission stuff, but it fails there, too.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
05-20-2011 08:37 AM
I didn't see any blinking. I tried this on LV2010f2 (64-bit) on Windows 7.
05-20-2011 10:58 AM
Seen on Win XP 2010sp1 (although much faster than the video!)
Oddly, open the properties of the Go button and you see "Go()" meaning it has a caption = null string
"<CONTROL ID=79 type="Boolean" name="Go">
<DESC>Click to bring up a window displaying your settings for how various things should work, for example, whether the VIEWER should automatically show the latest file after a recording</DESC>
<TIP>Click to bring up a window displaying your settings for how various things should work, for example, whether the VIEWER should automatically show the latest file after a recording</TIP>
<PARTS>
<PART ID=22 order=0 type="Boolean Text"><MLABEL><FONT predef=SYSFONT style='B' color=FFFF00><STRINGS><STRING>Go</STRING><STRING>Go</STRING><STRING>Go</STRING><STRING>Go</STRING></STRINGS></MLABEL></PART>
<PART ID=82 order=0 type="Caption"><LABEL><STEXT><FONT style='B'></STEXT></LABEL></PART>
</PARTS>"
So deleting a caption string is not equal to removing a caption !!
Removing the color box does not change the behaviour.
it does seem to be ONLY the text strings property that redraws slowly. Changing the font has no effect.
Hmmmm..... Got me
05-20-2011 11:28 AM
Well, thanks for testifying. At least I'm not the only one that sees it.
Did you see it when RUNNING, or only while stopped?
Blog for (mostly LabVIEW) programmers: Tips And Tricks
05-20-2011 12:08 PM
LV10 SP0 WinXP: If I stare at the Go button while clicking with the Text tool I can barely detect a small flicker as the control redraws (sometimes). When running or in run mode I see nothing at all.
If I had to guess, I would blame the overlapping controls slowing down the redraw just enough to see the flicker.
What happens if you put the color box and array in their own cluster and then add it to another cluster with the GO button. Perhaps it would "contain" the redraw.
05-20-2011 12:48 PM - edited 05-20-2011 12:49 PM
@CoastalMaineBird wrote:
Well, thanks for testifying. At least I'm not the only one that sees it.
Did you see it when RUNNING, or only while stopped?
It only saw it when stopped OR running with a unthrottled loop calling to the UI thread. It might be time for Steve to get a faster processor
05-20-2011 01:05 PM
It might be time for Steve to get a faster processor
Hell, I'm on a 2.83 GHz Core 2 Duo. You'd think LV 2010 on that could do better than LabVIEW 2.2 on Mac OS 7.
Maybe not.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
05-20-2011 01:25 PM
@CoastalMaineBird wrote:
It might be time for Steve to get a faster processor
Hell, I'm on a 2.83 GHz Core 2 Duo. You'd think LV 2010 on that could do better than LabVIEW 2.2 on Mac OS 7.
Maybe not.
I've seen some odd text stuff reciently with latching booleans myself. I had "stop" control that ocasionally redrw the "Stop" text 1/2 line lower until I took the FP off sreen and back on screen (like shaking off those pesky BD artifacts that are more common since 2010.
I hope NI gets these figured out