Fish-Net: Networking Evolved
  • Introduction
    • Getting Started
    • Showcase
      • Upcoming Releases
    • Legal Restrictions
    • Pro, Projects, and Support
    • Business Support
    • Branding
  • Manual
    • General
      • Unity Compatibility
      • Changelog
        • Development Road Map
        • Major Version Update Solutions
      • Development
      • Performance
        • Benchmark Setup
        • Fish-Networking Vs Mirror
      • Terminology
        • Miscellaneous
        • Communicating
        • Server, Client, Host
      • Transports
      • Add-ons
        • Edgegap and other Hosting
        • Fish-Network-Discovery
      • Feature Comparison
      • Upgrading To Fish-Networking
    • Guides
      • Frequently Asked Questions (FAQ)
      • Creating Bug Reports
        • Report Example
      • Technical Limitations
      • Third-Party
      • Getting Started
        • Commonly Used Guides
        • Ownership - Moving Soon
        • Step-by-Step
          • Getting Connected
          • Preparing Your Player
      • Components
        • Managers
          • NetworkManager
          • TimeManager
          • PredictionManager
          • ServerManager
          • ClientManager
          • SceneManager
          • TransportManager
            • IntermediateLayer
          • StatisticsManager
          • ObserverManager
            • HashGrid
          • RollbackManager (Pro Feature)
        • Transports
          • FishyWebRTC
          • Bayou
          • FishyEOS (Epic Online Services)
          • FishyFacepunch (Steam)
          • FishyRealtime
          • FishySteamworks (Steam)
          • FishyUnityTransport
          • Multipass
          • Tugboat
          • Yak (Pro Feature)
        • Prediction
          • Network Collider
            • NetworkCollision
            • NetworkCollision2D
            • NetworkTrigger
            • NetworkTrigger2D
          • OfflineRigidbody
          • PredictedOwner
          • PredictedSpawn
        • Utilities
          • Tick Smoothers
            • NetworkTickSmoother
            • OfflineTickSmoother
          • MonoTickSmoother [Obsolete]
          • DetachableNetworkTickSmoother [Obsolete]
          • BandwidthDisplay
          • DefaultScene
          • PingDisplay
        • Authenticator
        • ColliderRollback
        • NetworkAnimator
        • NetworkBehaviour
        • NetworkTransform
        • NetworkObject
        • NetworkObserver
      • InstanceFinder
      • Ownership
        • Using Ownership To Read Values
      • Spawning and Despawning
        • Predicted Spawning
        • Nested NetworkObjects
        • Object Pooling
      • Components
      • NetworkBehaviour
      • NetworkObjects
      • Attributes, Quality of Life
      • Remote Procedure Calls
        • Broadcast
      • SyncTypes
        • Customizing Behavior
        • SyncVar
        • SyncList
        • SyncHashSet
        • SyncDictionary
        • SyncTimer
        • SyncStopwatch
        • Custom SyncType
      • Observers
        • Modifying Conditions
        • Custom Conditions
      • Automatic Serializers
      • Custom Serializers
        • Interface Serializers
        • Inheritance Serializers
      • Addressables
      • Scene Management
        • Scene Events
        • Scene Data
          • SceneLookupData
          • SceneLoadData
          • SceneUnloadData
        • Loading Scenes
        • Unloading Scenes
        • Scene Stacking
        • Scene Caching
        • Scene Visibility
        • Persisting NetworkObjects
        • Custom Scene Processors
          • Addressables
      • Transports
        • Multipass
      • Prediction
        • What Is Client-Side Prediction
        • Configuring PredictionManager
        • Configuring TimeManager
        • Configuring NetworkObject
        • Offline Rigidbodies
        • Interpolations
        • Creating Code
          • Controlling An Object
          • Non-Controlled Object
          • Understanding ReplicateState
            • Using States In Code
            • Predicting States In Code
          • Advanced Controls
        • Custom Comparers
        • PredictionRigidbody
        • Using NetworkColliders
      • Lag Compensation
        • States
        • Raycast
        • Projectiles
    • Server Hosting
      • Edgegap - Official Partner
        • Getting Started with Edgegap
      • Hathora
        • Getting Started with Hathora
      • Amazon Web Services (AWS)
        • Getting Started with AWS
    • API
Powered by GitBook
On this page
  • Versions
  • Results
  1. Manual
  2. General
  3. Performance

Fish-Networking Vs Mirror

These benchmarks are very old. Server outbound bandwidth metrics have changed.

As of the date 2023/08/26 Mirror is believed to be approximately 5% more efficient in bandwidth, and Fish-Networking about 90-95% more efficient in bandwidth.

Example:

if Mirror previously sent 100mB/s they are now expected to send 95mB/s.

If Fish-Networking previously sent 100mB/s it would now send 5mB/s

Versions

  • Fish-Networking v1.4.3

  • Mirror Networking v66.0.3

Results

Hardware

  • Windows Server 2019

  • AMD EPYC 7402P 24-Core (1 SLICE/CORE USED!)

  • 2.00 GB RAM

100 CCU Scaling

  • FishNet Server lost 1.5% of it's performance.

  • FishNet Client ran at 1350 FPS.

  • Mirror Server lost 29.5% of it's performance.

  • Mirror Client ran at 791 FPS.

200 CCU Scaling

  • FishNet Server lost 7.4% of it's performance.

  • Mirror Server lost 83.2% of it's performance.

  • Clients were untested.

100 CCU Bandwidth

  • FishNet Server per second sent 7.3mB (adjusted 0.55mB) and received 1.1mB.

  • Mirror Server per second sent 31.8mB (adjusted 30.2mB) and received 3.2mB.

200 CCU Bandwidth

  • FishNet Server per second sent 29.9mB (adjusted 2.24mB) and received 2.2mB.

  • Mirror Server per second sent 94.3mb (adjusted 89.6mB) and received 4.8mB.

Spawned Network Objects (idle)

Objects
Fish-Networking
Mirror

0

1.5ms

1.5ms

500

1.5ms

1.9ms

1000

1.5ms

2.2ms

2000

1.5ms

2.9ms

4000

1.5ms

4.2ms

Results

  • Client FPS: FishNet clients achieved 70% more FPS than Mirror.

  • Bandwidth: FishNet used 67-78% less bandwidth than Mirror.

  • Server Performance(200 CCU): FishNet retained 92.6% server performance, while Mirror retained only 16.8% performance.

  • Server Performance(4000 idle objects): FishNet retained 100% server performance, while Mirror retained only 36% performance.

PreviousBenchmark SetupNextTerminology

Last updated 1 year ago