20,741
edits
m (→Summary) |
m (→Summary) |
||
Line 3: | Line 3: | ||
== Summary == | == Summary == | ||
* Nasal code is often developed by people who are not primarily software developers | * Nasal code is often developed by people who are not primarily software developers | ||
* Often, people end up instantiating multiple loops/callbacks accidently | * Often, people end up instantiating multiple loops/callbacks accidently, without really noticing it on fast systems | ||
* In addition, the simulator may instantiate multiple callback instances (i.e. during reset/relocating) | * In addition, the simulator may instantiate multiple callback instances through signals (i.e. during reset/relocating) | ||
* Multiple rogue Nasal callbacks invoked through timers or listeners may considerably slow down the simulator and require a complete restart | * Multiple rogue Nasal callbacks invoked through timers or listeners may considerably slow down the simulator and require a complete restart on some systems | ||
* This issue is currently very hard to detect, because we only have a single "events" subsystem that shows up in the system monitor | * This issue is currently very hard to detect, because we only have a single "events" subsystem that shows up in the system monitor | ||
* The system monitor does not provide any info about the number of callbacks, or their nature/origin | * The system monitor does not provide any info about the number of callbacks, or their nature/origin | ||
* The overhead caused by Nasal callbacks run as through listeners or timers cannot currently be tracked easily or reliably | |||
* end users and aircraft developers would prefer having some form of "process monitor" or watchdog for Nasal processes [https://code.google.com/p/flightgear-bugs/issues/detail?id=565] | * end users and aircraft developers would prefer having some form of "process monitor" or watchdog for Nasal processes [https://code.google.com/p/flightgear-bugs/issues/detail?id=565] | ||
* We have currently no way to directly instantiate "singleton callbacks" to make the API more fool-proof | * We have currently no way to directly instantiate "singleton callbacks" to make the API more fool-proof |