Prev: More Printing questions..... Merry Christmas
Next: Owner draw main windows, will left some drawing on the background of the window, I want the reason and how to prevent this happen?
From: Bogdan on 22 Dec 2009 10:25 I have an app that I developed some time ago for W2K. The app draws text and graphics onto a CView derived window using GDI+. It also hosts shockwave flash player that occasionally plays a clip in the same window. The app could work 24x7 on W2K and XP. I'm now testing the app on Windows 7 Home Premium. I'm running into a strange problem. After running it for a while - sometimes it could be a couple of hours, another times a couple of days - the app simply stops drawing to the screen. That is, the app still calls the necessary APIs but nothing happens on the screen. I'm logging the most important calls to a file with their return codes and there are no errors reported whatsoever. In addition, the shockwave object is not displaying anything either and does not report any errors. Quitting the app and restarting it fixes the problem (i.e. for another couple of hours/days). So it is not a system wide failure. I'm monitoring the most important resources (e.g. memory, handles, etc.) and did not see any leaks. The app is not hung either. The app's timers and worker threads are running when the app runs into the problem. I could also bring up a dialog box belonging to the app and move it around without any problems. I realise that Windows 7 with its Direct3D Aero/WDM has to 'emulate' GDIs but I'd rather expect some performance issues and not a complete and undetectable failure like this. Could anyone please give some ideas/pointers about how to troubleshoot this one? Thanks, Bogdan
From: David Lowndes on 22 Dec 2009 10:42 >I'm now testing the app on Windows 7 Home Premium. I'm running into a >strange problem. After running it for a while - sometimes it could be a >couple of hours, another times a couple of days - the app simply stops >drawing to the screen. That is, the app still calls the necessary APIs but >nothing happens on the screen. > >I'm logging the most important calls to a file with their return codes and >there are no errors reported whatsoever. In addition, the shockwave object >is not displaying anything either and does not report any errors. Bogdan, Have you tried it on a couple of different W7 machine - i.e. one with Nvidia and one ATI graphics? Have you tried it with Aero and with Basic? Your symptoms do sound similar to running out of resources, but as you say you can't see any obvious leaks, then a graphics driver quirk may be the issue! Dave
From: Bogdan on 22 Dec 2009 13:11 "David Lowndes" <DavidL(a)example.invalid> wrote in message news:l2q1j5p315omuhsqnhfrs8hfhnmphmpfd7(a)4ax.com... > >I'm now testing the app on Windows 7 Home Premium. I'm running into a >>strange problem. After running it for a while - sometimes it could be a >>couple of hours, another times a couple of days - the app simply stops >>drawing to the screen. That is, the app still calls the necessary APIs >>but >>nothing happens on the screen. >> >>I'm logging the most important calls to a file with their return codes and >>there are no errors reported whatsoever. In addition, the shockwave >>object >>is not displaying anything either and does not report any errors. > > Bogdan, > > Have you tried it on a couple of different W7 machine - i.e. one with > Nvidia and one ATI graphics? Have you tried it with Aero and with > Basic? > > Your symptoms do sound similar to running out of resources, but as you > say you can't see any obvious leaks, then a graphics driver quirk may > be the issue! > > Dave Dave, Thanks for the reply. I currently have only 2 Windows 7 machines available for testing and [unfortunately] they are identical. I'm running a different test on the second one. I'm going to set it up for the problematic test this afternoon and see if it behaves differently. And, as you suggested, I'll try a different graphics card. Both of the Windows 7 machines use an on-board Nvidia. This is a nasty problem for apps that need to run 24x7. There seem to be no way to detect the failure. One additional piece of info that I did not mention in my initial post... The app also plays mpeg, mp4, or wmv clips in a window using DirectShow. The playback of these files never fails. The app works fine with VMR7 (DirectDraw), VMR9 (Direct3D), and EVR renderers. For example, if GDIs fail the DirectShow keeps rendering fine for another day or longer. And as I mentioned, I keep track of threads, user objects, GDI objects, handles, memory, etc. No obvious leaks there. I tested the app with Basic and, as far as I remember, the performance was not acceptable. Does that make sense? I'll go through the testing and post the results here. In the meantime, if you or anyone else has an idea what else I can do I'd greatly appreciate it. Thanks, Bogdan
From: Tom Serface on 22 Dec 2009 18:23 Hi Bogdan, Did you try setting up the column for GDI resources in the Task Manager to see if maybe something is leaking somewhere? You can set it up in the options. Tom "Bogdan" <bogdan(a)nocompany.com> wrote in message news:OSvxmrxgKHA.2160(a)TK2MSFTNGP02.phx.gbl... > I have an app that I developed some time ago for W2K. The app draws text > and graphics onto a CView derived window using GDI+. It also hosts > shockwave flash player that occasionally plays a clip in the same window. > The app could work 24x7 on W2K and XP. > > I'm now testing the app on Windows 7 Home Premium. I'm running into a > strange problem. After running it for a while - sometimes it could be a > couple of hours, another times a couple of days - the app simply stops > drawing to the screen. That is, the app still calls the necessary APIs > but nothing happens on the screen. > > I'm logging the most important calls to a file with their return codes and > there are no errors reported whatsoever. In addition, the shockwave > object is not displaying anything either and does not report any errors. > > Quitting the app and restarting it fixes the problem (i.e. for another > couple of hours/days). So it is not a system wide failure. > > I'm monitoring the most important resources (e.g. memory, handles, etc.) > and did not see any leaks. The app is not hung either. The app's timers > and worker threads are running when the app runs into the problem. I > could also bring up a dialog box belonging to the app and move it around > without any problems. > > I realise that Windows 7 with its Direct3D Aero/WDM has to 'emulate' GDIs > but I'd rather expect some performance issues and not a complete and > undetectable failure like this. > > Could anyone please give some ideas/pointers about how to troubleshoot > this one? > > Thanks, > Bogdan > >
From: David Lowndes on 22 Dec 2009 18:57
>I tested the app with Basic and, as far as I remember, the performance was >not acceptable. Does that make sense? Ignoring any performance issues, does it fail in that mode? Dave |