From 3074e200c6f7b302bd63f7d3d76947cc54507bed Mon Sep 17 00:00:00 2001 From: Dan Raffel Date: Sun, 1 Mar 2026 12:18:31 -0800 Subject: [PATCH] Cap MTKView to 60 FPS on macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On ProMotion displays (MacBook Pro 14"/16"), MTKView renders at 120 FPS by default. For UI rendering this doubles GPU usage with no visible benefit — UI elements don't need to update faster than 60 Hz. This is especially relevant for audio plugins where GPU resources are shared with the host application and other plugins. --- visage_windowing/macos/windowing_macos.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/visage_windowing/macos/windowing_macos.mm b/visage_windowing/macos/windowing_macos.mm index e90bf06..5d34751 100644 --- a/visage_windowing/macos/windowing_macos.mm +++ b/visage_windowing/macos/windowing_macos.mm @@ -357,7 +357,7 @@ - (instancetype)initWithFrame:(NSRect)frame_rect inWindow:(visage::WindowMac*)wi self.enableSetNeedsDisplay = NO; self.framebufferOnly = YES; self.layerContentsPlacement = NSViewLayerContentsPlacementTopLeft; - self.preferredFramesPerSecond = 120; + self.preferredFramesPerSecond = 60; [self registerForDraggedTypes:@[NSPasteboardTypeFileURL]]; self.drag_source = [[VisageDraggingSource alloc] init];