A method for synchronizing movement of a virtual object performed by a client and a server, wherein the method comprises: detecting, by the client, a first system accumulation time since a previous speed update of the virtual object, and a second system accumulation time since a previous location update of the virtual object; updating, by the client, a speed of the virtual object when the first system accumulation time reaches a preset speed update time; updating, by the client, a location of the virtual object when the second system accumulation time reaches a preset location update time, wherein the preset speed update time is greater than the preset location update time, the first system accumulation time is recalculated each time after the client updates the speed of the virtual object, and the second system accumulation time is recalculated each time after the client updates the location of the virtual object; detecting, by the server, a third system accumulation time since a previous speed and location update of the virtual object; and updating, by the server, a speed and a location of the virtual object when it is detected that the third system accumulation time reaches a preset update time, the third system accumulation time being recalculated each time after the server updates the speed and the location of the virtual object, wherein the speed of the virtual object is updated by the client and the server at a first, low, frequency, the location of the virtual object is updated by the server at the same first, low, frequency, and the location of the virtual object is updated by the client at a second, high, frequency which is higher than the first, low, frequency. detecting, by the client, a first system accumulation time since a previous speed update of the virtual object, and a second system accumulation time since a previous location update of the virtual object; updating, by the client, a speed of the virtual object when the first system accumulation time reaches a preset speed update time; updating, by the client, a location of the virtual object when the second system accumulation time reaches a preset location update time, wherein the preset speed update time is greater than the preset location update time, the first system accumulation time is recalculated each time after the client updates the speed of the virtual object, and the second system accumulation time is recalculated each time after the client updates the location of the virtual object; detecting, by the server, a third system accumulation time since a previous speed and location update of the virtual object; and updating, by the server, a speed and a location of the virtual object when it is detected that the third system accumulation time reaches a preset update time, the third system accumulation time being recalculated each time after the server updates the speed and the location of the virtual object, wherein the speed of the virtual object is updated by the client and the server at a first, low, frequency, the location of the virtual object is updated by the server at the same first, low, frequency, and the location of the virtual object is updated by the client at a second, high, frequency which is higher than the first, low, frequency.