- Home /
Unity Invoke method delay factor vary device to device
Hello guys, I am using Invoke function to add some delay on my function calls. Code is like this
void Start()
{
Invoke("FirstMethod",10);
Invoke("SecondMethod",20)
Invoke("ThirdMethod",30)
Invoke("ForthMethod",40)
}
I have some instructions to display on GUI in my "FirstMethod" that take up to 8 seconds to appear completely , after completion of it i want to display some other instructions that i have written in "SecondMethod" and so on...
I read about documentation of Invoke methods and it seems that this approach will work for my scenario. I want to make sure that how it run on different devices. specially the second parameter that we pass as time in Invoke method is dependent on frame rate or some other factor that may vary on different devices and the order of execution of method may disturb.
Please advise
Exactly what issue are you seeing? The title claims “delay factor vary device to device”, but there's no further explanation in your question. It's difficult to provide answers when the problem sounds like uncertainty and less like something specifically observed.
I think the problem is actually how to change the delay factor from device to device.
The actual delay time caused by an invoke will be identical on all devices, with the exception of $$anonymous$$or rounding to sequence with the framerate.
Answer by Kiwasi · Aug 14, 2014 at 06:47 PM
Without extensive testing on every device you are not going to be able to find precise times for how long code take to execute. Even if you do a lot will still vary depending on what else the device is processing in the background.
A better method would be to use callbacks to find out when your device is finished processing.
If you must have different times for the invokes then you can use preprocessor directives