Commit Graph

2170 Commits

Author SHA1 Message Date
Paul Pacheco
f218259be8 Scope syncdict tests to their classes 2020-04-22 20:11:21 -05:00
Paul Pacheco
6066ca2aa0 test class name matches file name 2020-04-22 19:50:55 -05:00
Paul Pacheco
c704bc123f test class name matches file name 2020-04-22 17:56:41 -05:00
Paul Pacheco
94603d175a test class name matches file name 2020-04-22 17:47:45 -05:00
Paul Pacheco
12ea5f25e0 test class name matches file name 2020-04-22 17:43:59 -05:00
Paul Pacheco
a2b6fb08f3 test class name matches file name 2020-04-22 17:42:25 -05:00
Paul Pacheco
dfffe26390 test class name matches file name 2020-04-22 17:40:32 -05:00
Paul Pacheco
5214b57db5 test class name matches file name 2020-04-22 17:35:39 -05:00
Paul Pacheco
95bb9cb0e3 silence unused method warning 2020-04-22 12:21:32 -05:00
James Frowen
1614c68629
Tests for sync dictionary and sync set (#1753)
* sync dictionary tests

* rename

* changing error message

* sync set tests
2020-04-22 18:54:09 +02:00
Chris Langsenkamp
cf6823acb5 fix: Removed NetworkServer.Listen because HostSetup does that 2020-04-22 06:39:46 -04:00
Chris Langsenkamp
984945e482 fix: Removed NetworkClient.Update because NetworkManager does it in LateUpdate 2020-04-22 06:34:34 -04:00
Chris Langsenkamp
bdec276282 fix: Add the transport first so NetworkManager doesn't add Telepathy in OnValidate 2020-04-22 06:32:26 -04:00
James Frowen
9bf816a014
feat: Allowing extra base types to be used for SyncLists and other SyncObjects (#1729)
* Tests for most uses of sync list

renaming classes for existing test files

* improving error message for Paramless constructor

* More tests for SyncLists

* updating error message

* ignore abstract classes

we dont need to process abstract classes because classes that
inherit from them will be processed instead

* check and error for syncList item being genric

* allowing extra base types for synclist

* checking for nested types in abstract classes

* test for nested types inside structs
2020-04-22 09:40:40 +02:00
uwee
ddd4b0b1fc
use HostSetup in tests (#1761) 2020-04-22 09:38:07 +02:00
uwee
262c1129dc
add test for NS Reset (#1758)
* add test for NS Reset

this code is depreciated but it should have a test as long as its in the code base

* typo
2020-04-21 23:49:46 +02:00
uwee
d996079042
remove empty if statement (#1757)
the current state is an untestable if statement. the if (!dont) is not pretty but the same logic is used later in the same file under Listen()
2020-04-21 23:49:11 +02:00
uwee
2f7053c6be
return bool to allow testing (#1756) 2020-04-21 23:48:42 +02:00
uwee
c2c1f86fe8
add HostSetup for tests (#1755) 2020-04-21 23:48:06 +02:00
uwee
c4bfb9d037
remove unused using (#1754) 2020-04-21 23:47:20 +02:00
James Frowen
2cf0fc71a7
Clean up sync object tests (#1750)
* cleaning up tests

* clearing dirty before test
2020-04-21 08:29:46 -05:00
uwee
3cf686f3b8
add base OnSetHostVisibility test (#1749)
* add base OnSetHostVisibility test

* fix code smells
2020-04-21 09:58:14 +02:00
MrGadget
2d006fe730
fix: Remove leftover AddPlayer methods now that extraData is gone (#1751) 2020-04-21 09:56:14 +02:00
James Frowen
58c89a3d32
fix: Allow sync objects to be re-used (#1744)
fixes #1714
2020-04-20 19:20:25 -05:00
Chris Langsenkamp
8798cd18ce Updated NetworkManage template 2020-04-20 18:49:21 -04:00
Paul Pacheco
3dd709ac35
Remove MarkForReset (#1747)
* Remove MarkForReset

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

* Update Assets/Mirror/Tests/Editor/NetworkServerTest.cs
2020-04-20 20:07:22 +02:00
Chris Langsenkamp
5d4bc47d46 fix: Use path instead of name in Room Example 2020-04-20 11:04:18 -04:00
Chris Langsenkamp
2a2f76c263 fix: Remove RoomPlayer from roomSlots on Disconnect 2020-04-20 11:02:45 -04:00
James Frowen
055a264660
adding return so that exception isnt throw after error (#1746) 2020-04-20 08:51:40 -05:00
Chris Langsenkamp
8e7bb44c3a Updated docs, comments, template pursuant to renaming of OnNetworkDestroy 2020-04-20 09:42:16 -04:00
Paul Pacheco
d1695dd16f
feat: new virtual OnStopServer called when object is unspawned (#1743) 2020-04-20 10:36:03 +02:00
Paul Pacheco
86ac5ad40b
Rename OnNetworkDestroy to OnStopClient (#1742)
OnNetworkDestroy is not a good name,  is it server? is it client?
you can't tell by the name.

Moreover,  we have OnStartClient,  API should be symetric so we should
have a corresponding OnStopClient.

Note this keeps backwards compatibility with an Obsolete for now
2020-04-20 10:35:34 +02:00
Chris Langsenkamp
e03c2a0ee1 restored 1bitpack_kenny metas 2020-04-19 17:32:51 -04:00
James Frowen
f17cea771e
using IsDerivedFrom instead of while loop (#1739) 2020-04-19 14:12:37 -05:00
James Frowen
a86d1cdfff
Adding error to network behaviour when generic sync object is used (#1741)
* test for using Generic SyncList

* adding error to network behaviour when generic sync object is used

* ignore generic classes

we can not process generic classes
we give error if a generic syncObject is used in NetworkBehaviour
2020-04-19 19:34:05 +02:00
James Frowen
a523d5f521
using if instead of try catch (#1740) 2020-04-19 19:33:30 +02:00
James Frowen
c25b1c6043
removing old test files (#1738) 2020-04-19 12:57:58 +01:00
James Frowen
f83093893e
Weaver error messages and tests for using interfaces (#1737)
* more tests for readwriters

* updating error message

* fixing error messages
2020-04-18 22:55:17 -05:00
Chris Langsenkamp
a6258d2d70 Remove and Ignore 1bitpack_kenney png.meta files. 2020-04-18 23:33:13 -04:00
James Frowen
f6e4068ebe
removing ignored test (#1736) 2020-04-19 00:53:39 +01:00
James Frowen
24469859e5
adding error to reader (#1726)
these checks are already in writer
2020-04-18 10:52:22 +02:00
James Frowen
5c56adc1dc
feat: default log level option (#1728)
Each class can specify default log levels when requesting the logger.
2020-04-17 18:11:44 -05:00
MrGadget
21acf66190
feat: NetworkMatchChecker Component (#1688)
* feat: NetworkMatchChecker Component

* Added docs

* feat: Use logger framework for NetworkClient (#1685)

* Use logger framework for NetworkClient

* Update Assets/Mirror/Runtime/NetworkClient.cs

Co-authored-by: vis2k <info@noobtuts.com>

* breaking: NetworkVisbility component (#1681)

* backup

* breaking: NetworkProximityCheck abstract class. Simplifies code, reduces complexity, improves performance because if 10k identities have 10 components each, we don't have to iterate 100k components each time we rebuild observers.

* update tests and checkers

* DisallowMultipleComponents

* fix tests

* split OnCheckObserver check

* fix tests

* syntax

* update comment

* renamed to NetworkVisibility

* forgot to remove comment

* breaking: Network Visibility Component

* changing namespaces of performance tests (#1689)

* Updated to use NetworkVisibility

* Updated comments

* Updated OnCheckObserver and removed OnSetHostVisibility

* tests for OnCheckObserver

* adding check for empty guid

* tests for changing matchId

* RebuildObservers if player left a match

* Refactored to make it simpler

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-04-17 10:35:08 +02:00
MrGadget
cbc2a47729
fix: Don't destroy the player twice (#1709)
* fix: Don't destroy the player twice

* adding test

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-04-17 10:34:17 +02:00
MrGadget
e5b728fed5
fix: Eliminate NetworkAnimator SetTrigger double firing on Host (#1723) 2020-04-17 00:53:46 +02:00
James Frowen
df7c671604
using MemoryTransport for ULocalConnectionPerformance (#1720) 2020-04-16 19:33:13 +02:00
James Frowen
db87c961b0
fixing TearDown and removing extra calls to shutdown (#1722) 2020-04-16 19:32:51 +02:00
James Frowen
3368026b2c
adding extra performance test for NetworkIdentity (#1721) 2020-04-16 10:52:24 +02:00
James Frowen
b1644ae481
feat: Weaver can now automatically create Reader/Writer for types in a different assembly (#1708)
* fix: serialize structs in other assemblies

fixes #1570

* removing check for type in another assembly

* fixing call to default constructor

* removing old tests that not longer apply

* fixing typo

* adding error when creating writer for unity base classes

* Test for Generating Reader and Writer functions

* removing old function

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-04-16 10:50:49 +02:00
James Frowen
58219c8f72
perf: Adding dirty check before update sync var (#1702)
* adding dirty check before update sync var

* Moving creating spawn payload to its own function

* updating tests

* adding tests for behaviour mask

* adding comment

* removing un-needed cast
2020-04-16 10:49:33 +02:00
James Frowen
17f8e9721a
re adding caching for OutputDirectory (#1719) 2020-04-15 14:06:18 -05:00
Paul Pacheco
93f7028e0d split weaver test files by test class 2020-04-15 12:14:25 -05:00
Paul Pacheco
2b1aefab39 use logger framework instead of preprocessor 2020-04-15 11:33:48 -05:00
Paul Pacheco
e109ce3e87 paths should be combined, not added 2020-04-15 09:57:45 -05:00
Paul Pacheco
c483047486 Remove unused option 2020-04-15 09:14:44 -05:00
Devon Merner
d8c121695c
networkSceneName sets to empty on StopClient and StopServer. (#1715) 2020-04-15 11:31:27 +02:00
Devon Merner
0fe6328800
feat: Added SyncList.Find and SyncList.FindAll (#1716)
fixes #1710
2020-04-14 20:51:14 -05:00
James Frowen
6383e9884f
Moving weaver tests 2 (#1706)
* adding WeaverTestsBuildFromTestName

* removing event handlers on TearDown
2020-04-14 20:04:07 -05:00
James-Frowen Laptop2
239b7b762a removing extra lines 2020-04-14 19:54:09 -05:00
James Frowen
c4d373984d Moving weaver tests into their own classes 2020-04-14 19:53:45 -05:00
uwee
af2e732adb
docs: remove mention of networkPort from NetworkManager (#1712)
fixes #1711
2020-04-14 17:37:49 +02:00
James Frowen
6e081f3d40
NetworkIdentity ServerUpdate Performance test (#1703) 2020-04-14 11:13:21 +02:00
James Frowen
c66c5a6dcc
fix: Fixing SyncVars not serializing when OnSerialize is overridden (#1671)
* Adding SyncVar methods

this will allow SyncVars to still work if user overrides
OnSerialize as long as they call base.OnSerialize

* Adding tests for NetworkBehaviour OnSerialize

These tests make sure that weaver correctly create code for syncvar

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

* adding extra test

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-04-14 11:11:15 +02:00
Chris Langsenkamp
0e1aa1b305 Updated Netowork Observer template 2020-04-13 21:08:14 -04:00
MrGadget
4994193668
Make OnSetHostVisibility virtual with default functionality (#1707) 2020-04-13 20:05:08 -05:00
Chris Langsenkamp
cbe499e052 NetworkVisibility: Put methods in correct order 2020-04-13 20:17:07 -04:00
Chris Langsenkamp
6fec901a80 Updated Network Observer Template 2020-04-13 20:05:00 -04:00
James Frowen
eec45ff8fe
Adding changed check to PreprocessorDefine (#1698)
* Adding changed check to PreprocessorDefine

this stops ProjectSettings being marked as dirty each time the editor is opened

* Update PreprocessorDefine.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-04-13 10:14:04 +02:00
Chris Langsenkamp
8aabb54929 Don't rename spawned objects 2020-04-12 21:48:41 -04:00
Paul Pacheco
003597bc11 Remove commented out code 2020-04-12 11:06:13 -05:00
Paul Pacheco
b7cef180d4 Rename local variable for clarity 2020-04-12 11:06:13 -05:00
Paul Pacheco
61cf445395 Rename method for clarity 2020-04-12 11:06:13 -05:00
Paul Pacheco
78ff826684 Fix smells 2020-04-12 11:06:13 -05:00
Paul Pacheco
2a456a0161 Reduce cognitive complexity of Weave 2020-04-12 11:06:13 -05:00
Paul Pacheco
1a2af279ca Remove unused method 2020-04-12 11:06:13 -05:00
Paul Pacheco
91920e0a6e fix code smells 2020-04-12 11:06:13 -05:00
uwee
0e84e9dd4e
smell: reduce OnGUI complexity (#1696) 2020-04-12 16:48:25 +02:00
James Frowen
f8f939fd9c
Making ULocalConnectionPerformance test clean up new objects (#1700)
stops testPlayerPrefab was causing problems with OnPostProcessScene in other runtime tests
2020-04-12 13:44:45 +01:00
James Frowen
83d1648913
changing test namespace (#1699) 2020-04-12 13:18:05 +01:00
Chris Langsenkamp
9c3f5710eb Updated docs and comments re: Network Visibility 2020-04-12 07:54:28 -04:00
James Frowen
18bd792a0b
Improving Performance Benchmark (#1695)
Taking measurements for frames and LateUpdate at same time.
2020-04-12 00:52:48 +01:00
James Frowen
9d24d45987
Adding defines to performance tests (#1690)
* adding defines

* adding versionDefines
2020-04-11 20:59:42 +02:00
James Frowen
24e2af098f
changing namespaces of performance tests (#1689) 2020-04-11 17:30:18 +01:00
Chris Langsenkamp
25ee8540f9 breaking: Network Visibility Component 2020-04-11 11:56:21 -04:00
vis2k
70ddf92a5c
breaking: NetworkVisbility component (#1681)
* backup

* breaking: NetworkProximityCheck abstract class. Simplifies code, reduces complexity, improves performance because if 10k identities have 10 components each, we don't have to iterate 100k components each time we rebuild observers.

* update tests and checkers

* DisallowMultipleComponents

* fix tests

* split OnCheckObserver check

* fix tests

* syntax

* update comment

* renamed to NetworkVisibility

* forgot to remove comment
2020-04-11 15:37:35 +02:00
Paul Pacheco
6e92bf5616
feat: Use logger framework for NetworkClient (#1685)
* Use logger framework for NetworkClient

* Update Assets/Mirror/Runtime/NetworkClient.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-04-11 13:21:14 +02:00
James Frowen
c0a82a86ea
Logger editor (#1613)
* window for mirror log levels

* applying suggestions
2020-04-10 13:20:05 -05:00
MrGadget
e7cfd5a498
fix: Check SceneManager GetSceneByName and GetSceneByPath (#1684)
* fix: Check SceneManager GetSceneByName and GetSceneByPath

* Fix example too.
2020-04-10 11:26:37 -05:00
Paul Pacheco
55e075c872 fix: stack overflow getting logger 2020-04-10 11:14:20 -05:00
Paul Pacheco
de87634ec5 Some extension methods for convenient migration 2020-04-10 11:11:51 -05:00
Paul Pacheco
f9328c771c feat: logger factory works for static classes by passing the type 2020-04-10 10:51:42 -05:00
MrGadget
bc37497ac9
fix: Re-enable transport if aborting additive load/unload (#1683)
* fix: Re-enable transports if aborting additive load/unload

* Restore debug if's
2020-04-10 11:42:38 -04:00
James Frowen
95705a1545
Moving error check to when cache is created (#1682)
* Moving error check to when cache is created

* updating tests for new code behaviour

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-04-10 17:15:24 +02:00
vis2k
0b44ccee99 syntax 2020-04-10 10:06:37 +02:00
James Frowen
f0579835ca
perf: Increasing Network Writer performance (#1674)
* Increasing performance of network writer

* Using Array.Clear

renaming value to newLength

* Update Assets/Mirror/Tests/Editor/NetworkWriterTest.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* adding braces

* extracting EnsureCapacity method

* Update NetworkWriter.cs

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-04-10 09:45:09 +02:00
Chris Langsenkamp
c1fe2124d8 Removed SpawnWithClientAuthority from comments and docs 2020-04-09 16:51:41 -04:00
James Frowen
8ce65045c8
Benchmark performance test 2 - Idle benchmark (#1662)
* adding bool to stop health updating

* idle benchmark

* using FindObjectsOfType instead of static field
2020-04-09 09:40:37 +02:00
James Frowen
7e7ffcd892
Adding report to performance test readme 2020-04-08 16:24:39 +01:00
James Frowen
7a06815d75
adding static check before adding this arg (#1668) 2020-04-07 19:50:48 +02:00
James Frowen
60678d9bc7
adding readme (#1672) 2020-04-07 12:30:57 -05:00
James Frowen
4fc58be148
making network behaviour abstract (#1669) 2020-04-07 10:23:09 +02:00
James Frowen
17885a0da2
Adding comments to NetworkBehaviour (#1670) 2020-04-07 00:33:15 +01:00
James Frowen
f8dee1f1a1
removing unnecessary using (#1667) 2020-04-06 09:56:26 -05:00
James Frowen
75dc0af65f
Pipeline fix for performance tests (#1666)
* updating coverage manifest

* removing version tag
2020-04-06 09:42:47 -05:00
James Frowen
52e91e7d1e
Benchmark performance test (#1661)
* benchmark performance test

* adding hooks for performance test

* using hooks to measure time of Lateupdate

moving code to setup and teardown
2020-04-06 09:49:46 +02:00
Chris Langsenkamp
532555bbea Put methods in call order 2020-04-04 12:03:08 -04:00
James Frowen
34415fe876
performance test for ULocalConnection (#1655) 2020-04-04 15:03:05 +02:00
James Frowen
3219fd4b51
performance test for NetworkWriter (#1654) 2020-04-04 15:02:48 +02:00
James Frowen
0157f9d909
adding performance test asmdef (#1653)
* adding performance test asmdef

* adding performance tests to packages

* fixing asmdef to work with 2018 and 2019
2020-04-04 14:21:53 +02:00
Paul Pacheco
84b2c8cf26
perf: Use continuewith to queue up ssl messages (#1640)
get rid of the complicated queue. Use Task.continuewith 

also,  apparently we have to flush or latency is really bad.
2020-04-03 07:24:07 -05:00
James Frowen
2ef8404f82
adding Category to weaver and Telepathy tests (#1643) 2020-04-02 18:50:42 +02:00
James Frowen
456fde07bc
removing cahced field (#1641) 2020-04-02 18:49:38 +02:00
James Frowen
4d5cee893d
perf: Adding buffer for local connection (#1621)
* Using writer for local connection

LocalConnectionBuffer

* removing assert

* fixing error and cleaning up code

* removing old queue

* tests for LocalConnectionBuffer

* removing field

* removing extra lines

* Update LocalConnections.cs

removing empty line

* adding comment for packet count
2020-04-02 18:49:09 +02:00
Chris Langsenkamp
caccebaa17 Updated example prefabs 2020-04-02 01:11:11 -04:00
Chris Langsenkamp
a6f98b09cf Updated NetworkManager Script Template 2020-04-01 23:49:47 -04:00
Paul Pacheco
6591539c31 Remove unused local variable 2020-04-01 12:02:44 -05:00
Chris Langsenkamp
e420dcb6b6 Fixed comment in template 2020-04-01 05:33:16 -04:00
MrGadget
d2a58a4c25
fix: Destroyed NetMan due to singleton collision must not continue. (#1636)
* fix: Destroyed NetMan due to singleton collision must not continue.

* Added comment

* Added Comment
2020-04-01 11:29:35 +02:00
Paul Pacheco
f2ccb59ae6
feat: logging api (#1611)
* feat: logging api

Provide a ILogger (from unity framework) per class
it can track loggers per class and use  Debug.unityLogger by default

* Logger field should never change

* Support loggers for static classes

Unfortunately we can't have generics with static classes.
Thus we can keep the loggers in a Dictionary instead indexed by name

if you need a logger for a static class,  you can just do:

private static readonly ILogger logger = LogFactory.GetLogger(nameof(MyClass));

* Remove unused using

* Better tests by providing a mock handler
2020-04-01 11:27:51 +02:00
James Frowen
4fea1ee9b3
making singleton private set (#1635) 2020-04-01 01:11:45 +02:00
James Frowen
8087d3da7d
explicit type preference (#1634) 2020-03-31 22:57:47 +02:00
James Frowen
2617d65ad1
removing unnecessary this (#1633) 2020-03-31 22:57:27 +02:00
James Frowen
1e326ce6fe
removing unnecessary casts (#1632) 2020-03-31 22:56:54 +02:00
James Frowen
7dde2f80fe
removing and sort using (#1631) 2020-03-31 22:56:30 +02:00
James Frowen
f19e2d3aac
more formatting (#1630) 2020-03-31 22:55:58 +02:00
James Frowen
c6501aab06
formatting (#1629) 2020-03-31 12:15:30 -05:00
Chris Langsenkamp
7f208ffba9 Updated Comments 2020-03-30 22:28:59 -04:00
James Frowen
1ae038172a
perf: faster NetworkReader pooling (#1623)
* replacing stack with array for NetworkReaderPool

* Reader tests
2020-03-30 17:08:21 +02:00
James Frowen
f9335bb5f3
Finding WeaverAssembler path before running tests (#1608)
* Finding WeaverAssembler path before running tests

* using nameof
2020-03-30 14:45:36 +02:00
James Frowen
dcb618bfd6
fixing MissingReferenceException (#1624) 2020-03-29 21:39:18 -04:00
Paul Pacheco
deb286f0c2 refactor: simplify getting hook method 2020-03-29 14:25:07 -05:00
Paul Pacheco
518233cd7e This is always true 2020-03-29 14:11:54 -05:00
Paul Pacheco
69fdbea892 Unused using 2020-03-29 14:11:54 -05:00
James Frowen
da2e61b30a
doc comments (#1622) 2020-03-29 11:41:21 -05:00
vis2k
254a49496f NetworkWriterPool: add performance comment 2020-03-29 17:33:03 +02:00
vis2k
d865dddb4e 10k demo: deterministic health updates 2020-03-29 17:29:11 +02:00
James Frowen
4fa43a9471
perf: faster NetworkWriter pooling (#1620)
* using array in NetworkWriterPool instead of stack

* Using property

adding debug warning if pool is full

* adding tests for  NetworkWriterPool

* Update NetworkWriterPool.cs

* Update NetworkWriterPoolTest.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-03-29 17:16:16 +02:00
Paul Pacheco
e96b687563 Revert "perf: faster NetworkWriter pooling (#1616)"
This reverts commit 5128b122fe.
2020-03-28 19:04:06 -05:00
Paul Pacheco
96e690ef9c Revert "Explain why 10"
This reverts commit e8cdb7569d.
2020-03-28 19:03:53 -05:00
Paul Pacheco
e8cdb7569d Explain why 10 2020-03-28 18:14:48 -05:00
James Frowen
e12f33d306
fixing MissingReferenceException (#1619) 2020-03-28 15:00:48 -04:00
James Frowen
5128b122fe
perf: faster NetworkWriter pooling (#1616)
Stack turned out to be slow way to pool NetworkWriters.
Replace them with an array

see #1614
2020-03-28 12:58:00 -05:00
Paul Pacheco
61163cacb4
perf: replace isValueType with faster alternative (#1617)
According to vis benchmark here https://github.com/vis2k/Mirror/issues/1614#issuecomment-605443808
isValueType is an expensive operation.

This microoptimization replaces isValueType for a faster (not so readable) alternative
2020-03-28 12:27:42 -05:00
Paul Pacheco
166b8c9467
perf: use byte[] directly instead of MemoryStream (#1618)
* perf: use byte[] directly instead of MemoryStream

* Optimize writing int32 and int64

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkWriter.cs

* Start with bigger buffer

* Woops,  should have double checked suggestion

* Removed invalid Test

We should not require NetworkWriter to behave in certain way when Position
is set to out of bounds.

That is an invalid use of NetworkWriter, so NW should be free to do any behavior

* smells

* Update NetworkWriter.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-03-28 18:17:53 +01:00
vis2k
a4bd6e7e66
Examples: added 10k monsters benchmark (#1615)
* scene and 1bit from kenney

* tilemap

* slice sprites

* name some

* create empty tile

* 2d cam

* monster prefab

* 100 monsters

* monster netid

* rename

* zoom cam, 10k monsters

* resave scene for sceneids

* Monster script

* add transparent textures for monsters

* replace monster sprite with transparent

* scripts

* mvoed into benchmarks folder

* player sprite

* tilemap background

* player prefab

* health update
2020-03-28 13:03:19 +01:00
Paul Pacheco
3fb7559561 remove redundant code block 2020-03-27 17:25:33 -05:00
Paul Pacheco
f56471085f Fix typos in tests 2020-03-27 17:21:24 -05:00
Paul Pacheco
10813cb9eb Reduce cognitive complexity of GenerateClassOrStructReadFunction 2020-03-27 17:14:39 -05:00
Paul Pacheco
ef80575787 Remove redundant code block 2020-03-27 17:06:59 -05:00
Paul Pacheco
6587c1f7b9 Better comment 2020-03-27 17:03:40 -05:00