Comments (2)
I wasn't sure that having SetWindowSize() and Layout() sizes match would even be possible, but after more detailed testing, I think it should be possible, this looks more like an internal scaling calculation mistake than an OS limitation.
Do you have an idea how to fix this?
For context, having this work correctly is useful for setting perfect windowed sizes on pixel art games.
I'm not sure we can render something in a pixel-perfect way with 125% mode.
from ebiten.
Do you have an idea how to fix this?
No, I'd have to go through the code to figure out if some floor or ceiling is being applied too early at some point or something like that.
I'm not sure we can render something in a pixel-perfect way with 125% mode.
Ignoring macOS and retina displays and all those apple things, yes, the device scaling is indifferent for rendering pixel perfect art. Notice that I'm not saying "render pixel art perfectly at an arbitrary scale", but "being able to set a window size compatible with our pixel art" (perfect multiple). This only depends on SetWindowSize()
setting the requested size perfectly, which is what's not happening here.
from ebiten.
Related Issues (20)
- Feature request: Ability to set the pixel density of the HTML canvas HOT 1
- Weird behaviour when LayoutF returns small sizes, e.g. 1.33,1.00 HOT 8
- Kage: compilation panic on partial function expr
- ebiten: remove `ColorScaleMode`
- all: use iterators wherever possible HOT 2
- cmd/ebitenmobile: doesn't work with Android SDK 34 HOT 4
- Kage: if-none condition
- .github/workflows: `go vet` fails on the test bot with Go 1.18
- .github/workflows: 32bit Linux test fails
- audio/mp3, audio/vorbis, audio/wav: add `(*Stream).SampleRate()`
- ebiten: cursor position is unexpectedly set to 0,0 after `ebiten.SetCursorMode(ebiten.CursorModeHidden)` HOT 11
- Allow to `FlashWindow` externally HOT 2
- shaderprecomp: remove `ShaderSourceID` HOT 2
- SIGSEGV after the screen turns off with a game running HOT 1
- Performance issue with DrawImage() in game.Draw()
- Vsync not working on some PCs HOT 6
- ebiten: add `FillRuleFillAll`, `FillAllNonZero`, and `FillRuleEvenOdd` for consistency
- too high FPS even with vsync on in Ebitengine but off by a hardware configuration
- debug: Snapshot testing HOT 2
- kage: local variable order is not used
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ebiten.