1个不稳定版本
0.0.1 | 2022年8月18日 |
---|
#7 in #pixelflut
105KB
2K SLoC
pixelpwnr服务器
注意:该项目处于原型阶段,正在开发和测试中。稍后将进一步优化此服务器以实现高性能。
Rust语言编写的闪电般的GPU加速pixelflut (视频) 服务器。
功能
- 闪电般的pixelflut渲染
- GPU加速
- 高度并发,支持多个连接
- Linux、Windows和macOS
- 可选的PX二进制命令以降低带宽需求(默认启用)。
安装
安装需要Git和Rust cargo。使用rustup安装Rust的最新版本。
然后,使用以下命令克隆和安装pixelpwnr-server
# Clone the project
git clone https://github.com/timvisee/pixelpwnr-server.git
cd pixelpwnr-server
# Install pixelpwnr server
cargo install --path server -f
# Start using pixelpwnr server
pixelpwnr-server --help
# or run it directly from Cargo
cargo run --bin pixelpwnr-server --release -- --help
或者直接构建并调用二进制文件(Linux/macOS)
# Clone the project
git clone https://github.com/timvisee/pixelpwnr-server.git
cd pixelpwnr-server
# Build the project (release version)
cargo build --release
# Start using pixelpwnr-server
./target/release/pixelpwnr-server --help
二进制PX命令
此实现向协议中添加了一个新的命令,布局如下
PBxyrgba
其中
x
和y
是Little-Endian u16值,描述要设置的像素的X和Y坐标。r
、g
、b
和a
是单个字节的值,描述要设置的像素的R、G、B和A颜色分量。- 需要注意的是,此命令不以换行符结尾。添加换行符只会使服务器将该换行符解释为空命令(这是可以的)。
如果您希望禁用二进制像素命令,请向cargo
传递--no-default-features
标志
要求
- Rust (MSRV v1.58.1或更高版本)
- 构建基本工具(Ubuntu软件包:
build-essential
) freetype2
开发文件(Ubuntu软件包:libfreetype6-dev
)
性能
以下是一些有助于提高pixelflut服务器在高负载下的性能的要点:
- 使用
--release
构建。 - 使用尽可能多的核心的CPU。
- 使用快速以太网连接,最好是10Gb/s+。
- 使用专用显卡。
- 使用Linux机器。
- 增加Linux上的文件描述符限制。
- 退出尽可能多的其他运行中的程序。
相关项目
许可证
本项目采用GNU GPL-3.0许可证发布。更多信息请查看LICENSE文件。
依赖项
~21–34MB
~504K SLoC