Cruisers Forum
 


Join CruisersForum Today

Reply
 
Thread Tools Rate Thread Display Modes
Old 01-04-2015, 21:12   #691
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Re: OpenCPN Runs on Embedded ARM

NahanniV...

Can you point me to some screen shots of incorrect vector chart area rendering? Maybe I can reproduce this and take a look at it.

Also, I echo Sean in the general case....

What we want to achieve is this: If you can run glesgears, or something like it, at acceptable frame rate, then the current O github master should find the hardware accelerated gles libraries, and include the glshim layer (and friends) automatically in the build. If the current github build does not do that, we need to fix it. There should be very little need for hand-crafting of the build for a particular platform, assuming a standard gcc build environment.

If your glesgears runs slow, for whatever reason, then O will run slow. Simple as that.

If it looks like there will not be a fast hardware implementation of GLES for your favorite platform, by all means switch platforms. These things are cheap enough to throw away if they become too frustrating...

Performance wise, I'm getting acceptable performance on US$35 generic android tablets, so there is no good reason to struggle with a dead-end platform unless you are a true kernel hacker living on 50 watts of solar.

No one has all of the possible alternative arm platforms in one place, so we we need broad testing and careful feedback/documentation to be sure we are covering the desired target. Keep it coming.

Thanks
Dave
__________________

__________________
bdbcat is offline   Reply With Quote
Old 01-04-2015, 22:40   #692
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: On the Boat
Boat: Finnsailer 38
Posts: 1,144
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by boat_alexandra View Post
So you can confirm you didn't have to really do anything special to get good acceleration or deal with glshim correct?
Correct, the build and install worked perfectly, much simpler, but the functionality is the same as V4.0.

Thanks,
JM.
__________________

__________________
NahanniV is offline   Reply With Quote
Old 01-04-2015, 23:23   #693
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: On the Boat
Boat: Finnsailer 38
Posts: 1,144
Re: OpenCPN Runs on Embedded ARM

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

Can you point me to some screen shots of incorrect vector chart area rendering? Maybe I can reproduce this and take a look at it.

Also, I echo Sean in the general case....

What we want to achieve is this: If you can run glesgears, or something like it, at acceptable frame rate, then the current O github master should find the hardware accelerated gles libraries, and include the glshim layer (and friends) automatically in the build. If the current github build does not do that, we need to fix it. There should be very little need for hand-crafting of the build for a particular platform, assuming a standard gcc build environment.

If your glesgears runs slow, for whatever reason, then O will run slow. Simple as that.

If it looks like there will not be a fast hardware implementation of GLES for your favorite platform, by all means switch platforms. These things are cheap enough to throw away if they become too frustrating...

Performance wise, I'm getting acceptable performance on US$35 generic android tablets, so there is no good reason to struggle with a dead-end platform unless you are a true kernel hacker living on 50 watts of solar.

No one has all of the possible alternative arm platforms in one place, so we we need broad testing and careful feedback/documentation to be sure we are covering the desired target. Keep it coming.

Thanks
Dave
The build, installation, and frame rate are fine, but there is some problem with rendering of vector charts.

It seems to be related to certain features: disabling: dredged areas, Quality Of Data, Unsurveyed Area, and Shoreline Constructions seems to help.

Here is a link to a conversation earlier in this thread discussing the problem:
OpenCPN Runs on Embedded ARM

I'm using the latest C-Map files and the bridge in the video is at:
43 17.9088 N 079 47.7904 W

The problem only happens with OpenGL enabled on the CubieTruck. In this case it seems to be the Dredged Areas causing the problem, if the Display Catagory has them disabled all is well.

I have also seen similar problems with US Vector charts and Netherlands Vector Charts were other features caused problems.

I am happy enough with raster chart performance on this platform that I plan to use it this summer on my boat regardless of the vector chart problems. Perhaps next winter I'll look for something else.

Thanks again for all your efforts,
JM.
__________________
NahanniV is offline   Reply With Quote
Old 02-04-2015, 02:10   #694
Registered User
 
boat_alexandra's Avatar

Join Date: Aug 2009
Location: chesapeake bay
Boat: bristol 27
Posts: 2,810
Re: OpenCPN Runs on Embedded ARM

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

Can you point me to some screen shots of incorrect vector chart area rendering? Maybe I can reproduce this and take a look at it.
Please give specific locations for the charts and which charts.

Quote:
What we want to achieve is this: If you can run glesgears, or something like it, at acceptable frame rate, then the current O github master should find the hardware
The program is es2gears.

Maybe we should build into cmake to run glxinfo and if direct rendering, use that, if not, then try es2_info and if direct rendering, then use that. If neither work, then revert back to opengl (software)
Quote:
Performance wise, I'm getting acceptable performance on US$35 generic android tablets, so there is no good reason to struggle with a dead-end platform unless you are a true kernel hacker living on 50 watts of solar.
Which tablet are you using that costs $35? What about smart phones?

I have 200 watts of solar, so power isn't my issue, it's the ability to actually get new platforms. I can't just go buy a tablet here, local people don't use them, in fact very few people use computers at all. In a larger city maybe but I'm a long way from there. As for mail ordering.. forget it, it's going to cost $35 for the device and $80 to ship it.

It's in our interest to support as many devices as possible within reason. In a few years, I suspect opencpn capable devices will cost around $5. Also considering the popularity of the raspberry pi, it would be good to support because they will be around for a long time to come.
__________________
boat_alexandra is offline   Reply With Quote
Old 02-04-2015, 03:16   #695
Registered User
 
sea-bee's Avatar

Join Date: Apr 2011
Location: Cruising the Oz east coast
Boat: Easy Sarah 40' cat
Posts: 64
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by bdbcat View Post
... acceptable performance on US$35 generic android tablets...
How are you running O under Android? Linux emulator?
__________________
sea-bee is offline   Reply With Quote
Old 02-04-2015, 07:46   #696
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Re: OpenCPN Runs on Embedded ARM

sea-bee....

We are in very early pre-alpha testing of O on android.
More work to do, but we expect some more public alpha testing will start shortly.

Here is one low end android gizmo that I've tested on:
Irulu 7" Google Android 4 1 Capacitive Tablet PC Dual Cameras 8GB 1 2GHz WiFi | eBay

Better if it had 1 GB of RAM, but not bad with 512MB.

Dave
__________________
bdbcat is offline   Reply With Quote
Old 02-04-2015, 08:39   #697
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: On the Boat
Boat: Finnsailer 38
Posts: 1,144
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by boat_alexandra View Post
Please give specific locations for the charts and which charts.
......
We have discussed this problem before.

Here are some instances to refresh your memory:
  1. CM93 latest files.
    Discussion:
    OpenCPN Runs on Embedded ARM
    The bridge in the video is at:
    43 17.9088 N 079 47.7904 W
  2. Dutch ENC charts. Free download:ENC - Fairway Information Services
    Discussion:
    opencpn 4.0 on cubietruck with HW acceleration
    51 35.6626 N 003 36.9273 E

It looks to me like the problem is either in GLSHIM or something below that like the drivers on the CubieTruck.
I'll be interested to hear if BDBCAT has the same problem with his android version.

Cheers,
JM.
__________________
NahanniV is offline   Reply With Quote
Old 02-04-2015, 08:54   #698
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Re: OpenCPN Runs on Embedded ARM

NahanniV...

Yep, I see the trouble with the dredged area it at certain cm93 scales.

On the list....

Dave
__________________
bdbcat is offline   Reply With Quote
Old 02-04-2015, 10:33   #699
mrm
Registered User

Join Date: Feb 2011
Location: Poland, EU
Boat: crew on Bavaria 38 Cruiser
Posts: 651
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by Aikiguy View Post
I was shocked to learn in my research though that linux does not as an operating system deal well with multiple core processors. This means that if you use OpenGLES, and OpenCPN, you are going to use ONLY ONE of your processor cores. So in effect you get slower charting with opengles, because one processor core is now running a software emulator for opengl, and the opencpn program. It is a substantial hit to usability especially with vector charts. Apparently to use multiple cores in Linux the program must be written so that it manages the core usage instead of this being done by the operating system.
Sorry, but you seem to be very confused or have zero knowledge about parallel programming. It is always a responsibility of a programmer to write code to utilise multiple cores. The operating system provides supporting mechanisms and abstractions (threads / processes interface, semaphores, mutexes, barriers, shared memory, IPC etc.) but if program code is not written with the intent of utilising available hardware fully, operating system (be it Linux, Windows, whatever) will not help. The best an operating system can do when multiple cores are available but applications are written with a single core model in mind is to assign different processes to different cores.

Let me repeat: if you want to use multiple cores in your program write appropriate code for that. No operating system (in common use, forget university research) is going to do it for you.
__________________
mrm is offline   Reply With Quote
Old 02-04-2015, 18:18   #700
Registered User
 
boat_alexandra's Avatar

Join Date: Aug 2009
Location: chesapeake bay
Boat: bristol 27
Posts: 2,810
Re: OpenCPN Runs on Embedded ARM

Yes, but even programs with only 1 thread often benefit because the OS, drivers, etc.. run on a different core. Also there are typically on linux, X (which uses cpu) and gpsd (which uses a lot more cpu than it should). To fully utilize all the cores, the program must use threads or more than one process.
__________________
boat_alexandra is offline   Reply With Quote
Old 02-04-2015, 18:46   #701
Registered User
 
boat_alexandra's Avatar

Join Date: Aug 2009
Location: chesapeake bay
Boat: bristol 27
Posts: 2,810
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by bdbcat View Post

Better if it had 1 GB of RAM, but not bad with 512MB.

Dave
Are you using swap space? At least for raster charts the ram requirement should be really low with the compressed cache, but maybe vector charts use a lot? Perhaps it should purge vector tiles that are far away more frequently as I notice the ram requirement just grows as I look at more areas.
__________________
boat_alexandra is offline   Reply With Quote
Old 03-04-2015, 12:21   #702
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,884
Re: OpenCPN Runs on Embedded ARM

Sean...

The memory requirement is particular to android. android does not use swap at all. By the time the 'droid UI and support stuff is running, there are precious little resources (RAM and CPU cycles) available to an app like O.

Memory gets tight, even when O is using only say 80-90 MB of memory, including compressed textures. android then starts shutting down inactive apps/services (like the always running google location services, google Store, etc.), doing some slow java garbage collection, and then trying to restart the killed services. The whole process bogs down, and eventually O gets OOM-killed.

Much nicer with modern 1 GB 'phone.

Dave
__________________
bdbcat is offline   Reply With Quote
Old 03-04-2015, 17:43   #703
Registered User
 
CarinaPDX's Avatar

Join Date: Jan 2010
Location: Portland, Oregon, USA
Boat: 31' Cape George Cutter
Posts: 1,678
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by boat_alexandra View Post
gpsd (which uses a lot more cpu than it should)
Eh? My brother is a gpsd dev, and on his rpi2 it is using <0.1% of the processor and 0.2% of the RAM. I don't think that is "a lot more cpu than it should". (This is with v3.15-dev, but 3.14 stable is OK.)

You should probably look elsewhere for CPU savings...

Greg
__________________
CarinaPDX is offline   Reply With Quote
Old 03-04-2015, 18:18   #704
Registered User
 
boat_alexandra's Avatar

Join Date: Aug 2009
Location: chesapeake bay
Boat: bristol 27
Posts: 2,810
Re: OpenCPN Runs on Embedded ARM

This is on a chromebook c720p. It's about 10 times faster than a raspberry pi.

Using gpsd 3.9 I am getting cpu usage of 4% for gps when either cgps, opencpn, or both are running. There is no cpu usage when these programs are not running.
__________________
boat_alexandra is offline   Reply With Quote
Old 04-04-2015, 16:00   #705
Registered User
 
CarinaPDX's Avatar

Join Date: Jan 2010
Location: Portland, Oregon, USA
Boat: 31' Cape George Cutter
Posts: 1,678
Re: OpenCPN Runs on Embedded ARM

You should consider updating to v3.14 or even 3.15-dev; 3.9 is about 2 years old, which is pretty long in the tooth for such software - it is still under active development. You should see an improvement. FWIW Debian does have an old version, so anyone using Debian and gpsd should update gpsd to current.

Greg
__________________

__________________
CarinaPDX is offline   Reply With Quote
Reply

Tags
opencpn

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Open CPN and Google Earth bgrimwade OpenCPN 19 09-12-2011 16:32
OpenCPN Version 2.5 Release bdbcat OpenCPN 86 02-09-2011 19:14
OpenCPN Stops Running BobLarkin OpenCPN 2 31-08-2011 00:38
Route Properties, Missing Functions James Baines OpenCPN 13 13-07-2011 05:31



Copyright 2002- Social Knowledge, LLC All Rights Reserved.

All times are GMT -7. The time now is 04:23.


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.