Cruisers Forum
 


Join CruisersForum Today

Reply
 
Thread Tools Rate Thread Display Modes
Old 05-07-2013, 19:24   #1
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Mac Performance Update

Hello Mac Fans...

I have little confidence that wxWidgets 2.9.x->3.0 will adequately address the wxRegion performance issues in OpenCPN. So, I have implemented a test version using a private OCPNRegion class to replace wxRegion on the Mac. It uses source lifted from the gdk library, with hardware dependencies removed.

The code is available on github opencpn, branch "region".

A test dmg of OpenCPN 3.3.705 is available at
https://www.dropbox.com/s/onymstztvz...PN_3.3.705.dmg

There is no Windows or Linux build for this spot test.

Some FAQs on the build:

. It is a true 64 bit build
. built with wxWidgets 2.9.5, daily tarball download.
. built using tools from "Xcode 4.3.3 for Lion" on lion

Code:
dsrs-mac-mini:build_cocoa dsr$ clang --version
Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix
. wxWidgets build target is
Code:
--with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
So, the questions are:
1. How is the performance of this test version on Lion and Mountain Lion, in quilt mode, with GPS running?
2. Can Mac builders duplicate my build process and results?
I will post the exact build commands if requested.
3. Will it run at all on Snow Leopard?

Thanks, and remember to "Think different"
Dave
__________________

__________________
bdbcat is online now   Reply With Quote
Old 06-07-2013, 04:11   #2
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,778
Re: Mac Performance Update

Dave,

a very quick look at this version shows several issues:

False topmarks for boys (TOPMAR98 instead of TOPMAR02, TOPMAR04, TOPMAR05, TOPMAR06, TOPMAR07, TPMAR08).

Program hangs after choosing properties of a route or track in route-manager.

Gerhard
Attached Thumbnails
Click image for larger version

Name:	Topmarks.png
Views:	80
Size:	184.5 KB
ID:	63659  
__________________

__________________
CarCode is offline   Reply With Quote
Old 06-07-2013, 04:20   #3
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,778
Re: Mac Performance Update

Further tests:

Bad Quilting.
Attached Thumbnails
Click image for larger version

Name:	BadQuilting-1.png
Views:	74
Size:	83.8 KB
ID:	63660   Click image for larger version

Name:	BadQuilting-2.png
Views:	72
Size:	130.3 KB
ID:	63661  

__________________
CarCode is offline   Reply With Quote
Old 06-07-2013, 04:38   #4
Registered User

Join Date: Dec 2005
Location: WNA
Boat: Dufour 35
Posts: 3,250
Re: Mac Performance Update

Quote:
Originally Posted by CarCode View Post
Further tests:

Bad Quilting.
CarCode

Your quilting examples are not related to Dave's release. The same "features" are present on my 2011 CM93/Linux. It's easy to find examples like this, or worse, in CM93.

Thomas
__________________
cagney is offline   Reply With Quote
Old 06-07-2013, 04:52   #5
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,778
Re: Mac Performance Update

So the code should be updated for the Linux version as well...
__________________
CarCode is offline   Reply With Quote
Old 06-07-2013, 04:59   #6
Registered User

Join Date: Dec 2005
Location: WNA
Boat: Dufour 35
Posts: 3,250
Re: Mac Performance Update

Quote:
Originally Posted by CarCode View Post
So the code should be updated for the Linux version as well...
Now you lost me.....
What about the three questions in the original post?
__________________
cagney is offline   Reply With Quote
Old 06-07-2013, 09:03   #7
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Re: Mac Performance Update

carcode....

Indeed. This trial test is about Lion and Mountain Lion performance. Nothing else is significant in this test.

Can/will you help?

Dave
__________________
bdbcat is online now   Reply With Quote
Old 06-07-2013, 19:02   #8
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 164
Images: 1
Send a message via Skype™ to sbfreddie
Re: Mac Performance Update

Quote:
Originally Posted by bdbcat View Post
carcode....

Indeed. This trial test is about Lion and Mountain Lion performance. Nothing else is significant in this test.

Can/will you help?

Dave
Dave:
Hi this is Freddie, and I am impressed, this version of O is much snappier than any of the past ones you've released. And it doesn't crash when I move the map with the cursor to fast.
OS X (10.7.5) Lion.

Thanks,
Freddie

PS. What are the build settings so I can alter my build script.
__________________
sbfreddie is offline   Reply With Quote
Old 06-07-2013, 19:17   #9
Registered User
 
Capt Rottnest's Avatar

Join Date: Nov 2012
Location: FN QLD
Boat: Junk rig Schooner
Posts: 209
Re: Mac Performance Update

I'm running it on Mountain Lion (10.8.4), much faster! No crashes (I dont have GPS connected) and one bug I noticed: the saved routes get jumbled after quitting then restarting. Thanks.
__________________
Capt Rottnest is offline   Reply With Quote
Old 06-07-2013, 20:53   #10
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Re: Mac Performance Update

sbfreddie...

Thanks for the feedback. We (actually Pavel) are working to update the Wiki for latest Mac build recipe. Stand by.

Meanwhile, if it helps, here is the wxWidgets 2.9.5 configure invocation:

Code:
../configure --enable-unicode --with-osx_cocoa --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk --with-macosx-version-min=10.7 --enable-aui --disable-debug
and the OpenCPN cmake line:

Code:
$cmake -DCMAKE_OSX_64=ON -DPREFIX=/Users/dsr/tmp -DwxWidgets_CONFIG_EXECUTABLE="/Users/dsr/Projects/wx/wxWidgets/build_cocoa_10.7/wx-config" -D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE ..
Note that we are building OCPN from an un-installed build of wxWidgets. (e.g. -DwxWidgets_CONFIG_EXECUTABLE=...) That way we don't need to contaminate our machine with a full wx2.9 installation until we are ready to take it all onboard


Capt Rottnest....
Can you give us more color on
Code:
 "the saved routes get jumbled after quitting then restarting"
Thanks
Dave
__________________
bdbcat is online now   Reply With Quote
Old 07-07-2013, 04:08   #11
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,778
Re: Mac Performance Update

From the wx 2.9.5 Readme:
"Compared to the previous 2.9.4 release the most important change at
the API level is the introduction of new, shorter constants for the
event types making code using Bind() for dynamic event handling easier
to both write and read. But the main focus of this release is on
incremental improvements and fixing defects in preparation for 3.0
release. In particular, wxOSX/Cocoa port has been significantly
improved."

So wx 2.9.5 is actually the only solution for a working Mac OS X version of OpenCPN. However there are still a lot of bugs in the OCPN code. It is better to compile wx with debug enabled to get the assert messages from wx which helps a little bit to find bugs. Recommended is also to use Xcode 4.6.3. The Analyze tool of Xcode will help also to improve the code. You will get lots of warnings like these from Analyzer:
- src/nmea0183/nmea0183.cpp:148:7: warning: Called C++ object pointer is null
- src/garmin/jeeps/gpsapp.c:4393:5: warning: Value stored to 'p' is never read
- src/garmin/jeeps/gpsmem.c:54:9: warning: Memory is never released; potential leak of memory pointed to by 'ret'
- src/garmin/jeeps/gpssend.c:177:10: warning: Function call argument is an uninitialized value
- src/garmin/jeeps/garmin_wrapper_utils.c:96:80: warning: Null pointer argument in call to string length function
- src/garmin/jeeps/garmin_wrapper_utils.c:194:13: warning: Null pointer argument in call to string copy function
- src/garmin/jeeps/garmin_wrapper.cpp:178:7: warning: Assigned value is garbage or undefined
- src/s52plib.cpp:2535:52: warning: Called C++ object pointer is null
- src/s52plib.cpp:5311:13: warning: Value stored to 'xr' during its initialization is never read
- src/s57chart.cpp:6380:21: warning: Access to field 'hasSectors' results in a dereference of a null pointer
- src/mygeom.cpp:366:32: warning: Call to 'malloc' has an allocation size of 0 bytes
and so on, and so on

I suggest therefore to use the latest wx 2.9.5 for Mac OS X. Once the code is stable a compiled release version of wx and OCPN will even improve for more performance.
__________________
CarCode is offline   Reply With Quote
Old 07-07-2013, 08:15   #12
Registered User

Join Date: Feb 2010
Location: On the go. Not in Prague.
Posts: 4,020
Re: Mac Performance Update

Gerhard...
Dave asked three simple questions from which you still answered neither. Can we please stay focused on them, as they are the only reason for this release being made.

Pavel
__________________
nohal is online now   Reply With Quote
Old 07-07-2013, 09:25   #13
Registered User
 
Capt Rottnest's Avatar

Join Date: Nov 2012
Location: FN QLD
Boat: Junk rig Schooner
Posts: 209
Re: Mac Performance Update

Quote:
Originally Posted by bdbcat View Post

Capt Rottnest....
Can you give us more color on
Code:
 "the saved routes get jumbled after quitting then restarting"
Thanks
Dave
The route has other random marks included after restarting. Before & after:


Gary
__________________
Capt Rottnest is offline   Reply With Quote
Old 07-07-2013, 10:34   #14
Registered User

Join Date: Feb 2010
Location: On the go. Not in Prague.
Posts: 4,020
Re: Mac Performance Update

Gary...
Nothing to see

Pavel
__________________
nohal is online now   Reply With Quote
Old 07-07-2013, 10:37   #15
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,778
Re: Mac Performance Update

Quote:
Originally Posted by nohal View Post
Gerhard...
Dave asked three simple questions from which you still answered neither. Can we please stay focused on them, as they are the only reason for this release being made.

Pavel
Sorry for my bad english which you might not understand.
I have said loud and clear: "So wx 2.9.5 is actually the only solution for a working Mac OS X version of OpenCPN."
Any more questions?
Gerhard
__________________

__________________
CarCode is offline   Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off




Copyright 2002- Social Knowledge, LLC All Rights Reserved.

All times are GMT -7. The time now is 07:55.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.