QueueOutgoingAcksWarning

ddks
edited September 2012 in DotNet
Hi,

I have read some posts around this topic including a comment like: QueueOutgoingAcksWarning: Happens when you client has 100 ACKs to send in it's queue. This happens when you lack SendOutgoingCommands calls, compared to the amount of data it receives and has to ACK.

What is meant by "ACK"? I am getting these messages and my client is receiving a lot of data. Does it mean i should be sending more requests out from the client? i tried adding explicit calls to "Sendoutgoingcommands" but still having these warnings.

Anyways what i see happening, once the client start processing events from the server, after it has received a whole wack of them but still not done all of a sudden i start seeing these AcksWarnings like 5-10 in a row, followed by a QueueIncomingReliableWarning and then a disconnectByServer event.

E.g. there are e.g. 7,000 events send to the client but after having processed say 3,500 the acks pop up and then the incoming reliable and then the disconnect?!

Any help or suggestions?!

Thanks

Comments

  • ACK is short for acknowledgement. This is a special message as reply to something that's sent reliably. It avoids that the sender is repeating the reliable message.

    The disconnect is caused by not sending ACKs. The client seems to be overwhelmed with the 7k messages it should handle.
    Photon is not good at sending excessive amounts of data. It's good for exchanging messages quickly, as typical for in-game use.
    You could try to reduce the number of messages or make sure that some part of your code will call SendOutgoingCommands regularly. About 50 ACKs go into an otherwise empty UDP package (which we size-limit to avoid fragmentation).
  • ok that helps a lot, the problem is partly on my side where things slow down when these 7,000 messages get processed. Btw how does one send a message "unreliable"?

    Thanks again
  • Unreliable or not is an option of the Operation (client side) or a part of the SendParameters (server side).
  • Tobias said:

    ACK is short for acknowledgement. This is a special message as reply to something that's sent reliably. It avoids that the sender is repeating the reliable message.



    The disconnect is caused by not sending ACKs. The client seems to be overwhelmed with the 7k messages it should handle.

    Photon is not good at sending excessive amounts of data. It's good for exchanging messages quickly, as typical for in-game use.

    You could try to reduce the number of messages or make sure that some part of your code will call SendOutgoingCommands regularly. About 50 ACKs go into an otherwise empty UDP package (which we size-limit to avoid fragmentation).

    for example update coordinates 1500 units units per one tick(10 times per second) it is or to big amount of data?