Commit Graph

6968 Commits

Author SHA1 Message Date
vis2k
0745e44c5c syntax 2022-10-09 13:20:57 +02:00
vis2k
3b78b87ee9 perf: all client NetworkTransforms now run on the same NetorkClient.timeline instead of each component computing its own 2022-10-09 10:45:27 +02:00
vis2k
47d5ecd776 fix: LatencySimulation now flushes properly. fixes barely any packets getting through even on 0 settings 2022-10-09 10:31:48 +02:00
vis2k
a6d055db51 syntax 2022-10-09 10:09:44 +02:00
vis2k
666d1d7df2 fix: LatencySimulation now uses Time.unscaledTimeAsDouble for long running server precision 2022-10-09 10:08:47 +02:00
vis2k
5a2962c27b syntax 2022-10-09 10:06:37 +02:00
vis2k
f1f7b37288 NetworkManager: always show OnGUI because snapshot interpolation gui is useful in builds / for debugging as well 2022-10-09 10:04:38 +02:00
vis2k
b9bf63790f breaking: perf: fix: NetworkTime from NetworkClient snapshot interpolation timeline.
-> fixes initial delayed NetworkTime jump after 1-2s from 1.. to 500... depending on how long server was running.
-> improves accuracy / precision of NetworkTime
-> prepares for NetworkTransform & NetworkTime being on the same timeline instead of each component calculating their own timeline separately
2022-10-09 08:40:01 +02:00
vis2k
7298de3929 feature: global NetworkClient snapshot interpolation timeline.
=> for usage as significantly better NetworkTime after
=> for usage in NetworkTransform after
2022-10-09 08:36:17 +02:00
vis2k
f5d1a55fdd fix tests after recent commit 2022-10-08 08:58:09 +02:00
vis2k
1ebb4368dd perf: NetworkServer: Broadcast() now only runs every tickInterval, even if Application.targetFrameRate isn't set in host mode.
previously a host may run at 120 Hz, and even with tickInterval set to 10 Hz, Broadcast() would run 120 times per second, checking every component's dirty bits + send interval.

note that the actual _send rate_ wasn't broken.
this change simply reduces the need to check for "has send rate elapsed?"

=> prepares for NetworkClient time snapshot interpolation, where time snapshots need to be sent only every sendInterval.
=> if host mode would send every update, this would be way too much.
2022-10-07 21:44:02 +02:00
vis2k
0f8553ff2f feature: AccurateInterval from Mirror II to prepare for proper RemoteStatistics measurements & snapshot time interpolation, which requires accurate send interval even if .targetFrameRate can't be set (i.e. in host) 2022-10-07 21:20:38 +02:00
vis2k
9870705141 Header 2022-10-06 13:53:11 +02:00
vis2k
c940963779 breaking: NetworkServer.tickRate and .tickInterval, set from exposed NetworkManager.serverTickInterval.
prepares for NetworkClient time interpolation
2022-10-06 13:50:48 +02:00
vis2k
47bd10f237 gitignore Unity 2021 SceneTemplateSettings.json 2022-10-03 13:26:16 +02:00
vis2k
d72c769882 NetworkRoomManager: remove redundant maxConnections validation 2022-10-03 09:28:15 +02:00
vis2k
26144edc22 syntax 2022-10-03 09:27:49 +02:00
vis2k
b4149f2b94 syntax 2022-10-03 09:06:05 +02:00
vis2k
4fbbc0cbc1 NetworkManager: SetupClient() for consistency with SetupServer() 2022-10-03 08:51:50 +02:00
vis2k
d4b1239dc4 syntax 2022-09-28 11:57:02 +07:00
vis2k
7a7b5a0072 syntax 2022-09-28 11:50:54 +07:00
vis2k
02336b41b5 syntax 2022-09-28 11:34:18 +07:00
vis2k
b56b12ff54 partial classes 2022-09-28 11:33:52 +07:00
vis2k
7123a7925c feature: Snapshot Interpolation split into time + value interpolation (backported from Mirror II) to allow for global time interpolation with local value interpolation, instead of interpolating everything locally per-component 2022-09-27 13:40:57 +07:00
vis2k
34acc450bd syntax 2022-09-27 12:19:15 +07:00
vis2k
fcc6c31c7a breaking: NTSnapshot renamed to TransformSnapshot 2022-09-27 12:19:08 +07:00
vis2k
6988853ee2 comment 2022-09-27 11:55:51 +07:00
vis2k
136b8d9956 feature: NetworkWriter implicit ArraySegment conversion for convenience.
also allows for implicit NetworkWriter to NetworkReader conversion.
2022-09-27 11:53:04 +07:00
vis2k
a84bf0769e syntax 2022-09-27 11:49:59 +07:00
vis2k
2037b317c1 NetworkWriter.WriteBytes: rename parameter to avoid name collision 2022-09-25 13:56:30 +07:00
vis2k
618b7a6e16 NetworkWriterExtensions: removed static state by moving .encoding into each writer 2022-09-25 13:53:12 +07:00
vis2k
ab9a92388c Tests: ReadString_InvalidUTF8 2022-09-25 13:53:12 +07:00
vis2k
2ce8ee72a8 NetworkReaderExtensions: removed static state by moving .encoding into each reader 2022-09-25 13:53:12 +07:00
vis2k
e97da2605c feature: NetworkWriter.ToString in form of "[DD-CC-BB-AA-FF @ 5/1000]" 2022-09-25 13:26:58 +07:00
vis2k
61318d4c82 NetworkWriter.DefaultCapacity exposed 2022-09-25 13:26:53 +07:00
vis2k
3b8810f532 feature: NetworkWriter.Capacity 2022-09-25 13:24:08 +07:00
vis2k
606f147872 comment 2022-09-25 13:20:59 +07:00
vis2k
3664f26d65 Read<T>: error message improved 2022-09-25 13:19:44 +07:00
vis2k
df875a4bc1 syntax 2022-09-25 13:18:38 +07:00
vis2k
6fa5a65cd3 NetworkReader.ToString improved to be more readable: "[B2-C3-D4 @ 0/3]" 2022-09-25 13:18:04 +07:00
vis2k
27398721a2 Extensions: ArraySegment.ToHexString for convenience 2022-09-25 13:17:02 +07:00
vis2k
9525a4649d NetworkReader.ReadBytesSegment: ensure count >= 0 & guarantee exception with test. 2022-09-25 13:09:54 +07:00
vis2k
44e56ae753 NetworkReader.ReadBytes: ensure count >= 0 & guarantee exception with test.
previously it did throw the same exception unintentionally in the Array.Copy call
2022-09-25 13:08:45 +07:00
vis2k
c64925f9f6 Tests cleanup 2022-09-25 13:04:06 +07:00
vis2k
78fb0b57ae NetworkReader.ReadBytesSegment: use .Remaining 2022-09-25 13:00:57 +07:00
vis2k
98be66ec13 NetworkReader.ReadBytes: use .Remaining 2022-09-25 13:00:38 +07:00
vis2k
6e042ed2a8 NetworkReader.ReadBlittable: use .Remaining 2022-09-25 13:00:13 +07:00
vis2k
81e666af9e NetworkReader: remove SetBuffer byte[] variant. implicit ArraySegment conversion is enough. 2022-09-25 12:48:09 +07:00
vis2k
0ffa971413 NetworkReader: remove byte[] constructor, implicit ArraySegment constructor is enough 2022-09-25 12:46:47 +07:00
vis2k
c9642dbbb2 NetworkReader.ReadArray: use .Remaining 2022-09-25 12:44:06 +07:00