{"abstract":[{"text":"The amount of time, in frames, your app requests to render a frame.","type":"text"}],"hierarchy":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore","doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/preferredFrameLatency"},"kind":"symbol","legalNotices":{"copyright":"Copyright &copy; 2026 Apple Inc. All rights reserved.","privacyPolicy":"https:\/\/www.apple.com\/privacy\/privacy-policy","termsOfUse":"https:\/\/www.apple.com\/legal\/internet-services\/terms\/site.html"},"metadata":{"availableLanguages":["de-DE","en-US","es-419","fr-FR","it-IT","ja-JP","ko-KR","pt-BR","zh-CN"],"externalID":"c:objc(cs)CAMetalDisplayLink(py)preferredFrameLatency","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"preferredFrameLatency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sf","text":"Float"}],"modules":[{"name":"Core Animation"}],"navigatorTitle":[{"kind":"identifier","text":"preferredFrameLatency"}],"platforms":[{"introducedAt":"17.0","name":"iOS"},{"introducedAt":"17.0","name":"iPadOS"},{"introducedAt":"17.0","name":"Mac Catalyst"},{"introducedAt":"14.0","name":"macOS"},{"introducedAt":"17.0","name":"tvOS"},{"introducedAt":"1.0","name":"visionOS"}],"role":"symbol","roleHeading":"Instance Property","symbolKind":"property","title":"preferredFrameLatency"},"primaryContentSections":[{"declarations":[{"languages":["swift"],"platforms":["iOS","iPadOS","Mac Catalyst","macOS","tvOS","visionOS"],"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"preferredFrameLatency"},{"kind":"text","text":": "},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/Float","kind":"typeIdentifier","preciseIdentifier":"s:Sf","text":"Float"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" "},{"kind":"keyword","text":"set"},{"kind":"text","text":" }"}]}],"kind":"declarations"},{"content":[{"anchor":"Discussion","level":2,"text":"Discussion","type":"heading"},{"inlineContent":[{"text":"The final latency may be bigger if the system needs more time, such as for windowed modes on macOS.","type":"text"}],"type":"paragraph"},{"content":[{"inlineContent":[{"text":"","type":"text"},{"text":" ","type":"text"},{"text":"The only acceptable values are ","type":"text"},{"code":"1.0","type":"codeVoice"},{"text":" and ","type":"text"},{"code":"2.0","type":"codeVoice"},{"text":".","type":"text"}],"type":"paragraph"}],"name":"Important","style":"important","type":"aside"}],"kind":"content"}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"seeAlsoSections":[{"anchor":"Configuring-a-Display-Link","generated":true,"identifiers":["doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/preferredFrameRateRange","doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/delegate"],"title":"Configuring a Display Link"}],"variants":[{"paths":["\/documentation\/quartzcore\/cametaldisplaylink\/preferredframelatency"],"traits":[{"interfaceLanguage":"swift"}]},{"paths":["\/documentation\/quartzcore\/cametaldisplaylink\/preferredframelatency"],"traits":[{"interfaceLanguage":"occ"}]}],"references":{"doc://com.apple.documentation/documentation/Swift/Float":{"abstract":[{"text":"A single-precision (32-bit), floating-point value type.","type":"text"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Float"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/Float","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Float"}],"role":"symbol","title":"Float","type":"topic","url":"\/documentation\/swift\/float"},"doc://com.apple.documentation/documentation/technologies":{"abstract":[],"identifier":"doc:\/\/com.apple.documentation\/documentation\/technologies","kind":"technologies","role":"overview","title":"Technologies","type":"topic","url":"\/documentation\/technologies"},"doc://com.apple.quartzcore/documentation/QuartzCore":{"abstract":[{"text":"Render, compose, and animate visual elements.","type":"text"}],"identifier":"doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore","kind":"symbol","navigatorTitle":[{"kind":"text","text":"Core Animation"}],"role":"collection","title":"Core Animation","type":"topic","url":"\/documentation\/quartzcore"},"doc://com.apple.quartzcore/documentation/QuartzCore/CAMetalDisplayLink":{"abstract":[{"text":"A class your Metal app uses to register for callbacks to synchronize its animations for a display.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"CAMetalDisplayLink"}],"identifier":"doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CAMetalDisplayLink"}],"role":"symbol","title":"CAMetalDisplayLink","type":"topic","url":"\/documentation\/quartzcore\/cametaldisplaylink"},"doc://com.apple.quartzcore/documentation/QuartzCore/CAMetalDisplayLink/delegate":{"abstract":[{"text":"An instance of a type your app implements that responds to the system’s callbacks.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"delegate"},{"kind":"text","text":": (any "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(pl)CAMetalDisplayLinkDelegate","text":"CAMetalDisplayLinkDelegate"},{"kind":"text","text":")?"}],"identifier":"doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/delegate","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"delegate"}],"role":"symbol","title":"delegate","type":"topic","url":"\/documentation\/quartzcore\/cametaldisplaylink\/delegate"},"doc://com.apple.quartzcore/documentation/QuartzCore/CAMetalDisplayLink/preferredFrameLatency":{"abstract":[{"text":"The amount of time, in frames, your app requests to render a frame.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"preferredFrameLatency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sf","text":"Float"}],"identifier":"doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/preferredFrameLatency","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"preferredFrameLatency"}],"role":"symbol","title":"preferredFrameLatency","type":"topic","url":"\/documentation\/quartzcore\/cametaldisplaylink\/preferredframelatency"},"doc://com.apple.quartzcore/documentation/QuartzCore/CAMetalDisplayLink/preferredFrameRateRange":{"abstract":[{"text":"A range of frequencies your app allows for frame updates, affecting how often the system invokes your delegate’s callback.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"preferredFrameRateRange"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:@S@CAFrameRateRange","text":"CAFrameRateRange"}],"identifier":"doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/preferredFrameRateRange","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"preferredFrameRateRange"}],"role":"symbol","title":"preferredFrameRateRange","type":"topic","url":"\/documentation\/quartzcore\/cametaldisplaylink\/preferredframeraterange"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/identifier\/interfaceLanguage","value":"occ"},{"op":"replace","path":"\/metadata\/platforms","value":[{"introducedAt":"17.0","name":"iOS"},{"introducedAt":"17.0","name":"iPadOS"},{"introducedAt":"17.0","name":"Mac Catalyst"},{"introducedAt":"14.0","name":"macOS"},{"introducedAt":"17.0","name":"tvOS"},{"introducedAt":"1.0","name":"visionOS"}]},{"op":"replace","path":"\/metadata\/roleHeading","value":"Instance Property"},{"op":"replace","path":"\/metadata\/title","value":"preferredFrameLatency"},{"op":"replace","path":"\/metadata\/symbolKind","value":"property"},{"op":"replace","path":"\/metadata\/fragments","value":[{"kind":"identifier","text":"preferredFrameLatency"}]},{"op":"replace","path":"\/hierarchy","value":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore","doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink"]]}},{"op":"add","path":"\/topicSections","value":null},{"op":"add","path":"\/relationshipsSections","value":null},{"op":"replace","path":"\/seeAlsoSections","value":[{"anchor":"Configuring-a-Display-Link","generated":true,"identifiers":["doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/preferredFrameRateRange","doc:\/\/com.apple.quartzcore\/documentation\/QuartzCore\/CAMetalDisplayLink\/delegate"],"title":"Configuring a Display Link"}]},{"op":"replace","path":"\/primaryContentSections\/0","value":{"declarations":[{"languages":["occ"],"platforms":["iOS","iPadOS","Mac Catalyst","macOS","tvOS","visionOS"],"tokens":[{"kind":"keyword","text":"@property"},{"kind":"text","text":" ("},{"kind":"keyword","text":"nonatomic"},{"kind":"text","text":") "},{"kind":"typeIdentifier","preciseIdentifier":"c:f","text":"float"},{"kind":"text","text":" "},{"kind":"identifier","text":"preferredFrameLatency"},{"kind":"text","text":";"}]}],"kind":"declarations"}},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink\/title","value":"CAMetalDisplayLink"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink\/fragments","value":[{"kind":"identifier","text":"CAMetalDisplayLink"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink\/navigatorTitle","value":[{"kind":"identifier","text":"CAMetalDisplayLink"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink~1delegate\/title","value":"delegate"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink~1delegate\/fragments","value":[{"kind":"identifier","text":"delegate"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink~1preferredFrameLatency\/title","value":"preferredFrameLatency"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink~1preferredFrameLatency\/fragments","value":[{"kind":"identifier","text":"preferredFrameLatency"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink~1preferredFrameRateRange\/title","value":"preferredFrameRateRange"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.quartzcore~1documentation~1QuartzCore~1CAMetalDisplayLink~1preferredFrameRateRange\/fragments","value":[{"kind":"identifier","text":"preferredFrameRateRange"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}