Merge branch 'master' of github.com:timvisee/pixelpwnr

This commit is contained in:
Tim Visée
2018-02-12 15:58:46 +01:00
8 changed files with 77 additions and 39 deletions

View File

@@ -39,11 +39,14 @@ Pixelflut an animated image:
pixelpwnr 127.0.0.1:8080 -i *.png --fps 5 -c 4 -w 400 -h 400 -x 100 -y 100
```
Use the `--help` flag, or see the [help](#help) section for all available
options.
## Installation
For installation, Git and Rust cargo are required.
Install the latest version of Rust with [rustup][rustup].
Then, clone and install pixelpwnr with:
Then, clone and install `pixelpwnr` with:
```bash
# Clone the project
@@ -60,7 +63,7 @@ pixelpwnr --help
cargo run --release -- --help
```
Or just build it and invoke the binary directly:
Or just build it and invoke the binary directly (Linux/macOS):
```bash
# Clone the project
@@ -74,6 +77,28 @@ cargo build --release
./target/release/pixelpwnr --help
```
## Performance & speed optimization
There are many things that affect how quickly pixels can be painted on a
pixelflut server.
Some of them are:
- Size of the image that is drawn.
- Amount of connections used to push pixels.
- Performance of the machine `pixelpwnr` is running on.
- Network interface performance of the client.
- Network interface performance of the server.
- Performance of the pixelflut server.
Things that improve painting performance:
- Use a wired connection.
- Use a LAN connection, closely linked to the pixelflut server. The lower
latency the better, due to the connection being over TCP.
- Use as many threads (`-c` flag) as the server, your connection and your
machine allows.
- Paint a smaller image (`-w`, `-h` flags).
- Paint in an area on the screen, where the least other things are pained.
- Use multiple machines (servers) with multiple `pixelpwnr` instances to push
pixels to the screen.
## Help
```text
pixelpwnr --help
@@ -93,9 +118,9 @@ OPTIONS:
-i, --image <PATH>... Image paths
-w, --width <PIXELS> Draw width (def: screen width)
-h, --height <PIXELS> Draw height (def: screen height)
-x, --x <PIXELS> Draw X offset (def: 0)
-y, --y <PIXELS> Draw Y offset (def: 0)
-c, --count <COUNT> Number of concurrent threads (def: 4)
-x <PIXELS> Draw X offset (def: 0)
-y <PIXELS> Draw Y offset (def: 0)
-c, --count <COUNT> Number of concurrent threads (def: CPUs)
-r, --fps <RATE> Frames per second with multiple images (def: 1)
ARGS:
@@ -110,5 +135,5 @@ Check out the [LICENSE](LICENSE) file for more information.
[34C3]: https://events.ccc.de/congress/2017/wiki/index.php/Main_Page
[pixelflut]: https://cccgoe.de/wiki/Pixelflut
[pixelflut-video]: https://vimeo.com/92827556/
[rust]: https://rust-lang.org/
[rust]: https://www.rust-lang.org/
[rustup]: https://rustup.rs/