ui: Move vsync to ui.SwapBuffers on JavaScript version

This commit is contained in:
Hajime Hoshi 2016-02-28 03:49:57 +09:00
parent 94f1e7df64
commit 3588d0b485
2 changed files with 10 additions and 7 deletions

View File

@ -93,10 +93,6 @@ func vsync() {
}
func (*userInterface) doEvents() error {
vsync()
for !shown() {
vsync()
}
currentInput.UpdateGamepads()
return nil
}
@ -110,7 +106,10 @@ func (*userInterface) isClosed() bool {
}
func (*userInterface) swapBuffers() {
// Do nothing.
vsync()
for !shown() {
vsync()
}
}
func Init() *opengl.Context {

8
run.go
View File

@ -109,8 +109,12 @@ func Run(f func(*Image) error, width, height, scale int, title string) error {
c := float64(now-beforeForUpdate) * 60 / float64(time.Second)
runContext.isRunningSlowly = c >= 2.5
for i := 0; i < int(c); i++ {
// TODO: Input should be updated here,
// but JavaScript version of ui.DoEvents does vsync.
if err := ui.DoEvents(); err != nil {
return err
}
if ui.IsClosed() {
return nil
}
if err := graphicsContext.update(f); err != nil {
return err
}