A while ago, I was using a much older version of wine on Fedora Core 3 - and attempting to get a program called HeavyWeather (which has a serial port connection to some weather monitoring hardware) to work correctly in wine. I was having a lot of issues with how wine was handling the serial port. We had much discussion - which kind of ended at the conclusion that wine was handling serial traffic in a _very_ expensive manner - but no better solution was suggested at the time. http://www.nabble.com/Wine-%2B-serial-port-basically-hangs-system-tf1530875.html#a4176227 It didn't help that I couldn't get to the current build of wine either, due to massive font problems between wine and fedora that I was never able to properly correct. I ended up continuing to use the older version of wine, which barely, kind of worked for short periods of time. Jump to the present. The OS has been reinstalled - same slow computer (550 MHz). I'm now running Ubuntu 7.04. I installed wine from ubuntu - which installed wine 0.9.33. In this install, the fonts are much better - good work there - and the weather app worked right out of the box. However - when the app comes up - it uses 100% of the CPU. And it's _really_ _really_ slow. When the GUI comes up - it makes requests via the serial port to get the data for about 15 different fields that are displayed. With an older version of wine (same hardware) - this took about 2 seconds to get all 15 fields. Now, it takes about 5 seconds _per field_ to get the data. Eventually, all of the fields fill in - but CPU usage stays locked at 100% - and any interaction that I try to have with the application is really slow. The application then crashes within 3 to 4 minutes. Now, I know my hardware is not very fast, or modern. But there is no way this silly little 50 dollar weather station should have the processing power to swamp my PC. Something is not being handled very efficiently with the serial port access, and it has gotten much worse in recent versions of wine. Can anyone give me any suggestions on how to make it work better - or what sort of debug information I can provide you to give you some insight into what is going wrong? Are there any options I can tweak that may impact how wine deals with the serial port? Thanks, Dan
> Just taking a quick look, there seemed to be a memory leak in the > picture last time,Yes - previously, it would crash after a day or two. So there was a slow memory leak. I can live with that....>and frankly your summary would have been a lot more > useful than 50 emails to look at.My summary didn't say that you had to look at the link - I just provided it as a reference. Near the end of the e-mail exchange, there was some talk about the potential real issue - if I recall - possibly that it was allocating a new thread for every message going to the serial port. I don't have any idea if that is the real issue, but thought it may have been useful, especially if there is a different developer handling serial port issues today than there was last time this was brought up.> There's all sort of process viewers,Yes - hence the fact that I know heavy weather / wine is using 100% of the CPU. Or as much of it as it can get, anyway.> and nice, which allows you to > regulate cpu time for the various processes. info nice.Yes, I know all about nice. That will allow me to keep using the rest of the machine while trying to read data in the weather app, but really does nothing to fix the problem. Its pretty much unusable even when it is allowed to have all of the CPU at a high priority.> But I imagine you have a memory leak again -yes, I imagine that is still there. But its not the current problem. When it crashes within 3 to 4 minutes, it really hasn't used that much memory - not enough to start running the system out of memory, anyway. The real issue is why is it taking it so long to send and receive data from the serial port? It seems to be at least 1 or 2 orders of magnitude slower than it was in wine 0.9.12. I don't know what exact version the slow down occurred in. I suspect that the crashing I am seeing now is being caused by the tremendous amount of requested serial port operations that the app has queued up, since it is performing them _so_ slowly. I'll try to get some debug info tonight on what happens when it actually crashes. Are there any flags or tweaking that can easily be done that change the way that wine deals with serial port communications? Thanks, Dan
On Mi, 2007-05-09 at 20:57 -0500, Dan Armbrust wrote:> With an older version of wine (same hardware) - this took > about 2 seconds to get all 15 fields. Now, it takes about 5 seconds > _per field_ to get the data. Eventually, all of the fields fill in - > but CPU usage stays locked at 100% - and any interaction that I try to > have with the application is really slow.If the App has no options to configure the Serial Port, it may use the default COM-Settings. Old Wine versions returned always 38400 as Baud-Rate and Hardware-Handshake for the Flow-Control. This was fixed recently. To get an idea, what the app is doing, start the app with: WINEDEBUG="+comm,+tid" wine <yourapp.exe> 2>&1 | tee logfile.txt Please add the App to the AppDB: http://appdb.winehq.org/ Create a bug for your serial speed Problem, and attach the logfile. Thanks. Does the Serial connection works with an older Wine? -- By by ... Detlef