Git Product home page Git Product logo

dots-moving-benchmarking's Introduction

DOTS-Moving-Benchmarking

A Simple Learning Project on Unity DOTS to compare Main Thread (SystemBase) vs ISystem + Burst Compile + Job

Details

Unity Version: 2022.3.0 DX11

URP Forward+

20,000 Entities

No Shadow

GPU Instancing

Currently the project hasn't support running on build yet

Project Preview

Benchmark

Windows 10 Build 19045

Dell G15 5515 x64, i7-11800H (8c/16t) @2.30 GHz 32GB Ram 3200Mhz Dual Channel, RTX 3050M, Nvidia 531.41

Main Thread (SystemBase)

CPU Latency: ~7ms (142 FPS)

Worker Thread (ISystem + Burst + Job)

CPU Latency: ~1.35ms (740 FPS)

Project Code Structure

Systems

CharacterMovementSystem: Process Character Movement

RandomPathfindingSystem: Handles Checking remaining destination distance & Set a new random position

RandomMovingCharacterSpawnerSystem: Only active once, Spawn the Character at startup & assign random destination

CharacterPathfindingMovement: Manage Character Movement velocity based on destination direction

Components

Singleton Components

GlobalCharacterMovementSpeed: Speed for all character

GlobalRandom: Global Unity.Mathematics.Random

RandomMovingCharacterSpawningProperty: Centralized data for character pathfinding config (only for spawning)

RandomPathfindingProperty: Centralized data for character pathfinding config (runtime)

Basic Components

Movement: Store Velocity

PathfindingDestination: Store Destination position

dots-moving-benchmarking's People

Contributors

stinkysteak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

unitycoder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.