Board index FlightGear Development Canvas

Canvas consumes frame rate

Canvas is FlightGear's new fully scriptable 2D drawing system that will allow you to easily create new instruments, HUDs and even GUI dialogs and custom GUI widgets, without having to write C++ code and without having to rebuild FlightGear.

Canvas consumes frame rate

Postby Hyde » Thu Jan 15, 2015 11:44 pm

With recent route manager change, canvas ND and canvas MAP consume a significant frame rate.
Can it be fixed before 3.4 release?
Hyde
 
Posts: 728
Joined: Fri Aug 12, 2011 1:09 pm
Location: Peachtree city, GA
Callsign: N407DS
Version: GIT
OS: Fedora 25

Re: Canvas consumes frame rate

Postby Hooray » Fri Jan 16, 2015 3:18 am

Could you be a little more specific ?
For instance, we recently covered instructions on determining the overhead of the searchCmd() (=Positioned API, related to Zakalawe's recent work) vs. rasterization (=drawing the route) here: Canvas ND performance issues with route-manager

Rasterization related issues are likely to be solved by adopting Gijs' projection handling code. Anything else would seem like a regression and should be also easy to replicate using debug.benchmark() via the Nasal console.

Otherwise, please try to be as specific as possible to enable us to reproduce the issue - ideally, without your instructions being aircraft specific. For example, by creating/sharing a flight plan and using the canvas dialog (equipment) menu to reproduce the issue.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11437
Joined: Tue Mar 25, 2008 8:40 am

Re: Canvas consumes frame rate

Postby Hyde » Fri Jan 16, 2015 1:58 pm

Okay, I've made the no_canvas version of 777 for comparison. You can download here
https://gitorious.org/fg777_seattle/fg7 ... /no_canvas

Using 777-200ER, start at RJAA-34L.
Make the route as following.
Departure RJAA-34L
SID:MAMAS1.34L
STAR:DATISA
Approach:ILSY06R
Arrival:RJBB-06R
If you don't have procedure.xml, I can give you. PM me.

My machine is
Fedora 21, AMD FX-8320 8core 3.51GHz 8Gb
GPU:GTX 760

flightgear version: Latest of Jan162015

Result is
no_canvas version
~30
with canvas map ~17

canvas version
~11
with canvas map ~8
Hyde
 
Posts: 728
Joined: Fri Aug 12, 2011 1:09 pm
Location: Peachtree city, GA
Callsign: N407DS
Version: GIT
OS: Fedora 25

Re: Canvas consumes frame rate

Postby Hooray » Fri Jan 16, 2015 3:13 pm

thank you for your efforts here - but I specifically asked for a test-case that is completely aircraft agnostic, i.e. unrelated to the 777.
You said that Canvas would take up performance - but you didn't state which MapStructure layers you were using.
Also, you said that this seems related to Zakalawe's recent route-manager commits - those should only have an effect when showing the RTE (route) layer - i.e. the issue should even show up when all other layers are disabled hidden.
That is exactly why I suggested to check out the thread I linked to: it contains detailed instructions on troubleshooting these issues, which would tell us exactly if the issue is rendering related (which is going to be addressed by Gijs' C++ code adding a new projection type to Canvas), or if it's indeed related to the underlying positioned APIs.

For troubleshooting purposes, it would make sense to come up with a test-case using just the ufo, and either a pre-recorded flight or a flight plan that you share with us.

So far, this seems to be related to the projection issue that tikibar and Gijs discussed in the other thread - Gijs already mentioned that he's hoping to fix this soon.
Given that this would qualify as a "bug fix", it should be possible to get this committed even during the feature freeze - assuming that TheTom and/or Zakalawe can help peer-review those changes.
But overall, those would be fairly self-contained changes that would only affect canvas, (canvas maps) - so it should be a safe commit, especially because even our Nasal code would need to be changed to specifically activate the new projection handling code.

Again, it would be a good idea to check the other thread first, before proceeding with your troubleshooting.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11437
Joined: Tue Mar 25, 2008 8:40 am

Re: Canvas consumes frame rate

Postby clrCoda » Sun Feb 15, 2015 11:24 pm

this no canvas version should be an optional default plane and the canvas version should be called 777Canvas Demo.


Please see viewtopic.php?f=71&t=25393 for the reason why I think so.

Ray
Ray St. Marie
clrCoda
 
Posts: 1228
Joined: Wed Apr 07, 2010 11:04 am

Re: Canvas consumes frame rate

Postby Hooray » Mon Feb 16, 2015 1:56 am

sorry, what you're saying doesn't make sense: just because Canvas-based features may not work for you, shouldn't imply that others cannot enjoy the latest developments Hyde, Gijs and others have been working on.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11437
Joined: Tue Mar 25, 2008 8:40 am

Re: Canvas consumes frame rate

Postby clrCoda » Mon Feb 16, 2015 7:25 am

I'm saying there is one opportunity to make a good first impression, and seems a way to do that for anybody that tries it. Canvas doesn't meet that. I assume you are saying that is not the point of a default install. I suggested a simple way to achieve such a first impression and also include canvas demo planes. I'm inclusive and you are exclusive.

Ray
Ray St. Marie
clrCoda
 
Posts: 1228
Joined: Wed Apr 07, 2010 11:04 am

Re: Canvas consumes frame rate

Postby Hooray » Mon Feb 16, 2015 11:57 am

nope, you are getting this entirely wrong - if you are interested in actually identifying, understanding and fixing the problem, please just report back with the requested information (see the other thread). To reiterate my main point: Canvas isn't just being used for the ND but also elsewhere, while the ND/aircraft is of course optional, tooltips and charts embedded in GUI dialogs are not. So there's something wrong with your system, either because it is really old, or because something else is going on.
Either way, you don't seem to understand the problem, you want to treat symptoms - which isn't getting us anywhere.
If the old hard-coded ND works for you, there's no technical reason why the Canvas based RTT shouldn't also work, it also being based on od_gauge. So better be prepared to provide all the feedback requested to get the problem fixed, i.e. by being part of the solution, rather than the problem.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11437
Joined: Tue Mar 25, 2008 8:40 am


Return to Canvas

Who is online

Users browsing this forum: No registered users and 1 guest