Jump to content

Vista-related resource allocation problem


Val Brown

Recommended Posts

I'm seeing some very unusal behavior with a deployed application, but the problem seems to be much more profound on Vista rather than XP and especially on European versions of Vista.

It is obviously a complex phenomenon and because of that, and the size of the overall project, it's almost impossible for me to post sample code. I'm trying to develop a small enough code segment to demonstrate the phenomenon but, until I can do that, I thought I'd describe it in some detail and see what ideas others have about what to look at.

I have three major components (or demons you might say) that I are dispatched -- and modified during run-time --using Open VI Reference. Communication between the components uses queues (string-based but small "command" text as messages). Heavy cpu-intensive operations for real-time analysis of acquired signals so a large drain of resource even on a modertate to high end system.

The system can also call additional components, some third party, and what happens that is curious is that cpu load and balance is DRAMATICALLY impacted by simpy left clicking and holding down that click on one of the window frames. Let me say this another way. While the program is running I can decrease cpu load by "grabbing" the window frame of (any of) the components, as if I wanted to move that window around on the desktop. While the "mouse down" event is happening -- but not in terms of any specific control(!) -- cpu load drops, sometimes quite dramatically. This behavior is more pronounced on some systems, notably European Vista implemenations.

I've never seen this kind of behavior before.

I suspect that they may be driver-related problems due to Vista (notably in video, audio and mouse/trackpad) but I'm also wondering about what I may be doing (or NOT doing!) that is creating this problem.

Would an Event Structure hold so much focus "waiting for" a Mouse Down?

Is this some version of another problem that others have seen in terms of built applications?

I would really appreciate any ideas that others might have -- it's a real mystery at this point.

Link to comment

QUOTE(Val Brown @ Sep 7 2007, 08:18 PM)

The system can also call additional components, some third party, and what happens that is curious is that cpu load and balance is DRAMATICALLY impacted by simpy left clicking and holding down that click on one of the window frames. Let me say this another way. While the program is running I can decrease cpu load by "grabbing" the window frame of (any of) the components, as if I wanted to move that window around on the desktop. While the "mouse down" event is happening -- but not in terms of any specific control(!) -- cpu load drops, sometimes quite dramatically.

I have seen something that sounds similar to this on WinXP and LV7.1.

I have some pretty CPU-intensive processing going on, pulling data from a file, with large preallocated arrays feeding 2D intensity plots that are updated every N iterations of the processing loop. What I found was that if I clicked and held on the "window minimize" button in the upper right corner of the front panel, it appeared that the processing would be sped up dramatically. I assumed that clicking and holding on that minimize button forced Windows to maintain focus on the processes associated with the window, therefore speeding things up.

My processing loop was set to run as fast as possible. If yours is waiting on external events, then we might be seeing similar things. Yours is manifested by the processes finishing faster and therefore spending more time waiting, while mine was manifested as faster execution time.

Does that sound reasonable?

I don't know about Vista, but I've recently been playing with Windows priorities in WinXP. You might try that and see what happens?

Link to comment

QUOTE(Gary Rubin @ Sep 7 2007, 05:57 PM)

I have seen something that sounds similar to this on WinXP and LV7.1...My processing loop was set to run as fast as possible. If yours is waiting on external events, then we might be seeing similar things. Yours is manifested by the processes finishing faster and therefore spending more time waiting, while mine was manifested as faster execution time.

Does that sound reasonable?

Could be, thanks for the idea I'll look into that more specifically.

The other odd thing that I'm seeing I completely forgot to mention -- partly because I'm a bit sleep deprived just now but also because it really does seem quite strange. If any of my components have focus and I then click on the Windows Start button, the Start Menu appears but is UNDERNEATH the Windows Taskbar. If, on the other hand, my components are running but I have clicked on the Desktop BEFORE clicking on Start, the Start Menu appear correctly ON TOP of the Windows Taskbar.

I can't remember any other time that I've seen the Start Menu UNDERNEATH the Taskbar.

OK, so here's ANOTHER really odd thing or at least it's really odd to me.

I've just done a build of a file I'll call z.exe and, when I run it on an English-language (North American) version of Vista Ultimate, I see 3 icons show up on the Taskbar. This is the correct, designed for behavior. I'll call these zMain (because it's the "Main UI" component), z1, and z2 (because they are sub-demons), where zMain is the name that shows up in the Windows Title Bar of z.exe when it is running. Again this is the correct, designed for behavior having selected to not use the VI's name but another designated name for the "zMain" VI.

However, when I start the exact same z.exe on a European Vista Ultimate system, I see 4 icons showing up on the Taskbar: zMain, z1, z2 AND I also see a separate icon for z.exe.

It is the SAME z.exe running on both systems, having the SAME installer run on both systems to install the application.

I'm half expecting to see Rod Serling pop out, smoking a cigarette, saying: "You've just entered the Twilight Zone".

Any ideas?

Link to comment

I'm making some progress but it's still very confusing. I saw a prior thread -- I believe that Ben posted -- about optimizing the environment. Giving priority to Background Processes, instead of Programs, has helped quite a bit. It's not the whole solution by a long shot but it is a definite help.

Any other suggestions are greatly appreciated.

Link to comment
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.