SpriteKit framerate drop on iOS 26.4 (ongoing for months)

I have noticed that the performance drop on SpriteKit-based projects running on iOS 26 is still ongoing

With iOS 26 back in Sep 2025 a framerate problem was introduced. My app was always running smoothly with 60fps even on very old devices suddenly started to stutter with 40fps - and lower on a rather normal iPhone 13.

This problem continued with BETA 26.1 The problem was fixed in 26.2. But 26.3 brought the problem back and its still ongoing with 26.4 of yesterday

This is easily reproducible with a very simple example

//
//  BareboneSpriteKitApp.swift
//  BareboneSpriteKit
//
//  Created by Bernd Beyreuther on 24.02.26.
//

import SwiftUI
import SpriteKit

@main
struct BareboneSpriteKitApp: App {
    var body: some Scene {
        WindowGroup {
            BareboneSceneView()
        }
    }
}

final class BareboneScene: SKScene {
    override func didMove(to view: SKView) {
        size = view.bounds.size
        scaleMode = .resizeFill
        anchorPoint = CGPoint(x: 0.5, y: 0.5)
        backgroundColor = .darkGray

        let  s = SKSpriteNode(color: .cyan, size: CGSize(width: 64, height: 64))
        addChild(s)
        let action = SKAction.rotate(byAngle: .pi, duration: 2)
        s.run(.repeatForever(action))
        
        let  t = SKLabelNode(text: deviceInfoString())
        t.fontSize = 15
        t.position.y = -100
        addChild(t)
    }
}

struct BareboneSceneView: View {
    var body: some View {
        SpriteView(
            scene: BareboneScene(),
            debugOptions: [.showsFPS]
        )
        .ignoresSafeArea()
    }
}

func deviceInfoString() -> String {
    let os = ProcessInfo.processInfo.operatingSystemVersion
    let osString = "iOS \(os.majorVersion).\(os.minorVersion).\(os.patchVersion)"

    let model = UIDevice.current.model // "iPhone", "iPad"
    let machine = {
        var sysinfo = utsname()
        uname(&sysinfo)
        return withUnsafePointer(to: &sysinfo.machine) { ptr -> String in
            ptr.withMemoryRebound(to: CChar.self, capacity: 1) { cptr in
                String(cString: cptr)
            }
        }
    }() // z.B. "iPhone15,2"

    return "Model Identifier: \(model) (\(machine)),  \(osString)"
}

I file a bugreport via Feedback Assistant FB22038921

The problem is no around for such a long time ! This is deeply concerning, because it questions if it is really feasable to continue to develop using Spritekit ?

SpriteKit framerate drop on iOS 26.4 (ongoing for months)
 
 
Q