forum

[Archived] [osu!lazer] Crash when using borderless with x2 refresh rate

posted
Total Posts
8
Topic Starter
VannyGod
Problem details:
Hi! I’ve been using osu lazer for a few weeks now and, in general, I prefer it over stable. However, I’ve been running into a few problems related to frame limiting and refresh rate, and I’d like to know if anyone else has dealt with this.

Initially, I had osu!lazer running in borderless windowed mode, with the framerate set to x2 refresh rate(so around 120fps) My monitor is 60Hz, and the game stayed at 60fps consistently. However, I started noticing that if I alt-tabbed or switched windows, osu would freeze and crash after a few seconds.

I later discovered that this crash only happens in borderless. When I switch to fullscreen, the crash no longer happens.

That brings up another issue: when I play in fullscreen with V-Sync enabled, the cursor feels sluggish or delayed, no matter how much I tweak the sensitivity settings. It just doesn't feel right. On the other hand, if I play in fullscreen with x2 refresh rate, the cursor feels much better, but since my monitor is 60Hz, I start seeing screen tearing, which is very distracting.

So my questions are:
1.Is there a way to lock the game to 60fps without using vsync, and without getting screen tearing?
2.Are there recommended settings for osu lazer on 60Hz monitors?
3.What do most players with 60Hz displays use: vsync, frame limiter, or unlocked framerate?

osu! version: lazer 2025.710.0
RoksNRoll
V-Sync will always add more latency to your game no matter what you do. It's generally bad to have V-Sync on in a game where latency matters a lot like osu! The only way to minimize the effect of screen tearing is to render more frames than your monitor can output. My monitor is 60hz and my game outputs 240 fps so the screen tearing isn't noticeable unless you look for it. Locking your game to 60 fps will lead a disorienting amount of screen tearing.

The recommended setting will always be to limit your frames. Unlocking your frame rate can lead to stutters and performance issues if your setup isn't able to handle it.

If you can please send the logs from event viewer: wiki/en/Help_centre#event-viewer
spaceman_atlas
Just to clear some things up here:

RoksNRoll wrote:

The only way to minimize the effect of screen tearing is to render more frames than your monitor can output.
Conflating rendering frame time with screen tearing like this is weird. They are two independent things. Whether the display is allowed to tear or not depends on whether the game is attempting to synchronise the frames it is outputting with the display.

You can have 120fps and tearing, or you could have 60fps and no tearing. The lazer D3D11 renderer (in windowed / borderless mode) has something like this wherein it's "vsync-like" in that there's no tearing but it's not locked to the display's refresh rate, the game can push frames at a multiple of that.

RoksNRoll wrote:

Locking your game to 60 fps will lead a disorienting amount of screen tearing.
As per above, this is not a universally true statement.
RoksNRoll

spaceman_atlas wrote:

Just to clear some things up here:

RoksNRoll wrote:

The only way to minimize the effect of screen tearing is to render more frames than your monitor can output.
Conflating rendering frame time with screen tearing like this is weird. They are two independent things. Whether the display is allowed to tear or not depends on whether the game is attempting to synchronise the frames it is outputting with the display.

You can have 120fps and tearing, or you could have 60fps and no tearing. The lazer D3D11 renderer (in windowed / borderless mode) has something like this wherein it's "vsync-like" in that there's no tearing but it's not locked to the display's refresh rate, the game can push frames at a multiple of that.

RoksNRoll wrote:

Locking your game to 60 fps will lead a disorienting amount of screen tearing.
As per above, this is not a universally true statement.
I see. I wasn't actually aware of that till now.
Topic Starter
VannyGod
Hey! Sorry for the delay in responding, I’ve been testing the game a bit more before replying.
I’ve experienced the crash again while using borderless window mode with x2 refresh rate (120fps on a 60Hz monitor), and I followed the instructions to check the Event Viewer.
Here’s the crash log I found:

- System

- Provider

[ Name] .NET Runtime

- EventID 1026

[ Qualifiers] 0

Version 0

Level 2

Task 0

Opcode 0

Keywords 0x80000000000000

- TimeCreated

[ SystemTime] 2025-07-22T03:46:21.9392022Z

EventRecordID 13269

Correlation

- Execution

[ ProcessID] 1912
[ ThreadID] 0

Channel Application

Computer Gio

Security


- EventData

Application: osu!.exe CoreCLR Version: 42.42.42.42424 .NET Version: 8.0.16 Description: The process was terminated due to an unhandled exception. Exception Info: SharpGen.Runtime.SharpGenException: HRESULT: [0x887A0005], Module: [Vortice.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: [La instancia de dispositivo de GPU se ha suspendido. Use GetDeviceRemovedReason para averiguar cuál es la acción adecuada. ] at SharpGen.Runtime.Result.ThrowFailureException() at Veldrid.D3D11.D3D11Texture..ctor(ID3D11Device device, TextureDescription& description) at Veldrid.ResourceFactory.CreateTexture(TextureDescription& description) at osu.Framework.Graphics.Veldrid.Textures.VeldridTexture.DoUpload(ITextureUpload upload) at osu.Framework.Graphics.Veldrid.Textures.VeldridTexture.Upload() at osu.Framework.Graphics.Rendering.Renderer.BeginFrame(Vector2 windowSize) at osu.Framework.Graphics.Veldrid.VeldridRenderer.BeginFrame(Vector2 windowSize) at osu.Framework.Platform.GameHost.DrawFrame() at osu.Framework.Threading.GameThread.processFrame() --- End of stack trace from previous location --- at osu.Framework.Platform.GameHost.<>c__DisplayClass142_0.<abortExecutionFromException>b__0() at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal() at osu.Framework.Threading.Scheduler.Update() at osu.Framework.Threading.GameThread.processFrame() at osu.Framework.Platform.ThreadRunner.RunMainLoop() at osu.Framework.Platform.SDL2.SDL2Window.RunMainLoop() at osu.Framework.Platform.SDL2.SDL2Window.Run() at osu.Framework.Platform.GameHost.Run(Game game) at osu.Desktop.Program.Main(String[] args)

Based on the suggestions, I’ll stick to fullscreen mode at 120Hz from now on, since it seems to completely avoid the crash. I really appreciate the time and insight. Let me know if you need more info! Thanks again.
Civil oath

VannyGod wrote:

Hey! Sorry for the delay in responding, I’ve been testing the game a bit more before replying.
I’ve experienced the crash again while using borderless window mode with x2 refresh rate (120fps on a 60Hz monitor), and I followed the instructions to check the Event Viewer.
Here’s the crash log I found:

- System

- Provider

[ Name] .NET Runtime

- EventID 1026

[ Qualifiers] 0

Version 0

Level 2

Task 0

Opcode 0

Keywords 0x80000000000000

- TimeCreated

[ SystemTime] 2025-07-22T03:46:21.9392022Z

EventRecordID 13269

Correlation

- Execution

[ ProcessID] 1912
[ ThreadID] 0

Channel Application

Computer Gio

Security


- EventData

Application: osu!.exe CoreCLR Version: 42.42.42.42424 .NET Version: 8.0.16 Description: The process was terminated due to an unhandled exception. Exception Info: SharpGen.Runtime.SharpGenException: HRESULT: [0x887A0005], Module: [Vortice.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: [La instancia de dispositivo de GPU se ha suspendido. Use GetDeviceRemovedReason para averiguar cuál es la acción adecuada. ] at SharpGen.Runtime.Result.ThrowFailureException() at Veldrid.D3D11.D3D11Texture..ctor(ID3D11Device device, TextureDescription& description) at Veldrid.ResourceFactory.CreateTexture(TextureDescription& description) at osu.Framework.Graphics.Veldrid.Textures.VeldridTexture.DoUpload(ITextureUpload upload) at osu.Framework.Graphics.Veldrid.Textures.VeldridTexture.Upload() at osu.Framework.Graphics.Rendering.Renderer.BeginFrame(Vector2 windowSize) at osu.Framework.Graphics.Veldrid.VeldridRenderer.BeginFrame(Vector2 windowSize) at osu.Framework.Platform.GameHost.DrawFrame() at osu.Framework.Threading.GameThread.processFrame() --- End of stack trace from previous location --- at osu.Framework.Platform.GameHost.<>c__DisplayClass142_0.<abortExecutionFromException>b__0() at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal() at osu.Framework.Threading.Scheduler.Update() at osu.Framework.Threading.GameThread.processFrame() at osu.Framework.Platform.ThreadRunner.RunMainLoop() at osu.Framework.Platform.SDL2.SDL2Window.RunMainLoop() at osu.Framework.Platform.SDL2.SDL2Window.Run() at osu.Framework.Platform.GameHost.Run(Game game) at osu.Desktop.Program.Main(String[] args)

Based on the suggestions, I’ll stick to fullscreen mode at 120Hz from now on, since it seems to completely avoid the crash. I really appreciate the time and insight. Let me know if you need more info! Thanks again.
Did you try to download latest graphic card driver?
Topic Starter
VannyGod
Hi Well, I noticed that if I changed the renderer to Vulkan (I had it set to D3D11 before), the game stops crashing! And the screen tearing feels way less noticeable. According to the in-game FPS counter, I get 120 FPS during gameplay with 4.2ms latency, and it's stable, I don't know if Vulkan affects gameplay in any way, but at least I didn't notice anything
I guess my issue is resolved now, so thanks to everyone who contributed :)
spaceman_atlas
The error you're getting is a weird one, we're aware of users getting this, but I've never been able to reproduce on any machine I had access to. So unless I magically run into this issue myself it's not likely it's going to get fixed.

Changing renderers is a valid move if it works but I would be careful with vulkan because we know that it's kind of broken. It may work for you but it may also crash and burn at any point and we will not fix it because it is kind of beyond saving - it's only staying in so that we don't get yelled at by people for removing functionality (even if it is half-broken). I'd recommend using OpenGL instead.
Please sign in to reply.

New reply