- Home /
Input not writed into log file with same frequency.
Hi, I'm making a game for brain research team and have some unusual setting issues. The subjects' brain that are playing my game will be scanned with fMRI. I'm logging all sorts of things from the game to log files which I have made with Xml writer. The idea of these log files is that the brain images from the fMRI could be time-referenced to them so that one could recognize what sorts of things are related to certain kind of brain activation. From the fMRI there also comes this sync pulse which equals input "5". Whenever this comes, I write it to the same log file as the other stuff as a simple time-reference entry.
Everything works pretty smoothly except that the time reference seems not to be precise at all. The sync pulse comes every 1.7 seconds but according to my logging system the idle time varies especially at the beginning of the game. From other way we have checked that the sync pulse actually really comes every 1.7 sec so the issue must be something I do.
In the logging script I have this function for writing the sync pulse:
public void SyncPulse(){
using (XmlWriter xwriter = XmlWriter.Create(logfile, fragmentSettings)){
xwriter.WriteStartElement("Logentry");
xwriter.WriteStartElement("Time");
xwriter.WriteValue(String.Format("{0:0.00000}", Time.time));
xwriter.WriteEndElement();
xwriter.WriteStartElement("SyncPulse");
xwriter.WriteValue(1);
xwriter.WriteEndElement();
xwriter.WriteEndElement();
}
}
And I simply call it from the Update function with:
if (Input.GetKeyDown (KeyCode.Keypad5) || Input.GetKeyDown("5")) {
SyncPulse();
}
In the same script, there is also InvokeRepeating calling some other log stuff every 0.1 seconds. The CollectData function that writes all the other stuff is quite long including player's movements, distance from opponent etc. Could it be that these two are just somehow messing each others up or something?
Here are few of the time stamps that were written with sync pulse entries from the beginning of the file:
<Time>1169.77700</Time>
<Time>1171.19000</Time>
<Time>1171.84000</Time>
<Time>1172.63200</Time>
<Time>1174.31500</Time>
<Time>1176.03300</Time>
<Time>1177.71600</Time>
<Time>1179.43300</Time>
<Time>1181.11600</Time>
<Time>1182.81700</Time>
Your answer
Follow this Question
Related Questions
fast input and high fps 0 Answers
Help In Making a SphereCast for 3D Tire! Working RayCast Script included! 0 Answers
Real-time and historical input telemetry 0 Answers
Pen Input Sampling Frequency 0 Answers
Double tap mechanics and axis inputs 3 Answers