Fusion Spawn() and RPCs acting much slower than PUN Instantiate() and RPCs

The whole answer can be found below.

Please note: The Photon forum is closed permanently. After many dedicated years of service we have made the decision to retire our forum and switch to read-only: we've saved the best to last! And we offer you support through these channels:

Try Our
Documentation

Please check if you can find an answer in our extensive documentation on Fusion.

Join Us
on Discord

Meet and talk to our staff and the entire Photon-Community via Discord.

Read More on
Stack Overflow

Find more information on Stack Overflow (for Circle members only).

Write Us
an E-Mail

Feel free to send your question directly to our developers.

Fusion Spawn() and RPCs acting much slower than PUN Instantiate() and RPCs

squirrel
2022-02-04 00:49:59

Hello there! I am working on converting our project from PUN to Fusion.

When Spawn() ing objects in Fusion, it's taking, on average, 3-3.5 seconds for other clients to see the new game object. By comparison, in PUN it's nearly instantaneous: It took 0.2 seconds or less each time.

Additionally, RPCs in Fusion are very slow compared to PUN. An RPC in PUN that takes 0.2 seconds or less takes, on average, 5.5 seconds in Fusion to be seen on the other client.

For the RPCs, I'm planning on moving the way they work to [Networked] properties, but I have no idea what to do about the slow Spawn().

Is fusion simply slower than PUN? We rely on RPCs a lot in our code (something that I'm willing to change); is it possible that we have too many RPCs and they're making RPCs (and Spawns) slow? Is there a function I need to be calling that "pushes" these types of calls along faster?

Any thoughts on the matter would be very appreciated! Unfortunately these issues would be big enough that we'd need to rollback to PUN, if there's no solution.

P.S. It's further confusing to me because the Fusion 100 examples work very quickly! And yet I don't see any major differences in how I'm implementing Spawn() versus the Fusion 100 scenes.

Comments

JoshDBB
2022-02-04 10:22:15

It may not be very helpful but I can say that Spawn and RPCs don't take anything like that long for me.

squirrel
2022-02-06 21:46:49

I realized that my Spawn() function was wrapped in / called by an RPC call. Removing it from the RPC makes the Spawn() much, much faster! Virtually instantaneous, much like PUN.

So that solves one of the problems. But now the question remains... why are our RPCs taking 3-6 seconds to execute on other clients?

In the meantime I plan on moving much of our RPC functionality into networked properties. I'll report with results.

Back to top