mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-10 04:57:26 +01:00
internal/ui: refactoring: remove unnecessary hack for unfocusing
The sleeping for an unfocused state also happens in (*userInterfaceImpl).update(). Updates #982 Updates #987
This commit is contained in:
parent
7e7deeab22
commit
3f753b7086
@ -1017,21 +1017,6 @@ func (u *userInterfaceImpl) loopGame() error {
|
||||
}
|
||||
|
||||
func (u *userInterfaceImpl) updateGame() error {
|
||||
var unfocused bool
|
||||
|
||||
// On Windows, the focusing state might be always false (#987).
|
||||
// On Windows, even if a window is in another workspace, vsync seems to work.
|
||||
// Then let's assume the window is always 'focused' as a workaround.
|
||||
if runtime.GOOS != "windows" {
|
||||
unfocused = u.window.GetAttrib(glfw.Focused) == glfw.False
|
||||
}
|
||||
|
||||
var t1, t2 time.Time
|
||||
|
||||
if unfocused {
|
||||
t1 = time.Now()
|
||||
}
|
||||
|
||||
var outsideWidth, outsideHeight float64
|
||||
var deviceScaleFactor float64
|
||||
var err error
|
||||
@ -1053,20 +1038,6 @@ func (u *userInterfaceImpl) updateGame() error {
|
||||
u.mainThread.Call(u.swapBuffers)
|
||||
}
|
||||
|
||||
if unfocused {
|
||||
t2 = time.Now()
|
||||
}
|
||||
|
||||
// When a window is not focused, SwapBuffers might return immediately and CPU might be busy.
|
||||
// Mitigate this by sleeping (#982).
|
||||
if unfocused {
|
||||
d := t2.Sub(t1)
|
||||
const wait = time.Second / 60
|
||||
if d < wait {
|
||||
time.Sleep(wait - d)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user