Cruisers Forum
 


Reply
  This discussion is proudly sponsored by:
Please support our sponsors and let them know you heard about their products on Cruisers Forums. Advertise Here
 
Thread Tools Search this Thread Rate Thread Display Modes
Old 05-07-2013, 18:24   #1
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,401
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 offline   Reply With Quote
Old 06-07-2013, 03:11   #2
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
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:	158
Size:	184.5 KB
ID:	63659  
CarCode is offline   Reply With Quote
Old 06-07-2013, 03:20   #3
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
Re: Mac Performance Update

Further tests:

Bad Quilting.
Attached Thumbnails
Click image for larger version

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

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

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

Join Date: Dec 2005
Location: Helsingborg
Boat: Dufour 35
Posts: 3,891
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, 03:52   #5
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
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, 03:59   #6
Registered User

Join Date: Dec 2005
Location: Helsingborg
Boat: Dufour 35
Posts: 3,891
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, 08:03   #7
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,401
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 offline   Reply With Quote
Old 06-07-2013, 18:02   #8
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
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, 18: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, 19:53   #10
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,401
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 offline   Reply With Quote
Old 07-07-2013, 03:08   #11
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
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, 07:15   #12
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,208
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 offline   Reply With Quote
Old 07-07-2013, 08: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, 09:34   #14
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,208
Re: Mac Performance Update

Gary...
Nothing to see

Pavel
nohal is offline   Reply With Quote
Old 07-07-2013, 09:37   #15
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
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


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


Advertise Here


All times are GMT -7. The time now is 20:49.


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

ShowCase vBulletin Plugins by Drive Thru Online, Inc.