Skip to content

ebiten: disabling vsync doesn't work on macOS #3392

@venning

Description

@venning

Ebitengine Version

v2.9.0

Operating System

  • Windows
  • macOS
  • Linux
  • FreeBSD
  • OpenBSD
  • Android
  • iOS
  • Nintendo Switch
  • PlayStation 5
  • Xbox
  • Web Browsers

Go Version (go version)

go version go1.26.0 darwin/arm64

What steps will reproduce the problem?

I have two monitors: a laptop monitor at 120 Hz and an external monitor at 60 Hz.

When the external monitor is not connected, Ebitengine runs at 120 FPS on the laptop monitor.

When the external monitor is connected, Ebitengine runs at 60 FPS on both monitors.

Additionally, ebiten.SetVsyncEnabled(false) does not go above 60 FPS.

What is the expected result?

Previously, for Ebitengine v2.8.9 and earlier: Ebitengine ran at 120 FPS on the laptop and 60 FPS on the external, always.

This was true whether connected or disconnected; starting the window on either monitor; or dragging the window between monitors.

Also, ebiten.SetVsyncEnabled(false) would cause Ebitengine to be much greater than 120 FPS on the laptop monitor.

What happens instead?

I have tracked this to a regression from Ebitengine v2.8.9 -> v2.9.0. I'm sorry for being late to upgrade and notice this. (Ebitengine v2.9.8 has the same problem.)

Anything else you feel useful to add?

MacBook M1 Pro (14-inch, 2021)
macOS Ventura 13.1

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions