Rust game engine : Bevy 셋업

개요

시스템에 Bevy를 설치하는 방법에 대해 기술되어있는 Bevy Setup 입니다.

새 프로젝트

% cargo new my_bevy_game
     Created binary (application) `my_bevy_game` package
% cd my_bevy_game 
% cargo add bevy

일반적인 Rust 새프로젝트와 동일합니다.

% cat Cargo.toml

[dependencies]
bevy = "0.11.0"

현재 제가 작업중인 시점의 최신 버전입니다.

컴파일 성능 최적화

Bevy의 Rust Debug 빌드는 매우 오래걸립니다. 실행시에도 매우 오래 걸리는 경우도 있다고 하니 Bevy 개발을 할때는 반드시 다음 최적화 설정을 Cargo.toml 에 추가하세요!

# Enable a small amount of optimization in debug mode
[profile.dev]
opt-level = 1

# Enable high optimizations for dependencies (incl. Bevy), but not for our code:
[profile.dev.package."*"]
opt-level = 3
릴리즈 빌드로 개발하는 것은 전체 빌드 속도를 늦추고 문제 발생시 디버깅을 어렵게 하므로 권장하지 않는다네요. (이거 난데? 뜨끔)

Enable Bevy's Dynamic Linking Feature

가장 효과적인 컴파일 시간 단축입니다.
게임을 출시할때는 반드시 제거하라네요.

[dependencies]
bevy = { version = "0.11.0", features = ["dynamic_linking"] }

LLD Linker

Rust Linker 보다는 기본 LLD Linker 가 빠르다네요. 이유는 모르겠습니다. 빠르다니 일단 설치

Ubuntu

sudo apt-get install lld

MacOS

brew install llvm
MacOS 에서 lld linker 설정하는 방법은 Reddit 을 참고하였습니다. (되나? 무식쟁이는 이게 효과가 있는지 없는지도 모르지만 일단 적용)

그외에 다른 방법들은 unstable 한듯 하여 패스합니다.


Build

일단 여기까지하고 빌드
% cargo build

댓글

이 블로그의 인기 게시물

WSL2 Ubuntu 20.04 및 네트워크 설정

리눅스 멀티코어를 사용하는 tar 압축/해제

git pull 을 했더니 branch가 갈라지는 경우