mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-25 11:18:54 +01:00
Ebitengine - A dead simple 2D game engine for Go
ebitenebitenginegamegame-2dgame-developmentgame-enginegame-engine-2dgame-librarygamedevgogolanggolang-library
a18cddb39f
I've been doing some profiling of a very simple ebiten project, and noticed that thread.go was doing a bunch of unnecessary allocations to accomplish its work. This change seeks to reduce GC work. Input.go was also doing some unnecessary allocations. The thread.go change reduces the total number of allocations per frame from 1342 to 852 (~36% reduction). The input.go change reduces it further to 752 (~44% total reduction). Perf tests were done on windows. |
||
---|---|---|
.github | ||
audio | ||
cmd/ebitenmobile | ||
docs | ||
ebitenutil | ||
event | ||
examples | ||
inpututil | ||
internal | ||
mobile | ||
text | ||
vector | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CODE_OF_CONDUCT.md | ||
colorm_test.go | ||
colorm.go | ||
CONTRIBUTING.md | ||
copy_test.go | ||
copy.go | ||
cursormode.go | ||
debug_ebitendebug.go | ||
debug_notebitendebug.go | ||
doc.go | ||
export_test.go | ||
gamepad.go | ||
generate.go | ||
genevents.go | ||
genkeys.go | ||
geom_test.go | ||
geom.go | ||
go.mod | ||
go.sum | ||
goversion.go | ||
graphics.go | ||
image_test.go | ||
image.go | ||
imagedumper_desktop.go | ||
imagedumper_notdesktop.go | ||
imageparts.go | ||
init.go | ||
input.go | ||
keys.go | ||
LICENSE | ||
mousebuttons.go | ||
README.md | ||
run.go | ||
uicontext.go | ||
uidriver_glfw.go | ||
uidriver_js.go | ||
uidriver_mobile.go | ||
window.go |
Ebiten
A dead simple 2D game library in Go
Ebiten is an open-source game library, with which you can develop 2D games with simple API for multi platforms in the Go programming language.
Platforms
- Windows (No Cgo!)
- macOS
- Linux
- FreeBSD
- Android
- iOS
- Web browsers (Chrome, Firefox, Safari and Edge)
- GopherJS
- WebAssembly (Experimental)
Note: Gamepad and keyboard are not available on Android/iOS.
For installation on desktops, see the installation instruction.
Features
- 2D Graphics (Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering, Automatic batches, Automatic texture atlas)
- Input (Mouse, Keyboard, Gamepads, Touches)
- Audio (Ogg/Vorbis, MP3, WAV, PCM)
Packages
Community
Slack
#ebiten
channel in Gophers Slack
License
Ebiten is licensed under Apache license version 2.0. See LICENSE file.