20,741
edits
(Created page with "{{draft|changelog|This changelog is currently being written for the FlightGear 3.4 release. To see what is being worked on, check out Changelog 3.4. Feel free to help! If...") |
m (→Major enhancements in this release: disclaimer: these quotes are just kept as reminders here, so that we can grow a list of changes over time ...) |
||
Line 30: | Line 30: | ||
'''Core''' | '''Core''' | ||
{{FGCquote | |||
|I have just pushed a partial fix for the issue to SimGear.<br/> | |||
The event now uses property polling instead of attaching listeners to <br/> | |||
retrieve the values for the uniforms.<br/> | |||
<br/> | |||
Without the change, I was able to reproduce the crash locally within a <br/> | |||
couple of minutes. With this patch,<br/> | |||
I havn't seen a crash over a period of 3.5 hours constantly watching AI <br/> | |||
traffic over KSFO building up.<br/> | |||
<br/> | |||
This only changes the behaviour of scalar properties, arrays et. al. <br/> | |||
have not yet been changed.<br/> | |||
Also, this is still not thread safe - no locks have been implemented. If <br/> | |||
a getValue() for a property gets called<br/> | |||
from within the OSG thread while the main thread updates the same value, <br/> | |||
this might result in a wrong value<br/> | |||
for multibyte values.However this should be automatically corrected in <br/> | |||
the next frame and not crash the system. | |||
|{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32774953/ | |||
|title=<nowiki>Re: [Flightgear-devel] crash in SGPropertyNode::fireValueChanged</nowiki> | |||
|author=<nowiki>Torsten Dreyer</nowiki> | |||
|date=<nowiki>2014-08-29</nowiki> | |||
}} | |||
}} | |||
{{FGCquote | |||
|As a side effect, I have noticed that the load for the xml-property rule <br/> | |||
subsystem has decreased on my system<br/> | |||
significantly. This subsystem generates values for most of the <br/> | |||
environment properties responsible of the<br/> | |||
instantiated effects. Without the patch, thousands of listeners were <br/> | |||
triggered each frame resulting in an average<br/> | |||
of 1ms execution time per frame for the proprule subsystem. With the <br/> | |||
patch, this has decreased to an average<br/> | |||
of 0.07ms per frame. This is on a 3.5GHz 6 Core Xeon. Weaker machines <br/> | |||
might benefit even more. | |||
|{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32774953/ | |||
|title=<nowiki>Re: [Flightgear-devel] crash in SGPropertyNode::fireValueChanged</nowiki> | |||
|author=<nowiki>Torsten Dreyer</nowiki> | |||
|date=<nowiki>2014-08-29</nowiki> | |||
}} | |||
}} | |||
'''Aircraft Modeling''' | '''Aircraft Modeling''' | ||