I've implemented the canvas ND in development versions of the 747-8 and the 757-200. It looks great, and functions beautifully. There is a problem with it, though. When I put a long route into the route manager and activate it, it kills my frame rates. It doesn't matter if the long route has 40 waypoints or just 2. The problem appears to be distance related. Here's how I tested:
-747-8F parked at KOAK with engines running, no route in RM, ~30fps
-Enter route from KOAK to EDDK with 40 waypoints, activate, ~15fps
-Clear route, back to 30fps
-Enter KOAK to EDDK with only start and end WPs, activate, ~15 fps
-Clear, back to 30fps
-Enter route KOAK to KLAX with 20 WPs, activate, stays close to 30fps
-Clear and activate KOAK to KLAX route with only start and end, ~30fps
-KOAK to KDEN (just start and finish), ~30fps
-KOAK to KJFK, start and finish only, ~25fps
Flying on the KOAK to EDDK route, the framerate dropped into single digits while dealing with other things like weather and scenery loading. The framerates don't change when I cycle the range on the display from 10-20-40-80-160-320-640, so I don't think it's a rendering issue. It seems to be more or a geoprocessing issue. Maybe there's a way to place a limit on how much of a route the ND or map structure will process? KOAK-KDEN is 832 nm, and there wasn't noticeable degradation in framerate with that route entered, so maybe an 800 nm limit would be appropriate. The display on the 747 only goes to 640 nm.
I got pretty lost looking through the ND and map structure code. Maybe someone could point me towards the right area? Thanks for reading!