Giter Site home page Giter Site logo

asgopew / tiled Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thanatos-tshock/tiled

1.0 1.0 0.0 2.99 MB

Provides alternate tile implementations which improve performance and memory usage

License: GNU General Public License v3.0

C# 100.00%

tiled's Introduction

Tiled plugin for TShock

Provides alternate tile implementations which improve performance and memory usage

Simply put Tiled.dll into your ServerPlugins folder. By default it will run the 1d tile provider, but you can use the ONE of the following command line arguments to switch to another provider:

-tiled 1d     # uses the 1d provider
-tiled 2d     # uses the 2d provider
-tiled struct # uses the struct provider
-tiled tsapi  # uses tshocks default implementation

How do these new providers differ from Re-Logic and TShock HeapTile implementations?

Currently, on Windows, if you are running a large world using Re-Logics tile mechanisms your server would be using over 600mb RAM.

The TShock team try and aid this with their HeapTile implementation which will reduce this large world to around 350mb (pretty neat huh?), however there is a trade-off using HeapTile - it's very slow.

This is where my versions step in, they aim to give you the best of both worlds. My 1d & 2d implementation run on-par with Re-Logics implementation AND with TShocks memory usage.

What provider should I use?

Generally using the 1d or 2d will suffice as they are nearly the exact same thing, however you might want to trial each version to see which runs best on your machine. Below is a short non-technical comparison of the providers:

  • 1d - stores the data in one location and each 1d tile will access the data using ONE offset
  • 2d - stores the data in one location and each 2d tile will access the data using TWO coordinates (x,y)
  • struct - the same setup as a 1d tile, but is an experimental version.
  • tsapi - this is tshocks HeapTile implementation that uses a lot of math to calculate data offsets, which results in slower execution.

For a slightly more technical explanation see the comments at the top of the file here.

tiled's People

Contributors

asgopew avatar thanatos-tshock avatar

Stargazers

 avatar

Watchers

 avatar

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.