![]() |
![]() |
|
|
|||||||
| Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Newbie
![]() Registriert seit: 05.02.2003
Beiträge: 12
|
Hallo,
ich habe mir in C eine kleine Gauge geschrieben, die ich jetzt gerne in Multigauges umwandeln kann, damit ich verschiedene Teile im Cockpit unterschiedlich positionieren kann. Jetzt habe ich eine kleine Frage bzg. globalen Variablen und Performance. Ein Teil der Gauge berechnet die Distanz von der derzeitigen Flugzeugposition zu einem bestimmten Punkt. Auf den berechneten Wert sollen alle Subgauges zugreifen können. Deswegen habe ich in meinem Mastre Source File folgendes stehen: Code:
/////////////////////////////////////////////////////////////////////////////
// Getting FS internal variables
/////////////////////////////////////////////////////////////////////////////
MODULE_VAR curr_lat = {PLANE_LATITUDE};
FLOAT64 latit() {
FLOAT64 result;
lookup_var(&curr_lat);
result=curr_lat.var_value.n;
result=result/40007000.0*360.0;
return result;
}
MODULE_VAR curr_long = {PLANE_LONGITUDE};
FLOAT64 longit() {
FLOAT64 result;
lookup_var(&curr_long);
result=curr_long.var_value.n;
result=result/281474976710656.0*360.0;
return result;
}
/////////////////////////////////////////////////////////////////////////////
// Distance function
/////////////////////////////////////////////////////////////////////////////
FLOAT64 distance(FLOAT64 lat1, FLOAT64 lon1, FLOAT64 lat2, FLOAT64 lon2) {
FLOAT64 result;
result=(FLOAT64)(((180*60)/PI)*(acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon1-lon2))));
return result;
}
Code:
distanz=distance(latit(), longit(), lat_ziel, lon_ziel) Ich bin jetzt nur ein wenig besorgt wegen der Performance, da alle Functionen ja pro Update-Cycle mehrmals aufgerufen werden. Ist es sinnvoll, das so zu machen, oder gibt es einen Weg, wo ein bissel Prozessorlast gespart wird? Gruß Philipp |
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|