[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:it":3,"public-menus:all":45,"post:why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained:it":531,"related:post:why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained:it:1":1741},{"statusCode":4,"data":5,"message":44},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":14,"robotsIndex":15,"socialLinks":14,"reservedSlugs":14,"seoPolicy":16},"figure","it","en","https:\u002F\u002Ffigure.rocks","info@stajic.de","Figure Rocks","\u002Ffavicon-32x32.png","",null,true,{"branding":17,"relatedContent":18,"crossDomainLinks":19},{"logoUrl":12},{"enabled":15},[20,23,26,29,32,35,38,41],{"url":21,"label":22,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":24,"label":25,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fstajic.de","stajic.de",{"url":27,"label":28,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fbazify.com","bazify.com",{"url":30,"label":31,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fbazify.de","bazify.de",{"url":33,"label":34,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002F2mesta.com","2mesta.com",{"url":36,"label":37,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002F2mesta.de","2mesta.de",{"url":39,"label":40,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fbazify.at","bazify.at",{"url":42,"label":43,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fweb-hoch3.de","web-hoch3.de","Portal settings resolved",[46],{"id":47,"name":48,"location":49,"isActive":15,"isDefault":15,"items":50},2,"Main Menu","sidebar",[51,65,189,282,358,424],{"id":52,"title":53,"url":61,"target":62,"icon":63,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":64},"1",{"de":54,"en":55,"es":56,"fr":57,"it":55,"ru":58,"sr":59,"zh":60},"Startseite","Home","Inicio","Accueil","Главная","Početna","首页","\u002F","_self","i-lucide-home",[],{"id":66,"title":67,"url":76,"target":62,"icon":77,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":78},"3",{"de":68,"en":69,"es":70,"fr":71,"it":72,"ru":73,"sr":74,"zh":75},"Spiele","Games","Juegos","Jeux","Giochi","Игры","Igre","游戏","\u002Fgames","i-lucide-gamepad-2",[79,92,107,121,135,148,162,176],{"id":80,"title":81,"url":76,"target":62,"icon":90,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":91},"3-1",{"de":82,"en":83,"es":84,"fr":85,"it":86,"ru":87,"sr":88,"zh":89},"Spiele-Hub","Games Hub","Centro de juegos","Hub de jeux","Hub Giochi","Игровой центр","Centar za igre","游戏中心","i-lucide-layout-grid",[],{"id":93,"title":94,"url":103,"target":62,"icon":104,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":106},"1-1",{"de":95,"en":96,"es":97,"fr":98,"it":99,"ru":100,"sr":101,"zh":102},"Neu & Angesagt","New & Trending","Novedades & Tendencias","Nouveautés & Tendances","Novità & Tendenze","Новинки & тренды","Novo & Popularno","新品 & 热门","\u002Fnews\u002Fgaming-news","i-lucide-sparkles","custom",[],{"id":108,"title":109,"url":118,"target":62,"icon":119,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":120},"1-2",{"de":110,"en":111,"es":112,"fr":113,"it":114,"ru":115,"sr":116,"zh":117},"Angebote","Deals","Ofertas","Offres","Offerte","Акции","Ponude","优惠","\u002Fdeals","i-lucide-badge-percent",[],{"id":122,"title":123,"url":132,"target":62,"icon":133,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":134},"1-3",{"de":124,"en":125,"es":126,"fr":127,"it":128,"ru":129,"sr":130,"zh":131},"Release-Kalender","Release Calendar","Calendario de lanzamientos","Calendrier des sorties","Calendario delle uscite","Календарь релизов","Kalendar izdanja","发布日历","\u002Freleases","i-lucide-calendar-days",[],{"id":136,"title":137,"url":145,"target":62,"icon":146,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":147},"3-2",{"de":138,"en":139,"es":140,"fr":141,"it":142,"sr":143,"zh":144},"amiibo-kompatible Spiele","amiibo-Compatible Games","Juegos compatibles con Amiibo","Jeux compatibles Amiibo","Giochi compatibili con amiibo","Amiibo kompatibilne igre","Amiibo 兼容游戏","\u002Freference\u002Fcompatibility","i-lucide-check-circle-2",[],{"id":149,"title":150,"url":159,"target":62,"icon":160,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":161},"3-3",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Wie amiibo funktionieren","How amiibo work","Cómo funcionan los Amiibo","Comment fonctionnent les Amiibo","Come funzionano gli Amiibo","Как работают Amiibo","Kako Amiibo rade","Amiibo 如何运作","\u002Fgames\u002Fhow-amiibo-unlocks-work","i-lucide-puzzle",[],{"id":163,"title":164,"url":173,"target":62,"icon":174,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":175},"3-4",{"de":165,"en":166,"es":167,"fr":168,"it":169,"ru":170,"sr":171,"zh":172},"Beste Amiibo pro Spiel","Best amiibo per Game","Mejores Amiibo por juego","Meilleurs Amiibo par jeu","Migliori Amiibo per gioco","Лучшие Amiibo по играм","Najbolji Amiibo po igri","各游戏最佳 Amiibo","\u002Fgames\u002Fbest-amiibo-per-game","i-lucide-award",[],{"id":177,"title":178,"url":186,"target":62,"icon":187,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":188},"3-5",{"de":179,"en":180,"es":181,"fr":182,"it":183,"ru":184,"sr":185},"Freischaltbares & Belohnungen","Unlockables & Rewards","Desbloqueables & Recompensas","Déblocables & Récompenses","Sbloccabili & Ricompense","Разблокировки & награды","Otključavanja & nagrade","\u002Fgames\u002Funlocks-and-benefits","i-lucide-gift",[],{"id":190,"title":191,"url":199,"target":62,"icon":200,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":201},"4",{"de":192,"en":193,"es":194,"it":195,"ru":196,"sr":197,"zh":198},"Sammeln","Collecting","Coleccionismo","Collezionismo","Коллекционирование","Kolekcionarstvo","收藏","\u002Fcollecting","i-lucide-gem",[202,213,227,240,254,268],{"id":203,"title":204,"url":211,"target":62,"icon":90,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":212},"4-1",{"de":205,"en":206,"fr":207,"it":208,"ru":209,"zh":210},"Sammel-Hub","Collecting Hub","Hub de collecte","Hub di raccolta","Центр сбора","收藏中心","\u002Famiibo\u002Fcollecting",[],{"id":214,"title":215,"url":224,"target":62,"icon":225,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":226},"4-2",{"de":216,"en":217,"es":218,"fr":219,"it":220,"ru":221,"sr":222,"zh":223},"Kaufberatung","Buying Guide","Guía de compra","Guide d'achat","Guida all'acquisto","Гид покупателя","Vodič za kupovinu","购买指南","\u002Famiibo-library\u002Famiibo-buying-smart","i-lucide-shopping-bag",[],{"id":228,"title":229,"url":237,"target":62,"icon":238,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":239},"4-3",{"de":230,"en":230,"es":231,"fr":232,"it":233,"ru":234,"sr":235,"zh":236},"Fake vs Real","Falso vs. Real","Faux vs Vrai","Falso vs Vero","Фейк vs Оригинал","Lažno vs Pravo","真假对比","\u002Famiibo-library\u002Famiibo-buying-smart\u002Favoid-fake-listings","i-lucide-scan",[],{"id":241,"title":242,"url":251,"target":62,"icon":252,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":253},"4-4",{"de":243,"en":244,"es":245,"fr":246,"it":247,"ru":248,"sr":249,"zh":250},"Aufbewahrung & Präsentation","Storage & Display","Almacenamiento & exhibición","Rangement & Présentation","Contenitori & Esposizione","Хранение & витрины","Odlaganje & izlaganje","存储 & 展示","\u002Famiibo-library\u002Famiibo-care-and-storage","i-lucide-box",[],{"id":255,"title":256,"url":265,"target":62,"icon":266,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":267},"4-5",{"de":257,"en":258,"es":259,"fr":260,"it":261,"ru":262,"sr":263,"zh":264},"Preisübersicht","Price Guide","Guía de precios","Guide des prix","Guida ai prezzi","Гид по ценам","Cenovnik","价格指南","\u002Fcollections\u002Fprice-guide","i-lucide-bar-chart-3",[],{"id":269,"title":270,"url":279,"target":62,"icon":280,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":281},"4-6",{"de":271,"en":272,"es":273,"fr":274,"it":275,"ru":276,"sr":277,"zh":278},"Raritäten","Rare Finds","Hallazgos únicos","Trouvailles rares","Pezzi rari","Редкие находки","Retki nalazi","稀有发现","\u002Fcollections\u002Frare-and-notable","i-lucide-trophy",[],{"id":283,"title":284,"url":292,"target":62,"icon":293,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":294},"5",{"de":285,"en":286,"es":287,"fr":286,"it":288,"ru":289,"sr":290,"zh":291},"Technik","Tech","Tecnología","Tecnologia","Технологии","Tehnologija","科技","\u002Ftech","i-lucide-cpu",[295,306,318,331,344],{"id":296,"title":297,"url":292,"target":62,"icon":90,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":305},"5-1",{"de":298,"en":298,"es":299,"fr":300,"it":301,"ru":302,"sr":303,"zh":304},"Tech Hub","Centro tecnológico","Hub Tech","Hub Tecnologico","Технохаб","Tehnološki centar","科技中心",[],{"id":307,"title":308,"url":315,"target":62,"icon":316,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":317},"5-2",{"de":309,"en":310,"fr":311,"it":312,"ru":313,"zh":314},"Audio- & Mikrofonqualität","Audio & Mic Quality","Qualité audio & micro","Qualità audio & mic","Качество звука & микрофона","音频 & 麦克风质量","\u002Fgear\u002Faudio","i-lucide-mic",[],{"id":319,"title":320,"url":328,"target":62,"icon":329,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":330},"5-3",{"de":321,"en":322,"es":323,"fr":324,"it":325,"sr":326,"zh":327},"Controller & Zubehör","Controllers & Accessories","Mandos & accesorios","Manettes & accessoires","Controller & Accessori","Kontroleri & dodatna oprema","控制器 & 配件","\u002Fgear\u002Fcontrols","i-lucide-joystick",[],{"id":332,"title":333,"url":341,"target":62,"icon":342,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":343},"5-4",{"de":334,"en":335,"es":336,"fr":337,"it":338,"ru":339,"sr":340},"Displays & Aufnahme","Displays & Capture","Pantallas & Captura","Écrans & Capture","Display & Acquisizione","Дисплеи & Захват","Ekrani & snimanje","\u002Fgear\u002Fdisplays","i-lucide-monitor",[],{"id":345,"title":346,"url":355,"target":62,"icon":356,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":357},"5-5",{"de":347,"en":348,"es":349,"fr":350,"it":351,"ru":352,"sr":353,"zh":354},"Netzwerkstabilität","Network Stability","Estabilidad de la red","Stabilité du réseau","Stabilità della rete","Стабильность сети","Stabilnost mreže","网络稳定性","\u002Fplaybooks\u002Fnetwork-stability","i-lucide-wifi",[],{"id":359,"title":360,"url":368,"target":62,"icon":369,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":370},"6",{"de":361,"en":361,"es":362,"fr":363,"it":364,"ru":365,"sr":366,"zh":367},"Shop","Tienda","Boutique","Negozio","Магазин","Prodavnica","商店","\u002Fshop","i-lucide-shopping-cart",[371,383,391,399,412],{"id":372,"title":373,"url":368,"target":62,"icon":381,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":382},"6-1",{"de":374,"en":375,"es":376,"fr":377,"ru":378,"sr":379,"zh":380},"Shop-Hub","Shop Hub","Centro de compras","Espace Boutique","Центр магазина","Centar za kupovinu","购物中心","i-lucide-store",[],{"id":384,"title":385,"url":388,"target":62,"icon":389,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":390},"6-2",{"de":386,"en":386,"es":387,"fr":387,"it":387,"sr":387,"zh":387},"amiibo","Amiibo","\u002Famiibo-shop","i-lucide-scan-line",[],{"id":392,"title":393,"url":396,"target":62,"icon":397,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":398},"6-3",{"de":394,"en":394,"es":394,"fr":394,"it":394,"ru":394,"sr":394,"zh":395},"LEGO","乐高","\u002Flego-shop","i-lucide-blocks",[],{"id":400,"title":401,"url":409,"target":62,"icon":410,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":411},"6-4",{"de":402,"en":403,"es":404,"fr":405,"it":406,"sr":407,"zh":408},"Figuren & Sammlerstücke","Figures & Collectibles","Figuras & Coleccionables","Figurines & Objets de collection","Figure & Collezionismo","Figure & kolekcionarstvo","手办 & 收藏品","\u002Fshop\u002Ffigures","i-lucide-package",[],{"id":413,"title":414,"url":421,"target":62,"icon":422,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":423},"6-5",{"de":415,"en":415,"fr":416,"it":417,"ru":418,"sr":419,"zh":420},"Gaming Gear","Équipement gaming","Accessori gaming","Игровое снаряжение","Gejming oprema","游戏装备","\u002Fgaming-gear-shop","i-lucide-headphones",[],{"id":425,"title":426,"url":427,"target":62,"icon":389,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":428},"2",{"de":386,"en":386,"es":386,"fr":386,"it":386,"ru":386,"sr":386,"zh":386},"\u002Famiibo",[429,440,447,461,475,489,503,517],{"id":430,"title":431,"url":427,"target":62,"icon":90,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":439},"2-1",{"de":432,"en":433,"es":434,"fr":435,"it":435,"ru":436,"sr":437,"zh":438},"amiibo-Hub","amiibo Hub","Centro amiibo","Hub amiibo","Хаб amiibo","amiibo centar","amiibo 中心",[],{"id":441,"title":442,"url":444,"target":62,"icon":445,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":446},"1772724791061",{"de":443,"en":443},"Franchise","\u002Famiibo\u002Ffranchise","i-lucide-star",[],{"id":448,"title":449,"url":458,"target":62,"icon":459,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":460},"2-3",{"de":450,"en":451,"es":452,"fr":453,"it":454,"ru":455,"sr":456,"zh":457},"Region & Verpackung (EU\u002FUS\u002FJP)","Region & Packaging (EU\u002FUS\u002FJP)","Región y embalaje (UE\u002FEE. UU.\u002FJP)","Région & Emballage (UE\u002FUS\u002FJP)","Regione & Confezione (EU\u002FUS\u002FJP)","Регион & упаковка (EU\u002FUS\u002FJP)","Region & pakovanje (EU\u002FUS\u002FJP)","地区 & 包装 (EU\u002FUS\u002FJP)","\u002Famiibo-library\u002Famiibo-editions-and-regions","i-lucide-globe",[],{"id":462,"title":463,"url":472,"target":62,"icon":473,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":474},"2-4",{"de":464,"en":465,"es":466,"fr":467,"it":468,"ru":469,"sr":470,"zh":471},"Schnellidentifikations-Checkliste","Fast Identification Checklist","Lista de identificación rápida","Liste d'identification rapide","Checklist identificazione rapida","Чек-лист быстрой идентификации","Kontrolna lista za brzu identifikaciju","快速识别清单","\u002Famiibo\u002Fidentify-checklist","i-lucide-list-checks",[],{"id":476,"title":477,"url":486,"target":62,"icon":487,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":488},"2-6",{"de":478,"en":479,"es":480,"fr":481,"it":482,"ru":483,"sr":484,"zh":485},"Tipps für Sealed-Sammlungen","Sealed Collection Tips","Consejos de colección sellada","Conseils collection scellée","Consigli collezione sigillata","Советы по коллекции Sealed","Saveti za zapečaćene kolekcije","密封收藏贴士","\u002Famiibo\u002Fsealed-tips","i-lucide-shield-check",[],{"id":490,"title":491,"url":500,"target":62,"icon":501,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":502},"2-5",{"de":492,"en":493,"es":494,"fr":495,"it":496,"ru":497,"sr":498,"zh":499},"Zustand & Bewertung","Condition & Grading","Estado & Graduación","État & Évaluation","Condizioni & Valutazione","Состояние & Оценка","Stanje & ocenjivanje","品相与分级","\u002Famiibo-library\u002Famiibo-condition-and-grading","i-lucide-badge-check",[],{"id":504,"title":505,"url":514,"target":62,"icon":515,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":516},"2-2",{"de":506,"en":507,"es":508,"fr":509,"it":510,"ru":511,"sr":512,"zh":513},"Ausgaben & Nachdrucke","Editions & Reprints","Ediciones & Reimpresiones","Éditions & Réimpressions","Edizioni & ristampe","Издания & переиздания","Izdanja & reizdanja","版本 & 重印","\u002Famiibo\u002Fcollecting\u002F","i-lucide-layers",[],{"id":518,"title":519,"url":528,"target":62,"icon":529,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":530},"2-7",{"de":520,"en":521,"es":522,"fr":523,"it":524,"ru":525,"sr":526,"zh":527},"Nachdruck-Timeline","Reprint Timeline","Cronología de reimpresión","Chronologie des réimpressions","Cronologia ristampe","Хронология переизданий","Hronologija reprinta","重印时间轴","\u002Freference\u002Ftimelines\u002Famiibo-reprint-timeline","i-lucide-timer",[],{"statusCode":4,"data":532,"message":1740},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1079,"featuredImage":1080,"featuredImageAlt":1081,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":821,"status":1082,"publishedAt":1083,"createdAt":1084,"updatedAt":1085,"seoLocalePaths":1086,"categories":1095,"author":1108,"translations":1112},"439","Perché 120 FPS possono comunque risultare scadenti: tempo di frame, minimi dell'1% e stutter spiegati","why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u003Cp>Un gioco può riportare 120, 144 o anche 200 FPS e sembrare comunque scattoso. Il motivo è semplice: il frame rate medio indica quanti fotogrammi sono stati prodotti nel tempo, ma non dice se quei fotogrammi sono arrivati in modo uniforme. Pochi fotogrammi lunghi possono creare scatti visibili o micro-stutter anche quando il numero medio di FPS sembra eccellente.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Risposta diretta\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>Un FPS medio elevato non garantisce un gameplay fluido.\u003C\u002Fstrong> La fluidità dipende dalla coerenza del frame time: quanto uniformemente vengono consegnati i fotogrammi. Per diagnosticare lo stutter, guarda i frame time, le metriche percentile o low-FPS e i tempi CPU\u002FGPU, non solo gli FPS medi.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Il modello utilizzato in questo articolo\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Il Triangolo della Fluidità e il Test di Stabilità del Frame-Time di seguito sono modelli pratici di Figure Rocks. Non sono terminologia formale di Intel, NVIDIA o Microsoft.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Contenuti\">\u003Cstrong class=\"editorjs-toc__title\">Contenuti\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-5\" class=\"editorjs-toc__link\">Gli FPS sono una media; il frame time è il ritmo\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-9\" class=\"editorjs-toc__link\">Il Triangolo della Fluidità\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-12\" class=\"editorjs-toc__link\">Perché gli FPS medi nascondono lo stutter\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Cosa cercano di mostrare gli 1% lows\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">I grafici dei tempi frame sono spesso più utili di un singolo numero riassuntivo\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">Il test di stabilità dei tempi frame\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-26\" class=\"editorjs-toc__link\">Collo di bottiglia CPU e collo di bottiglia GPU non hanno lo stesso aspetto\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-31\" class=\"editorjs-toc__link\">Perché un frame cap a volte può risultare più fluido degli FPS massimi\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-35\" class=\"editorjs-toc__link\">Cause comuni di stutter con FPS elevati\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-37\" class=\"editorjs-toc__link\">La compilazione degli shader è un caso particolare\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-41\" class=\"editorjs-toc__link\">Il VRR non ripara i tempi frame scadenti\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Perché i minimi dello 0,1% possono diventare rumorosi\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Un protocollo di benchmark pratico\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-50\" class=\"editorjs-toc__link\">Il Frame-Time Stability Scorecard\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">Cosa cambierebbe questa risposta?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-55\" class=\"editorjs-toc__link\">Limitazioni\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">Conclusione\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-61\" class=\"editorjs-toc__link\">FAQ\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-63\" class=\"editorjs-toc__link\">Glossario\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Fonti primarie\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-5\">Gli FPS sono una media; il frame time è il ritmo\u003C\u002Fh2>\n\u003Cp>Gli FPS indicano quanti fotogrammi vengono completati al secondo. Il frame time indica quanto tempo impiega un singolo fotogramma.\u003C\u002Fp>\n\u003Cp>La conversione approssimativa è semplice: il frame time in millisecondi è approssimativamente 1000 diviso per gli FPS. A 60 FPS, il budget del fotogramma è di circa 16,7 ms. A 120 FPS è di circa 8,3 ms. A 144 FPS è di circa 6,9 ms.\u003C\u002Fp>\n\u003Cp>Ma quei numeri hanno senso solo se la consegna dei fotogrammi è ragionevolmente coerente. Una sequenza di 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms può comunque avere una media di FPS elevata pur producendo uno scatto evidente.\u003C\u002Fp>\n\u003Ch2 id=\"section-9\">Il Triangolo della Fluidità\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Tre cose diverse determinano quanto veloce sembra un gioco\u003C\u002Fh3>\u003Cdiv class=\"flex flex-col sm:flex-row gap-3\">\u003Cdiv class=\"editorjs-process__step min-w-0 flex-1 rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Throughput\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">FPS medi: quanti fotogrammi il sistema produce nel tempo.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__arrow shrink-0 self-center text-xl text-gray-400 rotate-90 sm:rotate-0\" aria-hidden=\"true\">→\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0 flex-1 rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Coerenza\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Distribuzione del frame time: se i fotogrammi arrivano con una cadenza stabile o contengono outlier lunghi.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__arrow shrink-0 self-center text-xl text-gray-400 rotate-90 sm:rotate-0\" aria-hidden=\"true\">→\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0 flex-1 rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Reattività\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Latenza: quanto tempo impiegano input e lavoro di gioco a produrre un fotogramma visibile.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>Un sistema può essere forte in un angolo e debole in un altro. FPS elevati con frame time instabili possono sembrare scattosi. Rendering stabile con latenza molto alta può sembrare fluido ma lento. Una buona ottimizzazione delle prestazioni deve identificare quale angolo sta effettivamente fallendo.\u003C\u002Fp>\n\u003Ch2 id=\"section-12\">Perché gli FPS medi nascondono lo stutter\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Due sessioni possono avere gli stessi FPS medi e sembrare diverse\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Sessione stabile\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Sessione instabile\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">FPS medi\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">120 FPS\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">120 FPS\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Maggior parte dei frame time\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Around 8–9 ms\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Mostly 5–7 ms\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Fotogrammi lenti\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Few meaningful spikes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Repeated 25–50 ms spikes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Esperienza del giocatore\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Consistent motion\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Hitches despite the high average\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>La sessione instabile può compensare i fotogrammi lunghi renderizzando molti fotogrammi molto veloci tra i picchi. La media rimane alta, ma il giocatore nota i picchi piuttosto che la media aritmetica.\u003C\u002Fp>\n\u003Ch2 id=\"section-15\">Cosa cercano di mostrare gli 1% lows\u003C\u002Fh2>\n\u003Cp>Le metriche low-FPS e percentile esistono perché gli FPS medi da soli non possono descrivere l'estremità lenta della distribuzione dei fotogrammi.\u003C\u002Fp>\n\u003Cp>NVIDIA FrameView riporta gli FPS medi insieme alle metriche 1% Low e 0,1% Low. La sua documentazione descrive 1% Low come la media dell'1% più lento dei fotogrammi, e osserva che più il valore low-FPS è vicino alla media, più l'esperienza tende a essere coerente.\u003C\u002Fp>\n\u003Cp>NVIDIA espone anche metriche basate su percentile come il frame rate che separa l'1% più lento dei fotogrammi dal 99% più veloce. Questi sono concetti correlati, ma non tutti gli strumenti di benchmark implementano o etichettano le statistiche low-FPS esattamente allo stesso modo.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Non confrontare ogni numero di “1% low” come se la formula fosse universale\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Strumenti diversi possono calcolare, aggregare o etichettare in modo diverso le statistiche su FPS bassi e percentili. Confronta i risultati dello \u003Cstrong>stesso strumento e della stessa metodologia\u003C\u002Fstrong> quando possibile.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-20\">I grafici dei tempi frame sono spesso più utili di un singolo numero riassuntivo\u003C\u002Fh2>\n\u003Cp>Un grafico dei tempi frame mostra la temporizzazione dei frame durante la cattura. Una banda piatta o stretta di solito indica una distribuzione costante. Picchi isolati elevati rivelano intoppi. Onde ripetute possono indicare lavoro periodico in background, streaming, sincronizzazione o un altro carico ricorrente.\u003C\u002Fp>\n\u003Cp>Intel PresentMon è progettato per questo tipo di analisi. Lo strumento attuale di Intel può mostrare grafici delle prestazioni in tempo reale, percentili, medie a finestra mobile e telemetria GPU, e supporta applicazioni DirectX, OpenGL e Vulkan.\u003C\u002Fp>\n\u003Cp>Allo stesso modo, NVIDIA FrameView misura frame rate e tempo frame e può scrivere dati di cattura dettagliati nei log per analisi successive.\u003C\u002Fp>\n\u003Ch2 id=\"section-24\">Il test di stabilità dei tempi frame\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Diagnosticare se FPS elevati stanno nascondendo stutter\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Cattura una scena ripetibile\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Usa lo stesso percorso, benchmark, punto di salvataggio o sequenza di gioco in modo che esecuzioni diverse siano confrontabili.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Registra gli FPS medi\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Considerali come throughput, non come verdetto finale sulla fluidità.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Ispeziona la coerenza dei tempi frame\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Cerca picchi isolati, picchi ripetuti, varianza ampia o lunghi cluster di frame lenti.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Controlla le metriche di FPS bassi o percentili\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Grandi differenze tra media e metriche dei frame lenti sono un avviso che la distribuzione è incoerente.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Confronta la temporizzazione CPU e GPU\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Determina se il frame lento ha origine prima della GPU, sulla GPU o da un'altra parte della pipeline.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Cambia una variabile alla volta\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Testa indipendentemente frame cap, impostazioni grafiche, processi in background, stato degli shader, percorso di archiviazione o impostazioni di driver\u002Fgioco.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Ripeti la stessa cattura\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Una correzione è significativa solo se la distribuzione dei tempi frame migliora in condizioni comparabili.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-26\">Collo di bottiglia CPU e collo di bottiglia GPU non hanno lo stesso aspetto\u003C\u002Fh2>\n\u003Cp>Un frame rate basso non ti dice quale processore è responsabile del ritardo. La CPU prepara il lavoro di gioco e rendering; la GPU esegue il lavoro grafico. Entrambe le parti possono diventare il limite del ritmo.\u003C\u002Fp>\n\u003Cp>La metrica GPU Busy di Intel PresentMon è specificamente pensata per aiutare a valutare la relazione tra tempo di esecuzione GPU e tempo frame totale. Questo può aiutare a distinguere i frame in cui la GPU è occupata per la maggior parte dell'intervallo dai frame in cui gran parte del ritardo avviene altrove.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Schemi di temporizzazione semplificati\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Schema di temporizzazione tipico\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Cosa può suggerire\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Limitato dalla GPU\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">GPU busy time is close to the frame interval\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">The graphics workload is consuming most of the available frame budget\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Limitato da CPU \u002F pipeline\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Frame time grows while GPU busy time remains materially lower\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">The delay may be before GPU execution or elsewhere in the presentation pipeline\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Evento intermittente\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Mostly stable timing with isolated large spikes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Streaming, shader compilation, background work, asset loading or another transient event may be involved\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Questa è evidenza diagnostica, non un verdetto automatico\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Gli schemi di temporizzazione restringono lo spazio di ricerca. Non provano da soli una causa specifica.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-31\">Perché un frame cap a volte può risultare più fluido degli FPS massimi\u003C\u002Fh2>\n\u003Cp>Eseguire un gioco agli FPS massimi possibili senza cap può mantenere una parte del sistema vicina alla saturazione. In alcuni carichi di lavoro, lasciare margine può ridurre la volatilità della temporizzazione e produrre una cadenza più stabile.\u003C\u002Fp>\n\u003Cp>Ciò non significa che ogni gioco debba essere limitato allo stesso numero. Il test utile è empirico: cattura lo stesso carico di lavoro senza cap e con uno o più cap sensati, poi confronta stabilità dei tempi frame e latenza.\u003C\u002Fp>\n\u003Cp>Una media più bassa con una distribuzione dei frame sostanzialmente più uniforme può risultare migliore di una media più alta punteggiata da picchi frequenti.\u003C\u002Fp>\n\u003Ch2 id=\"section-35\">Cause comuni di stutter con FPS elevati\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Classe di causa\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Cosa potresti vedere\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Cosa testare\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Compilazione di shader o pipeline\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Picchi legati a effetti, luoghi o azioni alla prima esecuzione\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ripeti la stessa sequenza e confronta le esecuzioni successive\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Streaming di asset \u002F mondo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Picchi quando si entra in aree o si caricano nuovi contenuti\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Archiviazione, impostazioni delle texture, comportamento dello streaming del mondo\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Scheduling CPU \u002F lavoro in background\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Picchi irregolari non legati al carico GPU\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Processi in background, overlay, registrazione, saturazione CPU\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Saturazione GPU\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tempo di esecuzione GPU costantemente elevato\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Riduci le impostazioni grafiche costose o prova un frame cap\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pressione sulla memoria\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aumento del micro-scatti con uso intenso di VRAM\u002FRAM\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Livello texture, risoluzione, applicazioni in background, comportamento del working set\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Presentazione \u002F sincronizzazione\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Problemi di cadenza legati a refresh o modalità di presentazione\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Combinazioni di V-Sync, VRR, frame cap e modalità display\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Regressione di driver o gioco\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Il problema compare dopo un aggiornamento specifico\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Confronta versioni o note ufficiali sui problemi noti quando possibile\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-37\">La compilazione degli shader è un caso particolare\u003C\u002Fh2>\n\u003Cp>Alcuni stutter non sono un semplice problema di prestazioni a regime stazionario. Un carico di lavoro può funzionare comodamente ad FPS elevati finché il gioco non esegue un lavoro costoso che si verifica solo in momenti particolari.\u003C\u002Fp>\n\u003Cp>La compilazione di shader o pipeline è un esempio. Se un'interruzione appare la prima volta che si incontra un effetto o un'area specifica ma diventa più piccola o scompare nei passaggi successivi, quel modello è diverso da una GPU che è continuamente troppo lenta.\u003C\u002Fp>\n\u003Cp>Ecco perché le catture ripetibili contano. Un unico numero medio su un'intera sessione può mescolare rendering stabile ed eventi una tantum in un risultato che non spiega nessuno dei due.\u003C\u002Fp>\n\u003Ch2 id=\"section-41\">Il VRR non ripara i tempi frame scadenti\u003C\u002Fh2>\n\u003Cp>La frequenza di aggiornamento variabile può allineare più strettamente la temporizzazione del refresh del display con la consegna variabile dei frame e ridurre tearing o judder visibili entro il suo intervallo operativo.\u003C\u002Fp>\n\u003Cp>Ma il VRR non fa diventare un frame da 40 ms un frame da 8 ms. Una grande stallo di rendering o CPU rimane un grande stallo. La tecnologia del display può migliorare la presentazione; non può rimuovere il lavoro che ha ritardato il frame in primo luogo.\u003C\u002Fp>\n\u003Ch2 id=\"section-44\">Perché i minimi dello 0,1% possono diventare rumorosi\u003C\u002Fh2>\n\u003Cp>Le metriche focalizzate su una frazione molto piccola di frame sono utili per esporre outlier gravi, ma diventano anche sensibili alla durata della cattura e agli eventi una tantum.\u003C\u002Fp>\n\u003Cp>Una cattura breve contenente una transizione di caricamento può produrre un risultato estremo-basso drasticamente diverso rispetto a una sessione di gioco più lunga e ripetibile. Ciò non rende la metrica inutile; significa che la metodologia del test conta.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Usa la metrica per rispondere a una domanda\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Gli FPS medi rispondono alla produttività. Le metriche di FPS bassi e percentili descrivono la coda lenta. Il grafico dei tempi frame mostra \u003Cstrong>quando\u003C\u002Fstrong> si sono verificati i frame scadenti. Usali insieme.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-48\">Un protocollo di benchmark pratico\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Misurare un gioco senza ingannare te stesso\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">Riscaldamento\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Lascia che il gioco, gli shader e le risorse raggiungano uno stato ragionevolmente ripetibile quando ciò corrisponde alla domanda che stai testando.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">Fissa le condizioni\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Usa la stessa risoluzione, impostazioni, limite di frame, posizione e carico di lavoro.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">Cattura abbastanza a lungo\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Evita di giudicare la coda lenta da un campione minuscolo a meno che l'evento stesso non sia ciò che vuoi misurare.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">Ripeti\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Esegui lo stesso test più volte per separare il comportamento ripetibile dagli eventi casuali in background.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">Confronta le distribuzioni\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Guarda gli FPS medi, le metriche dei frame lenti e la traccia dei tempi frame.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">Registra l'ambiente\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Build del gioco, driver, sistema operativo, hardware e modifiche importanti alla configurazione contano per confronti successivi.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-50\">Il Frame-Time Stability Scorecard\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Cosa cercare prima di definire un gioco &quot;fluido&quot;\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Segnale sano\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Segnale di avvertimento\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Throughput medio\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Meets your performance target\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Average hides repeated drops below the useful range\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Coda dei frame lenti\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Reasonably close to average for the workload\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Large persistent gap between average and low-FPS metrics\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Traccia dei tempi frame\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Narrow, mostly stable band\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Frequent tall spikes or recurring oscillation\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Ripetibilità\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Similar pattern across comparable runs\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Result changes wildly between identical tests\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Diagnosi della temporizzazione\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">CPU\u002FGPU behavior matches the suspected constraint\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">Optimization is being applied without identifying the bottleneck\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-52\">Cosa cambierebbe questa risposta?\u003C\u002Fh2>\n\u003Cp>Le metriche esatte disponibili dipendono dal sistema operativo, dall'API grafica, dall'hardware e dallo strumento di misurazione. Anche i futuri sistemi di presentazione o le pipeline di generazione dei frame possono richiedere ulteriori distinzioni tra frame renderizzati, generati e visualizzati.\u003C\u002Fp>\n\u003Cp>Il principio fondamentale è improbabile che cambi: una media di throughput non può descrivere completamente la coerenza temporale. Finché la grafica interattiva viene fornita come una sequenza di frame, la distribuzione e la temporizzazione di quei frame contano.\u003C\u002Fp>\n\u003Ch2 id=\"section-55\">Limitazioni\u003C\u002Fh2>\n\u003Cp>Questo articolo è un quadro diagnostico, non un'affermazione che ogni stutter abbia la stessa causa principale. Motori di gioco, API, sistemi operativi, driver e pipeline di rendering differiscono.\u003C\u002Fp>\n\u003Cp>Le metriche di FPS bassi dovrebbero anche essere interpretate all'interno della metodologia dello strumento che le ha prodotte. I confronti tra strumenti diversi possono essere fuorvianti quando le definizioni statistiche o le pipeline di acquisizione differiscono.\u003C\u002Fp>\n\u003Ch2 id=\"section-58\">Conclusione\u003C\u002Fh2>\n\u003Cp>Se un gioco mostra FPS elevati ma sembra comunque scadente, smetti di fissare la media.\u003C\u002Fp>\n\u003Cp>Misura i tempi dei frame. Ispeziona la coda lenta. Scopri quando si verificano i picchi. Confronta i tempi della CPU e della GPU. Poi cambia una variabile e ripeti lo stesso carico di lavoro. La fluidità non è solo quanti frame il tuo sistema può produrre. È quanto costantemente quei frame ti raggiungono.\u003C\u002Fp>\n\u003Ch2 id=\"section-61\">FAQ\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">FPS, tempo dei frame e stutter\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Perché 120 FPS sembrano comunque scattosi?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Perché 120 FPS è una media. Frame lunghi ripetuti possono creare intoppi visibili anche mentre molti frame veloci mantengono alta la media.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Cos&#39;è il tempo dei frame?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Il tempo dei frame è il tempo richiesto per un singolo frame, solitamente misurato in millisecondi. Tempi dei frame più bassi e più costanti generalmente indicano una consegna più fluida.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Cosa significa 1% low FPS?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">È una metrica intesa a descrivere le prestazioni tra i frame più lenti. Le implementazioni esatte possono differire da strumento a strumento, quindi confronta i risultati usando la stessa metodologia di benchmark.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">1% low è più importante degli FPS medi?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Nessuna delle due metriche è sufficiente da sola. Gli FPS medi descrivono la produttività, mentre le metriche di FPS bassi e i grafici dei tempi dei frame espongono problemi di coerenza.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">VRR può risolvere il micro-stutter?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">VRR può migliorare come viene presentata la consegna variabile dei frame, ma non può eliminare un frame lungo causato da blocchi della CPU, della GPU, dello streaming o di altro carico di lavoro.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Dovrei limitare gli FPS per ridurre lo stutter?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">A volte un limite può migliorare la coerenza lasciando margine di sistema, ma dovrebbe essere testato con acquisizioni ripetibili dei tempi dei frame piuttosto che presunto.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-63\">Glossario\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Termini chiave sulle prestazioni\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"frame-time\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Tempo dei frame\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Il tempo associato alla produzione o presentazione di un singolo frame, solitamente espresso in millisecondi.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"average-fps\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">FPS medi\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una media di produttività che descrive il numero di frame prodotti in un intervallo misurato.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"one-percent-low\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">1% Low\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una metrica di prestazioni sui frame lenti. Il calcolo esatto può differire da strumento a strumento; NVIDIA FrameView descrive il suo 1% Low come la media dell'1% più lento dei frame.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"frame-time-spike\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Picco nel tempo dei frame\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un frame la cui durata è sostanzialmente più lunga dei frame circostanti, spesso percepito come un intoppo o stutter.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"gpu-busy\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">GPU Busy\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una metrica di temporizzazione di PresentMon usata per confrontare il tempo di esecuzione della GPU con l'intervallo di frame più ampio e aiutare a diagnosticare l'equilibrio CPU\u002FGPU.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"frame-time-stability-test\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Test di stabilità del tempo dei frame\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un flusso di lavoro di Figure Rocks per valutare la produttività media, la distribuzione dei tempi dei frame, le metriche sui frame lenti e la temporizzazione CPU\u002FGPU in condizioni ripetibili.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-65\">Fonti primarie\u003C\u002Fh2>\n\u003Ca href=\"https:\u002F\u002Fgame.intel.com\u002Fus\u002Fintel-presentmon\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Intel — PresentMon\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Strumento ufficiale di monitoraggio delle prestazioni di Intel con grafici in tempo reale, percentili, telemetria GPU, GPU Busy e supporto per le principali API grafiche.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA — FrameView\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Strumento ufficiale NVIDIA per misurare frame rate, tempo dei frame, potenza e prestazioni per watt, utilizzando analisi basate su PresentMon.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fimages.nvidia.com\u002Fcontent\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002Fframeview-1-4-user-guide-web-version.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA — Guida utente di FrameView\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentazione ufficiale che definisce FPS medi, metriche percentili, 1% Low e 0.1% Low e spiega come la coerenza si relaziona allo stutter.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Farticles\u002Fguide\u002Flp-api-developer-optimization-guide.html\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Intel — Guida per sviluppatori e ottimizzazione delle API grafiche\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Linee guida ufficiali Intel che coprono modalità di presentazione, considerazioni sulla pianificazione della CPU e l&#39;uso di PresentMon per l&#39;analisi della presentazione dei frame.\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1078},1790374865167,[540,545,552,558,564,569,573,577,581,585,601,605,609,646,650,654,658,662,666,672,676,680,684,688,692,718,722,726,730,760,765,769,773,777,781,785,822,826,830,834,838,842,846,850,854,858,862,868,872,895,899,940,944,948,952,956,960,964,968,972,976,980,1009,1013,1041,1045,1054,1062,1070],{"id":541,"data":542,"type":544},"intro",{"text":543},"Un gioco può riportare 120, 144 o anche 200 FPS e sembrare comunque scattoso. Il motivo è semplice: il frame rate medio indica quanti fotogrammi sono stati prodotti nel tempo, ma non dice se quei fotogrammi sono arrivati in modo uniforme. Pochi fotogrammi lunghi possono creare scatti visibili o micro-stutter anche quando il numero medio di FPS sembra eccellente.","paragraph",{"id":546,"data":547,"type":551},"direct",{"body":548,"title":549,"variant":550},"\u003Cstrong>Un FPS medio elevato non garantisce un gameplay fluido.\u003C\u002Fstrong> La fluidità dipende dalla coerenza del frame time: quanto uniformemente vengono consegnati i fotogrammi. Per diagnosticare lo stutter, guarda i frame time, le metriche percentile o low-FPS e i tempi CPU\u002FGPU, non solo gli FPS medi.","Risposta diretta","info","callout",{"id":553,"data":554,"type":551},"model-note",{"body":555,"title":556,"variant":557},"Il Triangolo della Fluidità e il Test di Stabilità del Frame-Time di seguito sono modelli pratici di Figure Rocks. Non sono terminologia formale di Intel, NVIDIA o Microsoft.","Il modello utilizzato in questo articolo","note",{"id":559,"data":560,"type":563},"toc",{"title":561,"maxLevel":562,"minLevel":47},"Contenuti",3,"tableOfContents",{"id":565,"data":566,"type":568},"h-fps-vs-ft",{"text":567,"level":47},"Gli FPS sono una media; il frame time è il ritmo","header",{"id":570,"data":571,"type":544},"p-fps-1",{"text":572},"Gli FPS indicano quanti fotogrammi vengono completati al secondo. Il frame time indica quanto tempo impiega un singolo fotogramma.",{"id":574,"data":575,"type":544},"p-fps-2",{"text":576},"La conversione approssimativa è semplice: il frame time in millisecondi è approssimativamente 1000 diviso per gli FPS. A 60 FPS, il budget del fotogramma è di circa 16,7 ms. A 120 FPS è di circa 8,3 ms. A 144 FPS è di circa 6,9 ms.",{"id":578,"data":579,"type":544},"p-fps-3",{"text":580},"Ma quei numeri hanno senso solo se la consegna dei fotogrammi è ragionevolmente coerente. Una sequenza di 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms può comunque avere una media di FPS elevata pur producendo uno scatto evidente.",{"id":582,"data":583,"type":568},"h-triangle",{"text":584,"level":47},"Il Triangolo della Fluidità",{"id":586,"data":587,"type":600},"triangle-flow",{"steps":588,"title":598,"orientation":599},[589,592,595],{"label":590,"description":591},"1. Throughput","FPS medi: quanti fotogrammi il sistema produce nel tempo.",{"label":593,"description":594},"2. Coerenza","Distribuzione del frame time: se i fotogrammi arrivano con una cadenza stabile o contengono outlier lunghi.",{"label":596,"description":597},"3. Reattività","Latenza: quanto tempo impiegano input e lavoro di gioco a produrre un fotogramma visibile.","Tre cose diverse determinano quanto veloce sembra un gioco","auto","processFlow",{"id":602,"data":603,"type":544},"p-triangle",{"text":604},"Un sistema può essere forte in un angolo e debole in un altro. FPS elevati con frame time instabili possono sembrare scattosi. Rendering stabile con latenza molto alta può sembrare fluido ma lento. Una buona ottimizzazione delle prestazioni deve identificare quale angolo sta effettivamente fallendo.",{"id":606,"data":607,"type":568},"h-average",{"text":608,"level":47},"Perché gli FPS medi nascondono lo stutter",{"id":610,"data":611,"type":645},"same-average",{"rows":612,"title":636,"layout":637,"columns":638},[613,618,624,630],{"id":614,"label":615,"values":616},"avg","FPS medi",{"stable":617,"unstable":617},"120 FPS",{"id":619,"label":620,"values":621},"normal","Maggior parte dei frame time",{"stable":622,"unstable":623},"Around 8–9 ms","Mostly 5–7 ms",{"id":625,"label":626,"values":627},"outliers","Fotogrammi lenti",{"stable":628,"unstable":629},"Few meaningful spikes","Repeated 25–50 ms spikes",{"id":631,"label":632,"values":633},"feel","Esperienza del giocatore",{"stable":634,"unstable":635},"Consistent motion","Hitches despite the high average","Due sessioni possono avere gli stessi FPS medi e sembrare diverse","table",[639,642],{"id":640,"label":641},"stable","Sessione stabile",{"id":643,"label":644},"unstable","Sessione instabile","comparison",{"id":647,"data":648,"type":544},"p-average-1",{"text":649},"La sessione instabile può compensare i fotogrammi lunghi renderizzando molti fotogrammi molto veloci tra i picchi. La media rimane alta, ma il giocatore nota i picchi piuttosto che la media aritmetica.",{"id":651,"data":652,"type":568},"h-onepercent",{"text":653,"level":47},"Cosa cercano di mostrare gli 1% lows",{"id":655,"data":656,"type":544},"p-low-1",{"text":657},"Le metriche low-FPS e percentile esistono perché gli FPS medi da soli non possono descrivere l'estremità lenta della distribuzione dei fotogrammi.",{"id":659,"data":660,"type":544},"p-low-2",{"text":661},"NVIDIA FrameView riporta gli FPS medi insieme alle metriche 1% Low e 0,1% Low. La sua documentazione descrive 1% Low come la media dell'1% più lento dei fotogrammi, e osserva che più il valore low-FPS è vicino alla media, più l'esperienza tende a essere coerente.",{"id":663,"data":664,"type":544},"p-low-3",{"text":665},"NVIDIA espone anche metriche basate su percentile come il frame rate che separa l'1% più lento dei fotogrammi dal 99% più veloce. Questi sono concetti correlati, ma non tutti gli strumenti di benchmark implementano o etichettano le statistiche low-FPS esattamente allo stesso modo.",{"id":667,"data":668,"type":551},"low-warning",{"body":669,"title":670,"variant":671},"Strumenti diversi possono calcolare, aggregare o etichettare in modo diverso le statistiche su FPS bassi e percentili. Confronta i risultati dello \u003Cstrong>stesso strumento e della stessa metodologia\u003C\u002Fstrong> quando possibile.","Non confrontare ogni numero di “1% low” come se la formula fosse universale","warning",{"id":673,"data":674,"type":568},"h-graph",{"text":675,"level":47},"I grafici dei tempi frame sono spesso più utili di un singolo numero riassuntivo",{"id":677,"data":678,"type":544},"p-graph-1",{"text":679},"Un grafico dei tempi frame mostra la temporizzazione dei frame durante la cattura. Una banda piatta o stretta di solito indica una distribuzione costante. Picchi isolati elevati rivelano intoppi. Onde ripetute possono indicare lavoro periodico in background, streaming, sincronizzazione o un altro carico ricorrente.",{"id":681,"data":682,"type":544},"p-graph-2",{"text":683},"Intel PresentMon è progettato per questo tipo di analisi. Lo strumento attuale di Intel può mostrare grafici delle prestazioni in tempo reale, percentili, medie a finestra mobile e telemetria GPU, e supporta applicazioni DirectX, OpenGL e Vulkan.",{"id":685,"data":686,"type":544},"p-graph-3",{"text":687},"Allo stesso modo, NVIDIA FrameView misura frame rate e tempo frame e può scrivere dati di cattura dettagliati nei log per analisi successive.",{"id":689,"data":690,"type":568},"h-test",{"text":691,"level":47},"Il test di stabilità dei tempi frame",{"id":693,"data":694,"type":600},"test-flow",{"steps":695,"title":717,"orientation":599},[696,699,702,705,708,711,714],{"label":697,"description":698},"1. Cattura una scena ripetibile","Usa lo stesso percorso, benchmark, punto di salvataggio o sequenza di gioco in modo che esecuzioni diverse siano confrontabili.",{"label":700,"description":701},"2. Registra gli FPS medi","Considerali come throughput, non come verdetto finale sulla fluidità.",{"label":703,"description":704},"3. Ispeziona la coerenza dei tempi frame","Cerca picchi isolati, picchi ripetuti, varianza ampia o lunghi cluster di frame lenti.",{"label":706,"description":707},"4. Controlla le metriche di FPS bassi o percentili","Grandi differenze tra media e metriche dei frame lenti sono un avviso che la distribuzione è incoerente.",{"label":709,"description":710},"5. Confronta la temporizzazione CPU e GPU","Determina se il frame lento ha origine prima della GPU, sulla GPU o da un'altra parte della pipeline.",{"label":712,"description":713},"6. Cambia una variabile alla volta","Testa indipendentemente frame cap, impostazioni grafiche, processi in background, stato degli shader, percorso di archiviazione o impostazioni di driver\u002Fgioco.",{"label":715,"description":716},"7. Ripeti la stessa cattura","Una correzione è significativa solo se la distribuzione dei tempi frame migliora in condizioni comparabili.","Diagnosticare se FPS elevati stanno nascondendo stutter",{"id":719,"data":720,"type":568},"h-bottleneck",{"text":721,"level":47},"Collo di bottiglia CPU e collo di bottiglia GPU non hanno lo stesso aspetto",{"id":723,"data":724,"type":544},"p-bottle-1",{"text":725},"Un frame rate basso non ti dice quale processore è responsabile del ritardo. La CPU prepara il lavoro di gioco e rendering; la GPU esegue il lavoro grafico. Entrambe le parti possono diventare il limite del ritmo.",{"id":727,"data":728,"type":544},"p-bottle-2",{"text":729},"La metrica GPU Busy di Intel PresentMon è specificamente pensata per aiutare a valutare la relazione tra tempo di esecuzione GPU e tempo frame totale. Questo può aiutare a distinguere i frame in cui la GPU è occupata per la maggior parte dell'intervallo dai frame in cui gran parte del ritardo avviene altrove.",{"id":731,"data":732,"type":645},"bottleneck-table",{"rows":733,"title":752,"layout":637,"columns":753},[734,740,746],{"id":735,"label":736,"values":737},"gpu","Limitato dalla GPU",{"meaning":738,"pattern":739},"The graphics workload is consuming most of the available frame budget","GPU busy time is close to the frame interval",{"id":741,"label":742,"values":743},"cpu","Limitato da CPU \u002F pipeline",{"meaning":744,"pattern":745},"The delay may be before GPU execution or elsewhere in the presentation pipeline","Frame time grows while GPU busy time remains materially lower",{"id":747,"label":748,"values":749},"spike","Evento intermittente",{"meaning":750,"pattern":751},"Streaming, shader compilation, background work, asset loading or another transient event may be involved","Mostly stable timing with isolated large spikes","Schemi di temporizzazione semplificati",[754,757],{"id":755,"label":756},"pattern","Schema di temporizzazione tipico",{"id":758,"label":759},"meaning","Cosa può suggerire",{"id":761,"data":762,"type":551},"bottle-note",{"body":763,"title":764,"variant":557},"Gli schemi di temporizzazione restringono lo spazio di ricerca. Non provano da soli una causa specifica.","Questa è evidenza diagnostica, non un verdetto automatico",{"id":766,"data":767,"type":568},"h-cap",{"text":768,"level":47},"Perché un frame cap a volte può risultare più fluido degli FPS massimi",{"id":770,"data":771,"type":544},"p-cap-1",{"text":772},"Eseguire un gioco agli FPS massimi possibili senza cap può mantenere una parte del sistema vicina alla saturazione. In alcuni carichi di lavoro, lasciare margine può ridurre la volatilità della temporizzazione e produrre una cadenza più stabile.",{"id":774,"data":775,"type":544},"p-cap-2",{"text":776},"Ciò non significa che ogni gioco debba essere limitato allo stesso numero. Il test utile è empirico: cattura lo stesso carico di lavoro senza cap e con uno o più cap sensati, poi confronta stabilità dei tempi frame e latenza.",{"id":778,"data":779,"type":544},"p-cap-3",{"text":780},"Una media più bassa con una distribuzione dei frame sostanzialmente più uniforme può risultare migliore di una media più alta punteggiata da picchi frequenti.",{"id":782,"data":783,"type":568},"h-causes",{"text":784,"level":47},"Cause comuni di stutter con FPS elevati",{"id":786,"data":787,"type":637},"causes-table",{"content":788,"stretched":821,"withHeadings":15},[789,793,797,801,805,809,813,817],[790,791,792],"Classe di causa","Cosa potresti vedere","Cosa testare",[794,795,796],"Compilazione di shader o pipeline","Picchi legati a effetti, luoghi o azioni alla prima esecuzione","Ripeti la stessa sequenza e confronta le esecuzioni successive",[798,799,800],"Streaming di asset \u002F mondo","Picchi quando si entra in aree o si caricano nuovi contenuti","Archiviazione, impostazioni delle texture, comportamento dello streaming del mondo",[802,803,804],"Scheduling CPU \u002F lavoro in background","Picchi irregolari non legati al carico GPU","Processi in background, overlay, registrazione, saturazione CPU",[806,807,808],"Saturazione GPU","Tempo di esecuzione GPU costantemente elevato","Riduci le impostazioni grafiche costose o prova un frame cap",[810,811,812],"Pressione sulla memoria","Aumento del micro-scatti con uso intenso di VRAM\u002FRAM","Livello texture, risoluzione, applicazioni in background, comportamento del working set",[814,815,816],"Presentazione \u002F sincronizzazione","Problemi di cadenza legati a refresh o modalità di presentazione","Combinazioni di V-Sync, VRR, frame cap e modalità display",[818,819,820],"Regressione di driver o gioco","Il problema compare dopo un aggiornamento specifico","Confronta versioni o note ufficiali sui problemi noti quando possibile",false,{"id":823,"data":824,"type":568},"h-shader",{"text":825,"level":47},"La compilazione degli shader è un caso particolare",{"id":827,"data":828,"type":544},"p-shader-1",{"text":829},"Alcuni stutter non sono un semplice problema di prestazioni a regime stazionario. Un carico di lavoro può funzionare comodamente ad FPS elevati finché il gioco non esegue un lavoro costoso che si verifica solo in momenti particolari.",{"id":831,"data":832,"type":544},"p-shader-2",{"text":833},"La compilazione di shader o pipeline è un esempio. Se un'interruzione appare la prima volta che si incontra un effetto o un'area specifica ma diventa più piccola o scompare nei passaggi successivi, quel modello è diverso da una GPU che è continuamente troppo lenta.",{"id":835,"data":836,"type":544},"p-shader-3",{"text":837},"Ecco perché le catture ripetibili contano. Un unico numero medio su un'intera sessione può mescolare rendering stabile ed eventi una tantum in un risultato che non spiega nessuno dei due.",{"id":839,"data":840,"type":568},"h-vrr",{"text":841,"level":47},"Il VRR non ripara i tempi frame scadenti",{"id":843,"data":844,"type":544},"p-vrr-1",{"text":845},"La frequenza di aggiornamento variabile può allineare più strettamente la temporizzazione del refresh del display con la consegna variabile dei frame e ridurre tearing o judder visibili entro il suo intervallo operativo.",{"id":847,"data":848,"type":544},"p-vrr-2",{"text":849},"Ma il VRR non fa diventare un frame da 40 ms un frame da 8 ms. Una grande stallo di rendering o CPU rimane un grande stallo. La tecnologia del display può migliorare la presentazione; non può rimuovere il lavoro che ha ritardato il frame in primo luogo.",{"id":851,"data":852,"type":568},"h-pointone",{"text":853,"level":47},"Perché i minimi dello 0,1% possono diventare rumorosi",{"id":855,"data":856,"type":544},"p-pointone-1",{"text":857},"Le metriche focalizzate su una frazione molto piccola di frame sono utili per esporre outlier gravi, ma diventano anche sensibili alla durata della cattura e agli eventi una tantum.",{"id":859,"data":860,"type":544},"p-pointone-2",{"text":861},"Una cattura breve contenente una transizione di caricamento può produrre un risultato estremo-basso drasticamente diverso rispetto a una sessione di gioco più lunga e ripetibile. Ciò non rende la metrica inutile; significa che la metodologia del test conta.",{"id":863,"data":864,"type":551},"metrics-rule",{"body":865,"title":866,"variant":867},"Gli FPS medi rispondono alla produttività. Le metriche di FPS bassi e percentili descrivono la coda lenta. Il grafico dei tempi frame mostra \u003Cstrong>quando\u003C\u002Fstrong> si sono verificati i frame scadenti. Usali insieme.","Usa la metrica per rispondere a una domanda","success",{"id":869,"data":870,"type":568},"h-protocol",{"text":871,"level":47},"Un protocollo di benchmark pratico",{"id":873,"data":874,"type":600},"protocol-flow",{"steps":875,"title":894,"orientation":599},[876,879,882,885,888,891],{"label":877,"description":878},"Riscaldamento","Lascia che il gioco, gli shader e le risorse raggiungano uno stato ragionevolmente ripetibile quando ciò corrisponde alla domanda che stai testando.",{"label":880,"description":881},"Fissa le condizioni","Usa la stessa risoluzione, impostazioni, limite di frame, posizione e carico di lavoro.",{"label":883,"description":884},"Cattura abbastanza a lungo","Evita di giudicare la coda lenta da un campione minuscolo a meno che l'evento stesso non sia ciò che vuoi misurare.",{"label":886,"description":887},"Ripeti","Esegui lo stesso test più volte per separare il comportamento ripetibile dagli eventi casuali in background.",{"label":889,"description":890},"Confronta le distribuzioni","Guarda gli FPS medi, le metriche dei frame lenti e la traccia dei tempi frame.",{"label":892,"description":893},"Registra l'ambiente","Build del gioco, driver, sistema operativo, hardware e modifiche importanti alla configurazione contano per confronti successivi.","Misurare un gioco senza ingannare te stesso",{"id":896,"data":897,"type":568},"h-scorecard",{"text":898,"level":47},"Il Frame-Time Stability Scorecard",{"id":900,"data":901,"type":645},"scorecard",{"rows":902,"title":933,"layout":637,"columns":934},[903,909,915,921,927],{"id":904,"label":905,"values":906},"average","Throughput medio",{"good":907,"warning":908},"Meets your performance target","Average hides repeated drops below the useful range",{"id":910,"label":911,"values":912},"tail","Coda dei frame lenti",{"good":913,"warning":914},"Reasonably close to average for the workload","Large persistent gap between average and low-FPS metrics",{"id":916,"label":917,"values":918},"trace","Traccia dei tempi frame",{"good":919,"warning":920},"Narrow, mostly stable band","Frequent tall spikes or recurring oscillation",{"id":922,"label":923,"values":924},"repeat","Ripetibilità",{"good":925,"warning":926},"Similar pattern across comparable runs","Result changes wildly between identical tests",{"id":928,"label":929,"values":930},"cause","Diagnosi della temporizzazione",{"good":931,"warning":932},"CPU\u002FGPU behavior matches the suspected constraint","Optimization is being applied without identifying the bottleneck","Cosa cercare prima di definire un gioco \"fluido\"",[935,938],{"id":936,"label":937},"good","Segnale sano",{"id":671,"label":939},"Segnale di avvertimento",{"id":941,"data":942,"type":568},"h-change",{"text":943,"level":47},"Cosa cambierebbe questa risposta?",{"id":945,"data":946,"type":544},"p-change-1",{"text":947},"Le metriche esatte disponibili dipendono dal sistema operativo, dall'API grafica, dall'hardware e dallo strumento di misurazione. Anche i futuri sistemi di presentazione o le pipeline di generazione dei frame possono richiedere ulteriori distinzioni tra frame renderizzati, generati e visualizzati.",{"id":949,"data":950,"type":544},"p-change-2",{"text":951},"Il principio fondamentale è improbabile che cambi: una media di throughput non può descrivere completamente la coerenza temporale. Finché la grafica interattiva viene fornita come una sequenza di frame, la distribuzione e la temporizzazione di quei frame contano.",{"id":953,"data":954,"type":568},"h-limit",{"text":955,"level":47},"Limitazioni",{"id":957,"data":958,"type":544},"p-limit-1",{"text":959},"Questo articolo è un quadro diagnostico, non un'affermazione che ogni stutter abbia la stessa causa principale. Motori di gioco, API, sistemi operativi, driver e pipeline di rendering differiscono.",{"id":961,"data":962,"type":544},"p-limit-2",{"text":963},"Le metriche di FPS bassi dovrebbero anche essere interpretate all'interno della metodologia dello strumento che le ha prodotte. I confronti tra strumenti diversi possono essere fuorvianti quando le definizioni statistiche o le pipeline di acquisizione differiscono.",{"id":965,"data":966,"type":568},"h-conclusion",{"text":967,"level":47},"Conclusione",{"id":969,"data":970,"type":544},"p-conclusion-1",{"text":971},"Se un gioco mostra FPS elevati ma sembra comunque scadente, smetti di fissare la media.",{"id":973,"data":974,"type":544},"p-conclusion-2",{"text":975},"Misura i tempi dei frame. Ispeziona la coda lenta. Scopri quando si verificano i picchi. Confronta i tempi della CPU e della GPU. Poi cambia una variabile e ripeti lo stesso carico di lavoro. La fluidità non è solo quanti frame il tuo sistema può produrre. È quanto costantemente quei frame ti raggiungono.",{"id":977,"data":978,"type":568},"h-faq",{"text":979,"level":47},"FAQ",{"id":981,"data":982,"type":981},"faq",{"items":983,"title":1008},[984,988,992,996,1000,1004],{"id":985,"answer":986,"question":987},"faq1","Perché 120 FPS è una media. Frame lunghi ripetuti possono creare intoppi visibili anche mentre molti frame veloci mantengono alta la media.","Perché 120 FPS sembrano comunque scattosi?",{"id":989,"answer":990,"question":991},"faq2","Il tempo dei frame è il tempo richiesto per un singolo frame, solitamente misurato in millisecondi. Tempi dei frame più bassi e più costanti generalmente indicano una consegna più fluida.","Cos'è il tempo dei frame?",{"id":993,"answer":994,"question":995},"faq3","È una metrica intesa a descrivere le prestazioni tra i frame più lenti. Le implementazioni esatte possono differire da strumento a strumento, quindi confronta i risultati usando la stessa metodologia di benchmark.","Cosa significa 1% low FPS?",{"id":997,"answer":998,"question":999},"faq4","Nessuna delle due metriche è sufficiente da sola. Gli FPS medi descrivono la produttività, mentre le metriche di FPS bassi e i grafici dei tempi dei frame espongono problemi di coerenza.","1% low è più importante degli FPS medi?",{"id":1001,"answer":1002,"question":1003},"faq5","VRR può migliorare come viene presentata la consegna variabile dei frame, ma non può eliminare un frame lungo causato da blocchi della CPU, della GPU, dello streaming o di altro carico di lavoro.","VRR può risolvere il micro-stutter?",{"id":1005,"answer":1006,"question":1007},"faq6","A volte un limite può migliorare la coerenza lasciando margine di sistema, ma dovrebbe essere testato con acquisizioni ripetibili dei tempi dei frame piuttosto che presunto.","Dovrei limitare gli FPS per ridurre lo stutter?","FPS, tempo dei frame e stutter",{"id":1010,"data":1011,"type":568},"h-glossary",{"text":1012,"level":47},"Glossario",{"id":1014,"data":1015,"type":1014},"glossary",{"title":1016,"entries":1017},"Termini chiave sulle prestazioni",[1018,1022,1025,1029,1033,1037],{"term":1019,"anchor":1020,"definition":1021},"Tempo dei frame","frame-time","Il tempo associato alla produzione o presentazione di un singolo frame, solitamente espresso in millisecondi.",{"term":615,"anchor":1023,"definition":1024},"average-fps","Una media di produttività che descrive il numero di frame prodotti in un intervallo misurato.",{"term":1026,"anchor":1027,"definition":1028},"1% Low","one-percent-low","Una metrica di prestazioni sui frame lenti. Il calcolo esatto può differire da strumento a strumento; NVIDIA FrameView descrive il suo 1% Low come la media dell'1% più lento dei frame.",{"term":1030,"anchor":1031,"definition":1032},"Picco nel tempo dei frame","frame-time-spike","Un frame la cui durata è sostanzialmente più lunga dei frame circostanti, spesso percepito come un intoppo o stutter.",{"term":1034,"anchor":1035,"definition":1036},"GPU Busy","gpu-busy","Una metrica di temporizzazione di PresentMon usata per confrontare il tempo di esecuzione della GPU con l'intervallo di frame più ampio e aiutare a diagnosticare l'equilibrio CPU\u002FGPU.",{"term":1038,"anchor":1039,"definition":1040},"Test di stabilità del tempo dei frame","frame-time-stability-test","Un flusso di lavoro di Figure Rocks per valutare la produttività media, la distribuzione dei tempi dei frame, le metriche sui frame lenti e la temporizzazione CPU\u002FGPU in condizioni ripetibili.",{"id":1042,"data":1043,"type":568},"h-sources",{"text":1044,"level":47},"Fonti primarie",{"id":1046,"data":1047,"type":1053},"src-intel-presentmon",{"link":1048,"meta":1049},"https:\u002F\u002Fgame.intel.com\u002Fus\u002Fintel-presentmon\u002F",{"image":1050,"title":1051,"description":1052},{"url":13},"Intel — PresentMon","Strumento ufficiale di monitoraggio delle prestazioni di Intel con grafici in tempo reale, percentili, telemetria GPU, GPU Busy e supporto per le principali API grafiche.","linkTool",{"id":1055,"data":1056,"type":1053},"src-nvidia-frameview",{"link":1057,"meta":1058},"https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002F",{"image":1059,"title":1060,"description":1061},{"url":13},"NVIDIA — FrameView","Strumento ufficiale NVIDIA per misurare frame rate, tempo dei frame, potenza e prestazioni per watt, utilizzando analisi basate su PresentMon.",{"id":1063,"data":1064,"type":1053},"src-nvidia-frameview-guide",{"link":1065,"meta":1066},"https:\u002F\u002Fimages.nvidia.com\u002Fcontent\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002Fframeview-1-4-user-guide-web-version.pdf",{"image":1067,"title":1068,"description":1069},{"url":13},"NVIDIA — Guida utente di FrameView","Documentazione ufficiale che definisce FPS medi, metriche percentili, 1% Low e 0.1% Low e spiega come la coerenza si relaziona allo stutter.",{"id":1071,"data":1072,"type":1053},"src-intel-optimization",{"link":1073,"meta":1074},"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Farticles\u002Fguide\u002Flp-api-developer-optimization-guide.html",{"image":1075,"title":1076,"description":1077},{"url":13},"Intel — Guida per sviluppatori e ottimizzazione delle API grafiche","Linee guida ufficiali Intel che coprono modalità di presentazione, considerazioni sulla pianificazione della CPU e l'uso di PresentMon per l'analisi della presentazione dei frame.","2.31","Un gioco può riportare 120, 144 o persino 200 FPS e risultare comunque scattoso. Questa guida spiega perché gli FPS medi possono nascondere una cattiva distribuzione dei frame, come il frame time e l'1% lows rivelano lo stutter e come diagnosticare se la CPU, la GPU o un'altra parte della pipeline sta causando il problema.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained-1790374675922-u9tp75.webp","why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained-1790374675922-u9tp75","PUBLISHED","2026-09-25T18:17:00.000Z","2026-09-25T22:17:09.114Z","2026-09-25T22:22:05.283Z",{"en":1087,"de":1088,"sr":1089,"es":1090,"fr":1091,"it":1092,"ru":1093,"zh":1094},"\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Fde\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Fsr\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Fes\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Ffr\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Fit\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Fru\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u002Fzh\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained",[1096,1100,1104],{"id":1097,"name":1098,"slug":1099},224,"Analisi del frametime","frametime-analysis",{"id":1101,"name":1102,"slug":1103},49,"Frame Pacing","frame-pacing",{"id":1105,"name":1106,"slug":1107},328,"Identifica il tipo di scatto","identify-stutter-type",{"id":283,"login":1109,"email":1110,"displayName":1111},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1113,1513],{"lang":8,"title":1114,"content":1115,"contentJson":1116,"excerpt":1512},"Why 120 FPS Can Still Feel Bad: Frame Time, 1% Lows and Stutter Explained","{\"time\":1790374470296,\"blocks\":[{\"id\":\"intro\",\"data\":{\"text\":\"A game can report 120, 144 or even 200 FPS and still feel rough. The reason is simple: average frame rate tells you how many frames were produced over time, but it does not tell you whether those frames arrived evenly. A few long frames can create visible hitching or micro-stutter even when the average FPS number looks excellent.\"},\"type\":\"paragraph\"},{\"id\":\"direct\",\"data\":{\"body\":\"\u003Cstrong>High average FPS does not guarantee smooth gameplay.\u003C\u002Fstrong> Smoothness depends on frame-time consistency: how evenly frames are delivered. To diagnose stutter, look at frame times, percentile or low-FPS metrics, and CPU\u002FGPU timing—not average FPS alone.\",\"title\":\"Direct answer\",\"variant\":\"info\"},\"type\":\"callout\"},{\"id\":\"model-note\",\"data\":{\"body\":\"The Smoothness Triangle and Frame-Time Stability Test below are practical Figure Rocks models. They are not formal Intel, NVIDIA or Microsoft terminology.\",\"title\":\"The model used in this article\",\"variant\":\"note\"},\"type\":\"callout\"},{\"id\":\"toc\",\"data\":{\"title\":\"Contents\",\"maxLevel\":3,\"minLevel\":2},\"type\":\"tableOfContents\"},{\"id\":\"h-fps-vs-ft\",\"data\":{\"text\":\"FPS is an average; frame time is the rhythm\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-fps-1\",\"data\":{\"text\":\"FPS tells you how many frames are completed per second. Frame time tells you how long an individual frame takes.\"},\"type\":\"paragraph\"},{\"id\":\"p-fps-2\",\"data\":{\"text\":\"The rough conversion is simple: frame time in milliseconds is approximately 1000 divided by FPS. At 60 FPS, the frame budget is about 16.7 ms. At 120 FPS it is about 8.3 ms. At 144 FPS it is about 6.9 ms.\"},\"type\":\"paragraph\"},{\"id\":\"p-fps-3\",\"data\":{\"text\":\"But those numbers are only meaningful if frame delivery is reasonably consistent. A sequence of 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms can still average to a high FPS while producing a noticeable hitch.\"},\"type\":\"paragraph\"},{\"id\":\"h-triangle\",\"data\":{\"text\":\"The Smoothness Triangle\",\"level\":2},\"type\":\"header\"},{\"id\":\"triangle-flow\",\"data\":{\"steps\":[{\"label\":\"1. Throughput\",\"description\":\"Average FPS: how many frames the system produces over time.\"},{\"label\":\"2. Consistency\",\"description\":\"Frame-time distribution: whether frames arrive with a stable cadence or contain long outliers.\"},{\"label\":\"3. Responsiveness\",\"description\":\"Latency: how long it takes for input and game work to result in a visible frame.\"}],\"title\":\"Three different things determine how fast a game feels\",\"orientation\":\"auto\"},\"type\":\"processFlow\"},{\"id\":\"p-triangle\",\"data\":{\"text\":\"A system can be strong in one corner and weak in another. High FPS with unstable frame times can feel stuttery. Stable rendering with very high latency can feel smooth but sluggish. Good performance tuning has to identify which corner is actually failing.\"},\"type\":\"paragraph\"},{\"id\":\"h-average\",\"data\":{\"text\":\"Why average FPS hides stutter\",\"level\":2},\"type\":\"header\"},{\"id\":\"same-average\",\"data\":{\"rows\":[{\"id\":\"avg\",\"label\":\"Average FPS\",\"values\":{\"stable\":\"120 FPS\",\"unstable\":\"120 FPS\"}},{\"id\":\"normal\",\"label\":\"Most frame times\",\"values\":{\"stable\":\"Around 8–9 ms\",\"unstable\":\"Mostly 5–7 ms\"}},{\"id\":\"outliers\",\"label\":\"Slow frames\",\"values\":{\"stable\":\"Few meaningful spikes\",\"unstable\":\"Repeated 25–50 ms spikes\"}},{\"id\":\"feel\",\"label\":\"Player experience\",\"values\":{\"stable\":\"Consistent motion\",\"unstable\":\"Hitches despite the high average\"}}],\"title\":\"Two sessions can have the same average FPS and feel different\",\"layout\":\"table\",\"columns\":[{\"id\":\"stable\",\"label\":\"Stable session\"},{\"id\":\"unstable\",\"label\":\"Unstable session\"}]},\"type\":\"comparison\"},{\"id\":\"p-average-1\",\"data\":{\"text\":\"The unstable session can compensate for long frames by rendering many very fast frames between spikes. The average stays high, but the player notices the spikes rather than the arithmetic mean.\"},\"type\":\"paragraph\"},{\"id\":\"h-onepercent\",\"data\":{\"text\":\"What 1% lows are trying to show\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-low-1\",\"data\":{\"text\":\"Low-FPS and percentile metrics exist because average FPS alone cannot describe the slow end of the frame distribution.\"},\"type\":\"paragraph\"},{\"id\":\"p-low-2\",\"data\":{\"text\":\"NVIDIA FrameView reports average FPS together with 1% Low and 0.1% Low metrics. Its documentation describes 1% Low as the average of the slowest 1% of frames, and notes that the closer the low-FPS value is to the average, the more consistent the experience tends to be.\"},\"type\":\"paragraph\"},{\"id\":\"p-low-3\",\"data\":{\"text\":\"NVIDIA also exposes percentile-based metrics such as the frame rate separating the slowest 1% of frames from the faster 99%. These are related concepts, but not every benchmark tool implements or labels low-FPS statistics in exactly the same way.\"},\"type\":\"paragraph\"},{\"id\":\"low-warning\",\"data\":{\"body\":\"Different tools can calculate, aggregate or label low-FPS and percentile statistics differently. Compare results from the \u003Cstrong>same tool and methodology\u003C\u002Fstrong> whenever possible.\",\"title\":\"Do not compare every “1% low” number as if the formula were universal\",\"variant\":\"warning\"},\"type\":\"callout\"},{\"id\":\"h-graph\",\"data\":{\"text\":\"Frame-time graphs are often more useful than one summary number\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-graph-1\",\"data\":{\"text\":\"A frame-time graph shows the timing of frames across the capture. A flat or narrow band usually indicates consistent delivery. Tall isolated spikes reveal hitches. Repeating waves can point to periodic background work, streaming, synchronization or another recurring workload.\"},\"type\":\"paragraph\"},{\"id\":\"p-graph-2\",\"data\":{\"text\":\"Intel PresentMon is designed around this type of analysis. Intel's current tool can show real-time performance graphs, percentiles, moving-window averages and GPU telemetry, and it supports DirectX, OpenGL and Vulkan applications.\"},\"type\":\"paragraph\"},{\"id\":\"p-graph-3\",\"data\":{\"text\":\"NVIDIA FrameView likewise measures frame rate and frame time and can write detailed capture data to logs for later analysis.\"},\"type\":\"paragraph\"},{\"id\":\"h-test\",\"data\":{\"text\":\"The Frame-Time Stability Test\",\"level\":2},\"type\":\"header\"},{\"id\":\"test-flow\",\"data\":{\"steps\":[{\"label\":\"1. Capture a repeatable scene\",\"description\":\"Use the same route, benchmark, save point or gameplay sequence so different runs are comparable.\"},{\"label\":\"2. Record average FPS\",\"description\":\"Treat it as throughput, not as the final smoothness verdict.\"},{\"label\":\"3. Inspect frame-time consistency\",\"description\":\"Look for isolated spikes, repeating spikes, wide variance or long slow-frame clusters.\"},{\"label\":\"4. Check low-FPS or percentile metrics\",\"description\":\"Large gaps between average and slow-frame metrics are a warning that delivery is inconsistent.\"},{\"label\":\"5. Compare CPU and GPU timing\",\"description\":\"Determine whether the slow frame originates before the GPU, on the GPU, or from another part of the pipeline.\"},{\"label\":\"6. Change one variable at a time\",\"description\":\"Test frame cap, graphics setting, background process, shader state, storage path or driver\u002Fgame setting independently.\"},{\"label\":\"7. Repeat the same capture\",\"description\":\"A fix is meaningful only if the frame-time distribution improves under comparable conditions.\"}],\"title\":\"Diagnose whether high FPS is hiding stutter\",\"orientation\":\"auto\"},\"type\":\"processFlow\"},{\"id\":\"h-bottleneck\",\"data\":{\"text\":\"CPU bottleneck and GPU bottleneck do not look identical\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-bottle-1\",\"data\":{\"text\":\"A low frame rate does not tell you which processor is responsible for the delay. The CPU prepares game and rendering work; the GPU executes graphics work. Either side can become the pacing limit.\"},\"type\":\"paragraph\"},{\"id\":\"p-bottle-2\",\"data\":{\"text\":\"Intel PresentMon's GPU Busy metric is specifically intended to help evaluate the relationship between GPU execution time and total frame time. This can help distinguish frames where the GPU is occupied for most of the interval from frames where a large part of the delay occurs elsewhere.\"},\"type\":\"paragraph\"},{\"id\":\"bottleneck-table\",\"data\":{\"rows\":[{\"id\":\"gpu\",\"label\":\"GPU-bound\",\"values\":{\"meaning\":\"The graphics workload is consuming most of the available frame budget\",\"pattern\":\"GPU busy time is close to the frame interval\"}},{\"id\":\"cpu\",\"label\":\"CPU \u002F pipeline constrained\",\"values\":{\"meaning\":\"The delay may be before GPU execution or elsewhere in the presentation pipeline\",\"pattern\":\"Frame time grows while GPU busy time remains materially lower\"}},{\"id\":\"spike\",\"label\":\"Intermittent event\",\"values\":{\"meaning\":\"Streaming, shader compilation, background work, asset loading or another transient event may be involved\",\"pattern\":\"Mostly stable timing with isolated large spikes\"}}],\"title\":\"Simplified timing patterns\",\"layout\":\"table\",\"columns\":[{\"id\":\"pattern\",\"label\":\"Typical timing pattern\"},{\"id\":\"meaning\",\"label\":\"What it can suggest\"}]},\"type\":\"comparison\"},{\"id\":\"bottle-note\",\"data\":{\"body\":\"Timing patterns narrow the search space. They do not prove a specific root cause by themselves.\",\"title\":\"This is diagnostic evidence, not an automatic verdict\",\"variant\":\"note\"},\"type\":\"callout\"},{\"id\":\"h-cap\",\"data\":{\"text\":\"Why a frame cap can sometimes feel smoother than maximum FPS\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-cap-1\",\"data\":{\"text\":\"Running a game at the highest possible uncapped FPS can keep one part of the system near saturation. In some workloads, leaving headroom can reduce timing volatility and produce a more stable cadence.\"},\"type\":\"paragraph\"},{\"id\":\"p-cap-2\",\"data\":{\"text\":\"That does not mean every game should be capped to the same number. The useful test is empirical: capture the same workload uncapped and at one or more sensible caps, then compare frame-time stability and latency.\"},\"type\":\"paragraph\"},{\"id\":\"p-cap-3\",\"data\":{\"text\":\"A lower average with substantially tighter frame delivery can feel better than a higher average punctuated by frequent spikes.\"},\"type\":\"paragraph\"},{\"id\":\"h-causes\",\"data\":{\"text\":\"Common causes of high-FPS stutter\",\"level\":2},\"type\":\"header\"},{\"id\":\"causes-table\",\"data\":{\"content\":[[\"Cause class\",\"What you may see\",\"What to test\"],[\"Shader or pipeline compilation\",\"Spikes tied to first-time effects, locations or actions\",\"Repeat the same sequence and compare later passes\"],[\"Asset \u002F world streaming\",\"Spikes when entering areas or loading new content\",\"Storage, texture settings, world-streaming behavior\"],[\"CPU scheduling \u002F background work\",\"Irregular spikes unrelated to GPU load\",\"Background processes, overlays, recording, CPU saturation\"],[\"GPU saturation\",\"Consistently high GPU execution time\",\"Lower expensive graphics settings or test a frame cap\"],[\"Memory pressure\",\"Increasing hitching under heavy VRAM\u002FRAM use\",\"Texture level, resolution, background applications, working-set behavior\"],[\"Presentation \u002F synchronization\",\"Cadence problems around refresh or presentation modes\",\"V-Sync, VRR, frame cap and display-mode combinations\"],[\"Driver or game regression\",\"Problem appears after a specific update\",\"Compare versions or official known-issue notes where practical\"]],\"stretched\":false,\"withHeadings\":true},\"type\":\"table\"},{\"id\":\"h-shader\",\"data\":{\"text\":\"Shader compilation is a special case\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-shader-1\",\"data\":{\"text\":\"Some stutter is not a simple steady-state performance problem. A workload can run comfortably at high FPS until the game performs expensive work that occurs only at particular moments.\"},\"type\":\"paragraph\"},{\"id\":\"p-shader-2\",\"data\":{\"text\":\"Shader or pipeline compilation is one example. If a hitch appears the first time a specific effect or area is encountered but becomes smaller or disappears on later passes, that pattern is different from a GPU that is continuously too slow.\"},\"type\":\"paragraph\"},{\"id\":\"p-shader-3\",\"data\":{\"text\":\"This is why repeatable captures matter. One average number over an entire session can mix steady rendering and one-time events into a result that explains neither.\"},\"type\":\"paragraph\"},{\"id\":\"h-vrr\",\"data\":{\"text\":\"VRR does not repair bad frame times\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-vrr-1\",\"data\":{\"text\":\"Variable refresh rate can align display refresh timing more closely with variable frame delivery and reduce visible tearing or judder within its operating range.\"},\"type\":\"paragraph\"},{\"id\":\"p-vrr-2\",\"data\":{\"text\":\"But VRR does not make a 40 ms frame become an 8 ms frame. A large rendering or CPU stall remains a large stall. Display technology can improve presentation; it cannot remove work that delayed the frame in the first place.\"},\"type\":\"paragraph\"},{\"id\":\"h-pointone\",\"data\":{\"text\":\"Why 0.1% lows can become noisy\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-pointone-1\",\"data\":{\"text\":\"Metrics focused on a very small fraction of frames are useful for exposing severe outliers, but they also become sensitive to capture duration and one-off events.\"},\"type\":\"paragraph\"},{\"id\":\"p-pointone-2\",\"data\":{\"text\":\"A short capture containing one loading transition may produce a dramatically different extreme-low result than a longer, repeatable gameplay run. That does not make the metric useless; it means the test methodology matters.\"},\"type\":\"paragraph\"},{\"id\":\"metrics-rule\",\"data\":{\"body\":\"Average FPS answers throughput. Low-FPS and percentile metrics describe the slow tail. The frame-time graph shows \u003Cstrong>when\u003C\u002Fstrong> the bad frames happened. Use them together.\",\"title\":\"Use the metric to answer a question\",\"variant\":\"success\"},\"type\":\"callout\"},{\"id\":\"h-protocol\",\"data\":{\"text\":\"A practical benchmark protocol\",\"level\":2},\"type\":\"header\"},{\"id\":\"protocol-flow\",\"data\":{\"steps\":[{\"label\":\"Warm up\",\"description\":\"Let the game, shaders and assets reach a reasonably repeatable state when that matches the question you are testing.\"},{\"label\":\"Fix the conditions\",\"description\":\"Use the same resolution, settings, frame cap, location and workload.\"},{\"label\":\"Capture long enough\",\"description\":\"Avoid judging the slow tail from a tiny sample unless the event itself is what you want to measure.\"},{\"label\":\"Repeat\",\"description\":\"Run the same test multiple times to separate repeatable behavior from random background events.\"},{\"label\":\"Compare distributions\",\"description\":\"Look at average FPS, slow-frame metrics and the frame-time trace.\"},{\"label\":\"Record the environment\",\"description\":\"Game build, driver, operating system, hardware and major configuration changes matter for later comparisons.\"}],\"title\":\"Measure a game without fooling yourself\",\"orientation\":\"auto\"},\"type\":\"processFlow\"},{\"id\":\"h-scorecard\",\"data\":{\"text\":\"The Frame-Time Stability Scorecard\",\"level\":2},\"type\":\"header\"},{\"id\":\"scorecard\",\"data\":{\"rows\":[{\"id\":\"average\",\"label\":\"Average throughput\",\"values\":{\"good\":\"Meets your performance target\",\"warning\":\"Average hides repeated drops below the useful range\"}},{\"id\":\"tail\",\"label\":\"Slow-frame tail\",\"values\":{\"good\":\"Reasonably close to average for the workload\",\"warning\":\"Large persistent gap between average and low-FPS metrics\"}},{\"id\":\"trace\",\"label\":\"Frame-time trace\",\"values\":{\"good\":\"Narrow, mostly stable band\",\"warning\":\"Frequent tall spikes or recurring oscillation\"}},{\"id\":\"repeat\",\"label\":\"Repeatability\",\"values\":{\"good\":\"Similar pattern across comparable runs\",\"warning\":\"Result changes wildly between identical tests\"}},{\"id\":\"cause\",\"label\":\"Timing diagnosis\",\"values\":{\"good\":\"CPU\u002FGPU behavior matches the suspected constraint\",\"warning\":\"Optimization is being applied without identifying the bottleneck\"}}],\"title\":\"What to look for before calling a game “smooth”\",\"layout\":\"table\",\"columns\":[{\"id\":\"good\",\"label\":\"Healthy signal\"},{\"id\":\"warning\",\"label\":\"Warning signal\"}]},\"type\":\"comparison\"},{\"id\":\"h-change\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-change-1\",\"data\":{\"text\":\"The exact metrics available depend on the operating system, graphics API, hardware and measurement tool. Future presentation systems or frame-generation pipelines can also require additional distinctions between rendered, generated and displayed frames.\"},\"type\":\"paragraph\"},{\"id\":\"p-change-2\",\"data\":{\"text\":\"The core principle is unlikely to change: a throughput average cannot fully describe timing consistency. As long as interactive graphics are delivered as a sequence of frames, the distribution and timing of those frames matter.\"},\"type\":\"paragraph\"},{\"id\":\"h-limit\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-limit-1\",\"data\":{\"text\":\"This article is a diagnostic framework, not a claim that every stutter has the same root cause. Game engines, APIs, operating systems, drivers and rendering pipelines differ.\"},\"type\":\"paragraph\"},{\"id\":\"p-limit-2\",\"data\":{\"text\":\"Low-FPS metrics should also be interpreted within the methodology of the tool that produced them. Cross-tool comparisons can be misleading when the statistical definitions or capture pipelines differ.\"},\"type\":\"paragraph\"},{\"id\":\"h-conclusion\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"type\":\"header\"},{\"id\":\"p-conclusion-1\",\"data\":{\"text\":\"If a game shows high FPS but still feels bad, stop staring at the average.\"},\"type\":\"paragraph\"},{\"id\":\"p-conclusion-2\",\"data\":{\"text\":\"Measure the frame times. Inspect the slow tail. Find out when the spikes happen. Compare CPU and GPU timing. Then change one variable and repeat the same workload. Smoothness is not just how many frames your system can produce. It is how consistently those frames reach you.\"},\"type\":\"paragraph\"},{\"id\":\"h-faq\",\"data\":{\"text\":\"FAQ\",\"level\":2},\"type\":\"header\"},{\"id\":\"faq\",\"data\":{\"items\":[{\"id\":\"faq1\",\"answer\":\"Because 120 FPS is an average. Repeated long frames can create visible hitches even while many fast frames keep the average high.\",\"question\":\"Why does 120 FPS still feel stuttery?\"},{\"id\":\"faq2\",\"answer\":\"Frame time is the time required for an individual frame, usually measured in milliseconds. Lower and more consistent frame times generally indicate smoother delivery.\",\"question\":\"What is frame time?\"},{\"id\":\"faq3\",\"answer\":\"It is a metric intended to describe performance among the slowest frames. Exact implementations can differ by tool, so compare results using the same benchmark methodology.\",\"question\":\"What does 1% low FPS mean?\"},{\"id\":\"faq4\",\"answer\":\"Neither metric is sufficient by itself. Average FPS describes throughput, while low-FPS metrics and frame-time graphs expose consistency problems.\",\"question\":\"Is 1% low more important than average FPS?\"},{\"id\":\"faq5\",\"answer\":\"VRR can improve how variable frame delivery is presented, but it cannot eliminate a long frame caused by CPU, GPU, streaming or other workload stalls.\",\"question\":\"Can VRR fix micro-stutter?\"},{\"id\":\"faq6\",\"answer\":\"Sometimes a cap can improve consistency by leaving system headroom, but it should be tested with repeatable frame-time captures rather than assumed.\",\"question\":\"Should I cap FPS to reduce stutter?\"}],\"title\":\"FPS, frame time and stutter\"},\"type\":\"faq\"},{\"id\":\"h-glossary\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"type\":\"header\"},{\"id\":\"glossary\",\"data\":{\"title\":\"Key performance terms\",\"entries\":[{\"term\":\"Frame time\",\"anchor\":\"frame-time\",\"definition\":\"The time associated with producing or presenting an individual frame, usually expressed in milliseconds.\"},{\"term\":\"Average FPS\",\"anchor\":\"average-fps\",\"definition\":\"A throughput average describing the number of frames produced over a measured interval.\"},{\"term\":\"1% Low\",\"anchor\":\"one-percent-low\",\"definition\":\"A slow-frame performance metric. Exact calculation can differ by tool; NVIDIA FrameView describes its 1% Low as the average of the slowest 1% of frames.\"},{\"term\":\"Frame-time spike\",\"anchor\":\"frame-time-spike\",\"definition\":\"A frame whose duration is substantially longer than surrounding frames, often perceived as a hitch or stutter.\"},{\"term\":\"GPU Busy\",\"anchor\":\"gpu-busy\",\"definition\":\"A PresentMon timing metric used to compare GPU execution time with the broader frame interval and help diagnose CPU\u002FGPU balance.\"},{\"term\":\"Frame-Time Stability Test\",\"anchor\":\"frame-time-stability-test\",\"definition\":\"A Figure Rocks workflow for evaluating average throughput, frame-time distribution, slow-frame metrics and CPU\u002FGPU timing under repeatable conditions.\"}]},\"type\":\"glossary\"},{\"id\":\"h-sources\",\"data\":{\"text\":\"Primary sources\",\"level\":2},\"type\":\"header\"},{\"id\":\"src-intel-presentmon\",\"data\":{\"link\":\"https:\u002F\u002Fgame.intel.com\u002Fus\u002Fintel-presentmon\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Intel — PresentMon\",\"description\":\"Official Intel performance-monitoring tool with real-time graphs, percentiles, GPU telemetry, GPU Busy and support for major graphics APIs.\"}},\"type\":\"linkTool\"},{\"id\":\"src-nvidia-frameview\",\"data\":{\"link\":\"https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NVIDIA — FrameView\",\"description\":\"Official NVIDIA tool for measuring frame rate, frame time, power and performance-per-watt, using PresentMon-based analytics.\"}},\"type\":\"linkTool\"},{\"id\":\"src-nvidia-frameview-guide\",\"data\":{\"link\":\"https:\u002F\u002Fimages.nvidia.com\u002Fcontent\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002Fframeview-1-4-user-guide-web-version.pdf\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"NVIDIA — FrameView User Guide\",\"description\":\"Official documentation defining average FPS, percentile metrics, 1% Low and 0.1% Low and explaining how consistency relates to stutter.\"}},\"type\":\"linkTool\"},{\"id\":\"src-intel-optimization\",\"data\":{\"link\":\"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Farticles\u002Fguide\u002Flp-api-developer-optimization-guide.html\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Intel — Graphics API Developer and Optimization Guide\",\"description\":\"Official Intel guidance covering presentation modes, CPU scheduling considerations and the use of PresentMon for frame-presentation analysis.\"}},\"type\":\"linkTool\"}],\"version\":\"2.31.0\"}",{"time":1117,"blocks":1118,"version":1511},1790374470296,[1119,1122,1126,1130,1133,1136,1139,1142,1145,1148,1160,1163,1166,1187,1190,1193,1196,1199,1202,1206,1209,1212,1215,1218,1221,1246,1249,1252,1255,1273,1277,1280,1283,1286,1289,1292,1327,1330,1333,1336,1339,1342,1345,1348,1351,1354,1357,1361,1364,1386,1389,1413,1416,1419,1422,1425,1428,1431,1434,1437,1440,1442,1464,1467,1486,1489,1494,1499,1505],{"id":541,"data":1120,"type":544},{"text":1121},"A game can report 120, 144 or even 200 FPS and still feel rough. The reason is simple: average frame rate tells you how many frames were produced over time, but it does not tell you whether those frames arrived evenly. A few long frames can create visible hitching or micro-stutter even when the average FPS number looks excellent.",{"id":546,"data":1123,"type":551},{"body":1124,"title":1125,"variant":550},"\u003Cstrong>High average FPS does not guarantee smooth gameplay.\u003C\u002Fstrong> Smoothness depends on frame-time consistency: how evenly frames are delivered. To diagnose stutter, look at frame times, percentile or low-FPS metrics, and CPU\u002FGPU timing—not average FPS alone.","Direct answer",{"id":553,"data":1127,"type":551},{"body":1128,"title":1129,"variant":557},"The Smoothness Triangle and Frame-Time Stability Test below are practical Figure Rocks models. They are not formal Intel, NVIDIA or Microsoft terminology.","The model used in this article",{"id":559,"data":1131,"type":563},{"title":1132,"maxLevel":562,"minLevel":47},"Contents",{"id":565,"data":1134,"type":568},{"text":1135,"level":47},"FPS is an average; frame time is the rhythm",{"id":570,"data":1137,"type":544},{"text":1138},"FPS tells you how many frames are completed per second. Frame time tells you how long an individual frame takes.",{"id":574,"data":1140,"type":544},{"text":1141},"The rough conversion is simple: frame time in milliseconds is approximately 1000 divided by FPS. At 60 FPS, the frame budget is about 16.7 ms. At 120 FPS it is about 8.3 ms. At 144 FPS it is about 6.9 ms.",{"id":578,"data":1143,"type":544},{"text":1144},"But those numbers are only meaningful if frame delivery is reasonably consistent. A sequence of 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms can still average to a high FPS while producing a noticeable hitch.",{"id":582,"data":1146,"type":568},{"text":1147,"level":47},"The Smoothness Triangle",{"id":586,"data":1149,"type":600},{"steps":1150,"title":1159,"orientation":599},[1151,1153,1156],{"label":590,"description":1152},"Average FPS: how many frames the system produces over time.",{"label":1154,"description":1155},"2. Consistency","Frame-time distribution: whether frames arrive with a stable cadence or contain long outliers.",{"label":1157,"description":1158},"3. Responsiveness","Latency: how long it takes for input and game work to result in a visible frame.","Three different things determine how fast a game feels",{"id":602,"data":1161,"type":544},{"text":1162},"A system can be strong in one corner and weak in another. High FPS with unstable frame times can feel stuttery. Stable rendering with very high latency can feel smooth but sluggish. Good performance tuning has to identify which corner is actually failing.",{"id":606,"data":1164,"type":568},{"text":1165,"level":47},"Why average FPS hides stutter",{"id":610,"data":1167,"type":645},{"rows":1168,"title":1181,"layout":637,"columns":1182},[1169,1172,1175,1178],{"id":614,"label":1170,"values":1171},"Average FPS",{"stable":617,"unstable":617},{"id":619,"label":1173,"values":1174},"Most frame times",{"stable":622,"unstable":623},{"id":625,"label":1176,"values":1177},"Slow frames",{"stable":628,"unstable":629},{"id":631,"label":1179,"values":1180},"Player experience",{"stable":634,"unstable":635},"Two sessions can have the same average FPS and feel different",[1183,1185],{"id":640,"label":1184},"Stable session",{"id":643,"label":1186},"Unstable session",{"id":647,"data":1188,"type":544},{"text":1189},"The unstable session can compensate for long frames by rendering many very fast frames between spikes. The average stays high, but the player notices the spikes rather than the arithmetic mean.",{"id":651,"data":1191,"type":568},{"text":1192,"level":47},"What 1% lows are trying to show",{"id":655,"data":1194,"type":544},{"text":1195},"Low-FPS and percentile metrics exist because average FPS alone cannot describe the slow end of the frame distribution.",{"id":659,"data":1197,"type":544},{"text":1198},"NVIDIA FrameView reports average FPS together with 1% Low and 0.1% Low metrics. Its documentation describes 1% Low as the average of the slowest 1% of frames, and notes that the closer the low-FPS value is to the average, the more consistent the experience tends to be.",{"id":663,"data":1200,"type":544},{"text":1201},"NVIDIA also exposes percentile-based metrics such as the frame rate separating the slowest 1% of frames from the faster 99%. These are related concepts, but not every benchmark tool implements or labels low-FPS statistics in exactly the same way.",{"id":667,"data":1203,"type":551},{"body":1204,"title":1205,"variant":671},"Different tools can calculate, aggregate or label low-FPS and percentile statistics differently. Compare results from the \u003Cstrong>same tool and methodology\u003C\u002Fstrong> whenever possible.","Do not compare every “1% low” number as if the formula were universal",{"id":673,"data":1207,"type":568},{"text":1208,"level":47},"Frame-time graphs are often more useful than one summary number",{"id":677,"data":1210,"type":544},{"text":1211},"A frame-time graph shows the timing of frames across the capture. A flat or narrow band usually indicates consistent delivery. Tall isolated spikes reveal hitches. Repeating waves can point to periodic background work, streaming, synchronization or another recurring workload.",{"id":681,"data":1213,"type":544},{"text":1214},"Intel PresentMon is designed around this type of analysis. Intel's current tool can show real-time performance graphs, percentiles, moving-window averages and GPU telemetry, and it supports DirectX, OpenGL and Vulkan applications.",{"id":685,"data":1216,"type":544},{"text":1217},"NVIDIA FrameView likewise measures frame rate and frame time and can write detailed capture data to logs for later analysis.",{"id":689,"data":1219,"type":568},{"text":1220,"level":47},"The Frame-Time Stability Test",{"id":693,"data":1222,"type":600},{"steps":1223,"title":1245,"orientation":599},[1224,1227,1230,1233,1236,1239,1242],{"label":1225,"description":1226},"1. Capture a repeatable scene","Use the same route, benchmark, save point or gameplay sequence so different runs are comparable.",{"label":1228,"description":1229},"2. Record average FPS","Treat it as throughput, not as the final smoothness verdict.",{"label":1231,"description":1232},"3. Inspect frame-time consistency","Look for isolated spikes, repeating spikes, wide variance or long slow-frame clusters.",{"label":1234,"description":1235},"4. Check low-FPS or percentile metrics","Large gaps between average and slow-frame metrics are a warning that delivery is inconsistent.",{"label":1237,"description":1238},"5. Compare CPU and GPU timing","Determine whether the slow frame originates before the GPU, on the GPU, or from another part of the pipeline.",{"label":1240,"description":1241},"6. Change one variable at a time","Test frame cap, graphics setting, background process, shader state, storage path or driver\u002Fgame setting independently.",{"label":1243,"description":1244},"7. Repeat the same capture","A fix is meaningful only if the frame-time distribution improves under comparable conditions.","Diagnose whether high FPS is hiding stutter",{"id":719,"data":1247,"type":568},{"text":1248,"level":47},"CPU bottleneck and GPU bottleneck do not look identical",{"id":723,"data":1250,"type":544},{"text":1251},"A low frame rate does not tell you which processor is responsible for the delay. The CPU prepares game and rendering work; the GPU executes graphics work. Either side can become the pacing limit.",{"id":727,"data":1253,"type":544},{"text":1254},"Intel PresentMon's GPU Busy metric is specifically intended to help evaluate the relationship between GPU execution time and total frame time. This can help distinguish frames where the GPU is occupied for most of the interval from frames where a large part of the delay occurs elsewhere.",{"id":731,"data":1256,"type":645},{"rows":1257,"title":1267,"layout":637,"columns":1268},[1258,1261,1264],{"id":735,"label":1259,"values":1260},"GPU-bound",{"meaning":738,"pattern":739},{"id":741,"label":1262,"values":1263},"CPU \u002F pipeline constrained",{"meaning":744,"pattern":745},{"id":747,"label":1265,"values":1266},"Intermittent event",{"meaning":750,"pattern":751},"Simplified timing patterns",[1269,1271],{"id":755,"label":1270},"Typical timing pattern",{"id":758,"label":1272},"What it can suggest",{"id":761,"data":1274,"type":551},{"body":1275,"title":1276,"variant":557},"Timing patterns narrow the search space. They do not prove a specific root cause by themselves.","This is diagnostic evidence, not an automatic verdict",{"id":766,"data":1278,"type":568},{"text":1279,"level":47},"Why a frame cap can sometimes feel smoother than maximum FPS",{"id":770,"data":1281,"type":544},{"text":1282},"Running a game at the highest possible uncapped FPS can keep one part of the system near saturation. In some workloads, leaving headroom can reduce timing volatility and produce a more stable cadence.",{"id":774,"data":1284,"type":544},{"text":1285},"That does not mean every game should be capped to the same number. The useful test is empirical: capture the same workload uncapped and at one or more sensible caps, then compare frame-time stability and latency.",{"id":778,"data":1287,"type":544},{"text":1288},"A lower average with substantially tighter frame delivery can feel better than a higher average punctuated by frequent spikes.",{"id":782,"data":1290,"type":568},{"text":1291,"level":47},"Common causes of high-FPS stutter",{"id":786,"data":1293,"type":637},{"content":1294,"stretched":821,"withHeadings":15},[1295,1299,1303,1307,1311,1315,1319,1323],[1296,1297,1298],"Cause class","What you may see","What to test",[1300,1301,1302],"Shader or pipeline compilation","Spikes tied to first-time effects, locations or actions","Repeat the same sequence and compare later passes",[1304,1305,1306],"Asset \u002F world streaming","Spikes when entering areas or loading new content","Storage, texture settings, world-streaming behavior",[1308,1309,1310],"CPU scheduling \u002F background work","Irregular spikes unrelated to GPU load","Background processes, overlays, recording, CPU saturation",[1312,1313,1314],"GPU saturation","Consistently high GPU execution time","Lower expensive graphics settings or test a frame cap",[1316,1317,1318],"Memory pressure","Increasing hitching under heavy VRAM\u002FRAM use","Texture level, resolution, background applications, working-set behavior",[1320,1321,1322],"Presentation \u002F synchronization","Cadence problems around refresh or presentation modes","V-Sync, VRR, frame cap and display-mode combinations",[1324,1325,1326],"Driver or game regression","Problem appears after a specific update","Compare versions or official known-issue notes where practical",{"id":823,"data":1328,"type":568},{"text":1329,"level":47},"Shader compilation is a special case",{"id":827,"data":1331,"type":544},{"text":1332},"Some stutter is not a simple steady-state performance problem. A workload can run comfortably at high FPS until the game performs expensive work that occurs only at particular moments.",{"id":831,"data":1334,"type":544},{"text":1335},"Shader or pipeline compilation is one example. If a hitch appears the first time a specific effect or area is encountered but becomes smaller or disappears on later passes, that pattern is different from a GPU that is continuously too slow.",{"id":835,"data":1337,"type":544},{"text":1338},"This is why repeatable captures matter. One average number over an entire session can mix steady rendering and one-time events into a result that explains neither.",{"id":839,"data":1340,"type":568},{"text":1341,"level":47},"VRR does not repair bad frame times",{"id":843,"data":1343,"type":544},{"text":1344},"Variable refresh rate can align display refresh timing more closely with variable frame delivery and reduce visible tearing or judder within its operating range.",{"id":847,"data":1346,"type":544},{"text":1347},"But VRR does not make a 40 ms frame become an 8 ms frame. A large rendering or CPU stall remains a large stall. Display technology can improve presentation; it cannot remove work that delayed the frame in the first place.",{"id":851,"data":1349,"type":568},{"text":1350,"level":47},"Why 0.1% lows can become noisy",{"id":855,"data":1352,"type":544},{"text":1353},"Metrics focused on a very small fraction of frames are useful for exposing severe outliers, but they also become sensitive to capture duration and one-off events.",{"id":859,"data":1355,"type":544},{"text":1356},"A short capture containing one loading transition may produce a dramatically different extreme-low result than a longer, repeatable gameplay run. That does not make the metric useless; it means the test methodology matters.",{"id":863,"data":1358,"type":551},{"body":1359,"title":1360,"variant":867},"Average FPS answers throughput. Low-FPS and percentile metrics describe the slow tail. The frame-time graph shows \u003Cstrong>when\u003C\u002Fstrong> the bad frames happened. Use them together.","Use the metric to answer a question",{"id":869,"data":1362,"type":568},{"text":1363,"level":47},"A practical benchmark protocol",{"id":873,"data":1365,"type":600},{"steps":1366,"title":1385,"orientation":599},[1367,1370,1373,1376,1379,1382],{"label":1368,"description":1369},"Warm up","Let the game, shaders and assets reach a reasonably repeatable state when that matches the question you are testing.",{"label":1371,"description":1372},"Fix the conditions","Use the same resolution, settings, frame cap, location and workload.",{"label":1374,"description":1375},"Capture long enough","Avoid judging the slow tail from a tiny sample unless the event itself is what you want to measure.",{"label":1377,"description":1378},"Repeat","Run the same test multiple times to separate repeatable behavior from random background events.",{"label":1380,"description":1381},"Compare distributions","Look at average FPS, slow-frame metrics and the frame-time trace.",{"label":1383,"description":1384},"Record the environment","Game build, driver, operating system, hardware and major configuration changes matter for later comparisons.","Measure a game without fooling yourself",{"id":896,"data":1387,"type":568},{"text":1388,"level":47},"The Frame-Time Stability Scorecard",{"id":900,"data":1390,"type":645},{"rows":1391,"title":1407,"layout":637,"columns":1408},[1392,1395,1398,1401,1404],{"id":904,"label":1393,"values":1394},"Average throughput",{"good":907,"warning":908},{"id":910,"label":1396,"values":1397},"Slow-frame tail",{"good":913,"warning":914},{"id":916,"label":1399,"values":1400},"Frame-time trace",{"good":919,"warning":920},{"id":922,"label":1402,"values":1403},"Repeatability",{"good":925,"warning":926},{"id":928,"label":1405,"values":1406},"Timing diagnosis",{"good":931,"warning":932},"What to look for before calling a game “smooth”",[1409,1411],{"id":936,"label":1410},"Healthy signal",{"id":671,"label":1412},"Warning signal",{"id":941,"data":1414,"type":568},{"text":1415,"level":47},"What would change this answer?",{"id":945,"data":1417,"type":544},{"text":1418},"The exact metrics available depend on the operating system, graphics API, hardware and measurement tool. Future presentation systems or frame-generation pipelines can also require additional distinctions between rendered, generated and displayed frames.",{"id":949,"data":1420,"type":544},{"text":1421},"The core principle is unlikely to change: a throughput average cannot fully describe timing consistency. As long as interactive graphics are delivered as a sequence of frames, the distribution and timing of those frames matter.",{"id":953,"data":1423,"type":568},{"text":1424,"level":47},"Limitations",{"id":957,"data":1426,"type":544},{"text":1427},"This article is a diagnostic framework, not a claim that every stutter has the same root cause. Game engines, APIs, operating systems, drivers and rendering pipelines differ.",{"id":961,"data":1429,"type":544},{"text":1430},"Low-FPS metrics should also be interpreted within the methodology of the tool that produced them. Cross-tool comparisons can be misleading when the statistical definitions or capture pipelines differ.",{"id":965,"data":1432,"type":568},{"text":1433,"level":47},"Conclusion",{"id":969,"data":1435,"type":544},{"text":1436},"If a game shows high FPS but still feels bad, stop staring at the average.",{"id":973,"data":1438,"type":544},{"text":1439},"Measure the frame times. Inspect the slow tail. Find out when the spikes happen. Compare CPU and GPU timing. Then change one variable and repeat the same workload. Smoothness is not just how many frames your system can produce. It is how consistently those frames reach you.",{"id":977,"data":1441,"type":568},{"text":979,"level":47},{"id":981,"data":1443,"type":981},{"items":1444,"title":1463},[1445,1448,1451,1454,1457,1460],{"id":985,"answer":1446,"question":1447},"Because 120 FPS is an average. Repeated long frames can create visible hitches even while many fast frames keep the average high.","Why does 120 FPS still feel stuttery?",{"id":989,"answer":1449,"question":1450},"Frame time is the time required for an individual frame, usually measured in milliseconds. Lower and more consistent frame times generally indicate smoother delivery.","What is frame time?",{"id":993,"answer":1452,"question":1453},"It is a metric intended to describe performance among the slowest frames. Exact implementations can differ by tool, so compare results using the same benchmark methodology.","What does 1% low FPS mean?",{"id":997,"answer":1455,"question":1456},"Neither metric is sufficient by itself. Average FPS describes throughput, while low-FPS metrics and frame-time graphs expose consistency problems.","Is 1% low more important than average FPS?",{"id":1001,"answer":1458,"question":1459},"VRR can improve how variable frame delivery is presented, but it cannot eliminate a long frame caused by CPU, GPU, streaming or other workload stalls.","Can VRR fix micro-stutter?",{"id":1005,"answer":1461,"question":1462},"Sometimes a cap can improve consistency by leaving system headroom, but it should be tested with repeatable frame-time captures rather than assumed.","Should I cap FPS to reduce stutter?","FPS, frame time and stutter",{"id":1010,"data":1465,"type":568},{"text":1466,"level":47},"Glossary",{"id":1014,"data":1468,"type":1014},{"title":1469,"entries":1470},"Key performance terms",[1471,1474,1476,1478,1481,1483],{"term":1472,"anchor":1020,"definition":1473},"Frame time","The time associated with producing or presenting an individual frame, usually expressed in milliseconds.",{"term":1170,"anchor":1023,"definition":1475},"A throughput average describing the number of frames produced over a measured interval.",{"term":1026,"anchor":1027,"definition":1477},"A slow-frame performance metric. Exact calculation can differ by tool; NVIDIA FrameView describes its 1% Low as the average of the slowest 1% of frames.",{"term":1479,"anchor":1031,"definition":1480},"Frame-time spike","A frame whose duration is substantially longer than surrounding frames, often perceived as a hitch or stutter.",{"term":1034,"anchor":1035,"definition":1482},"A PresentMon timing metric used to compare GPU execution time with the broader frame interval and help diagnose CPU\u002FGPU balance.",{"term":1484,"anchor":1039,"definition":1485},"Frame-Time Stability Test","A Figure Rocks workflow for evaluating average throughput, frame-time distribution, slow-frame metrics and CPU\u002FGPU timing under repeatable conditions.",{"id":1042,"data":1487,"type":568},{"text":1488,"level":47},"Primary sources",{"id":1046,"data":1490,"type":1053},{"link":1048,"meta":1491},{"image":1492,"title":1051,"description":1493},{"url":13},"Official Intel performance-monitoring tool with real-time graphs, percentiles, GPU telemetry, GPU Busy and support for major graphics APIs.",{"id":1055,"data":1495,"type":1053},{"link":1057,"meta":1496},{"image":1497,"title":1060,"description":1498},{"url":13},"Official NVIDIA tool for measuring frame rate, frame time, power and performance-per-watt, using PresentMon-based analytics.",{"id":1063,"data":1500,"type":1053},{"link":1065,"meta":1501},{"image":1502,"title":1503,"description":1504},{"url":13},"NVIDIA — FrameView User Guide","Official documentation defining average FPS, percentile metrics, 1% Low and 0.1% Low and explaining how consistency relates to stutter.",{"id":1071,"data":1506,"type":1053},{"link":1073,"meta":1507},{"image":1508,"title":1509,"description":1510},{"url":13},"Intel — Graphics API Developer and Optimization Guide","Official Intel guidance covering presentation modes, CPU scheduling considerations and the use of PresentMon for frame-presentation analysis.","2.31.0","A game can report 120, 144 or even 200 FPS and still feel rough. This guide explains why average FPS can hide bad frame delivery, how frame time and 1% lows expose stutter, and how to diagnose whether the CPU, GPU or another part of the pipeline is causing the problem.",{"lang":7,"title":534,"content":536,"contentJson":1514,"excerpt":1079},{"time":538,"blocks":1515,"version":1078},[1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1540,1542,1544,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1590,1592,1594,1596,1608,1610,1612,1614,1616,1618,1620,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1664,1666,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1711,1713,1722,1724,1728,1732,1736],{"id":541,"data":1517,"type":544},{"text":543},{"id":546,"data":1519,"type":551},{"body":548,"title":549,"variant":550},{"id":553,"data":1521,"type":551},{"body":555,"title":556,"variant":557},{"id":559,"data":1523,"type":563},{"title":561,"maxLevel":562,"minLevel":47},{"id":565,"data":1525,"type":568},{"text":567,"level":47},{"id":570,"data":1527,"type":544},{"text":572},{"id":574,"data":1529,"type":544},{"text":576},{"id":578,"data":1531,"type":544},{"text":580},{"id":582,"data":1533,"type":568},{"text":584,"level":47},{"id":586,"data":1535,"type":600},{"steps":1536,"title":598,"orientation":599},[1537,1538,1539],{"label":590,"description":591},{"label":593,"description":594},{"label":596,"description":597},{"id":602,"data":1541,"type":544},{"text":604},{"id":606,"data":1543,"type":568},{"text":608,"level":47},{"id":610,"data":1545,"type":645},{"rows":1546,"title":636,"layout":637,"columns":1555},[1547,1549,1551,1553],{"id":614,"label":615,"values":1548},{"stable":617,"unstable":617},{"id":619,"label":620,"values":1550},{"stable":622,"unstable":623},{"id":625,"label":626,"values":1552},{"stable":628,"unstable":629},{"id":631,"label":632,"values":1554},{"stable":634,"unstable":635},[1556,1557],{"id":640,"label":641},{"id":643,"label":644},{"id":647,"data":1559,"type":544},{"text":649},{"id":651,"data":1561,"type":568},{"text":653,"level":47},{"id":655,"data":1563,"type":544},{"text":657},{"id":659,"data":1565,"type":544},{"text":661},{"id":663,"data":1567,"type":544},{"text":665},{"id":667,"data":1569,"type":551},{"body":669,"title":670,"variant":671},{"id":673,"data":1571,"type":568},{"text":675,"level":47},{"id":677,"data":1573,"type":544},{"text":679},{"id":681,"data":1575,"type":544},{"text":683},{"id":685,"data":1577,"type":544},{"text":687},{"id":689,"data":1579,"type":568},{"text":691,"level":47},{"id":693,"data":1581,"type":600},{"steps":1582,"title":717,"orientation":599},[1583,1584,1585,1586,1587,1588,1589],{"label":697,"description":698},{"label":700,"description":701},{"label":703,"description":704},{"label":706,"description":707},{"label":709,"description":710},{"label":712,"description":713},{"label":715,"description":716},{"id":719,"data":1591,"type":568},{"text":721,"level":47},{"id":723,"data":1593,"type":544},{"text":725},{"id":727,"data":1595,"type":544},{"text":729},{"id":731,"data":1597,"type":645},{"rows":1598,"title":752,"layout":637,"columns":1605},[1599,1601,1603],{"id":735,"label":736,"values":1600},{"meaning":738,"pattern":739},{"id":741,"label":742,"values":1602},{"meaning":744,"pattern":745},{"id":747,"label":748,"values":1604},{"meaning":750,"pattern":751},[1606,1607],{"id":755,"label":756},{"id":758,"label":759},{"id":761,"data":1609,"type":551},{"body":763,"title":764,"variant":557},{"id":766,"data":1611,"type":568},{"text":768,"level":47},{"id":770,"data":1613,"type":544},{"text":772},{"id":774,"data":1615,"type":544},{"text":776},{"id":778,"data":1617,"type":544},{"text":780},{"id":782,"data":1619,"type":568},{"text":784,"level":47},{"id":786,"data":1621,"type":637},{"content":1622,"stretched":821,"withHeadings":15},[1623,1624,1625,1626,1627,1628,1629,1630],[790,791,792],[794,795,796],[798,799,800],[802,803,804],[806,807,808],[810,811,812],[814,815,816],[818,819,820],{"id":823,"data":1632,"type":568},{"text":825,"level":47},{"id":827,"data":1634,"type":544},{"text":829},{"id":831,"data":1636,"type":544},{"text":833},{"id":835,"data":1638,"type":544},{"text":837},{"id":839,"data":1640,"type":568},{"text":841,"level":47},{"id":843,"data":1642,"type":544},{"text":845},{"id":847,"data":1644,"type":544},{"text":849},{"id":851,"data":1646,"type":568},{"text":853,"level":47},{"id":855,"data":1648,"type":544},{"text":857},{"id":859,"data":1650,"type":544},{"text":861},{"id":863,"data":1652,"type":551},{"body":865,"title":866,"variant":867},{"id":869,"data":1654,"type":568},{"text":871,"level":47},{"id":873,"data":1656,"type":600},{"steps":1657,"title":894,"orientation":599},[1658,1659,1660,1661,1662,1663],{"label":877,"description":878},{"label":880,"description":881},{"label":883,"description":884},{"label":886,"description":887},{"label":889,"description":890},{"label":892,"description":893},{"id":896,"data":1665,"type":568},{"text":898,"level":47},{"id":900,"data":1667,"type":645},{"rows":1668,"title":933,"layout":637,"columns":1679},[1669,1671,1673,1675,1677],{"id":904,"label":905,"values":1670},{"good":907,"warning":908},{"id":910,"label":911,"values":1672},{"good":913,"warning":914},{"id":916,"label":917,"values":1674},{"good":919,"warning":920},{"id":922,"label":923,"values":1676},{"good":925,"warning":926},{"id":928,"label":929,"values":1678},{"good":931,"warning":932},[1680,1681],{"id":936,"label":937},{"id":671,"label":939},{"id":941,"data":1683,"type":568},{"text":943,"level":47},{"id":945,"data":1685,"type":544},{"text":947},{"id":949,"data":1687,"type":544},{"text":951},{"id":953,"data":1689,"type":568},{"text":955,"level":47},{"id":957,"data":1691,"type":544},{"text":959},{"id":961,"data":1693,"type":544},{"text":963},{"id":965,"data":1695,"type":568},{"text":967,"level":47},{"id":969,"data":1697,"type":544},{"text":971},{"id":973,"data":1699,"type":544},{"text":975},{"id":977,"data":1701,"type":568},{"text":979,"level":47},{"id":981,"data":1703,"type":981},{"items":1704,"title":1008},[1705,1706,1707,1708,1709,1710],{"id":985,"answer":986,"question":987},{"id":989,"answer":990,"question":991},{"id":993,"answer":994,"question":995},{"id":997,"answer":998,"question":999},{"id":1001,"answer":1002,"question":1003},{"id":1005,"answer":1006,"question":1007},{"id":1010,"data":1712,"type":568},{"text":1012,"level":47},{"id":1014,"data":1714,"type":1014},{"title":1016,"entries":1715},[1716,1717,1718,1719,1720,1721],{"term":1019,"anchor":1020,"definition":1021},{"term":615,"anchor":1023,"definition":1024},{"term":1026,"anchor":1027,"definition":1028},{"term":1030,"anchor":1031,"definition":1032},{"term":1034,"anchor":1035,"definition":1036},{"term":1038,"anchor":1039,"definition":1040},{"id":1042,"data":1723,"type":568},{"text":1044,"level":47},{"id":1046,"data":1725,"type":1053},{"link":1048,"meta":1726},{"image":1727,"title":1051,"description":1052},{"url":13},{"id":1055,"data":1729,"type":1053},{"link":1057,"meta":1730},{"image":1731,"title":1060,"description":1061},{"url":13},{"id":1063,"data":1733,"type":1053},{"link":1065,"meta":1734},{"image":1735,"title":1068,"description":1069},{"url":13},{"id":1071,"data":1737,"type":1053},{"link":1073,"meta":1738},{"image":1739,"title":1076,"description":1077},{"url":13},"Post erfolgreich abgerufen",{"items":1742,"source":1806,"manualIds":1807,"manualMatchedIds":1808},[1743,1749,1756,1761,1766,1772,1777,1783,1788,1795,1802],{"id":1744,"slug":1745,"title":1746,"excerpt":1747,"featuredImage":14,"publishedAt":1748},"120","frame-pacing-why-smoothness-is-about-frametime-not-fps","Frame Pacing: Perché la fluidità riguarda il frametime, non gli FPS","FPS elevati possono comunque dare una brutta sensazione se il timing è irregolare. Scopri cos'è il frame pacing, cosa lo compromette e l'ordine di correzione che ripristina la sensazione di fluidità.","2026-02-19T11:00:00.000Z",{"id":1750,"slug":1751,"title":1752,"excerpt":1753,"featuredImage":1754,"publishedAt":1755},"442","dlss-4-5-6x-why-300-fps-does-not-mean-the-game-is-rendering-300-frames","DLSS 4.5 6X: Perché 300 FPS non significa che il gioco stia renderizzando 300 frame","DLSS 4.5 può generare fino a cinque frame aggiuntivi per ogni frame renderizzato tradizionalmente sulle GPU RTX 50 Series supportate. Questa guida spiega la differenza tra FPS renderizzati e FPS visualizzati, perché i colli di bottiglia della CPU possono essere aggirati a livello di presentazione e perché la latenza deve ancora essere misurata separatamente.","\u002Fuploads\u002F2026\u002F09\u002Fdlss-4-5-6x-why-300-fps-does-not-mean-the-game-is-rendering-300-frames-1790376124236-e2j567.webp","2026-09-25T18:40:00.000Z",{"id":1757,"slug":1758,"title":1759,"excerpt":1760,"featuredImage":14,"publishedAt":1748},"85","frame-pacing-why-60-fps-can-feel-worse-than-50-consistency-wins","Frame Pacing: Perché 60 FPS possono sembrare peggiori di 50 (La costanza vince)","La fluidità non è solo FPS. È il frame pacing. Scopri perché frametime costanti offrono una sensazione migliore rispetto a un FPS più elevato ma instabile e come stabilizzare il timing.",{"id":1762,"slug":1763,"title":1764,"excerpt":1765,"featuredImage":14,"publishedAt":1748},"69","frame-pacing-why-120-fps-can-feel-worse-than-60-smoothness-explained","Frame Pacing: Perché 120 FPS possono sembrare peggiori di 60 (La fluidità spiegata)","La fluidità è costanza nel tempismo, non il picco di FPS. Scopri cos'è il frame pacing, come i frametime creano stuttering e la base pratica che ne corregge la sensazione.",{"id":1767,"slug":1768,"title":1769,"excerpt":1770,"featuredImage":14,"publishedAt":1771},"208","frame-cap-recipes-stable-targets-for-vrr-and-non-vrr-setups","Ricette per il Frame Cap: Target stabili per configurazioni VRR e non VRR","Un buon cap è meglio di picchi instabili. Usa queste semplici ricette per il cap per stabilizzare il frame pacing su display VRR e non VRR.","2026-02-21T05:20:00.000Z",{"id":1773,"slug":1774,"title":1775,"excerpt":1776,"featuredImage":14,"publishedAt":1748},"100","frame-pacing-why-120-fps-can-still-feel-bad","Frame Pacing: Perché 120 FPS Può Ancora Dare una Sensazione Brutta","La fluidità è timing, non un numero. Scopri cos'è il frame pacing, perché frametime scadenti risultano scattosi anche ad alti FPS e l'ordine pratico delle soluzioni.",{"id":1778,"slug":1779,"title":1780,"excerpt":1781,"featuredImage":14,"publishedAt":1782},"237","shader-stutter-why-first-runs-hitch-and-how-to-reduce-it","Shader Stutter: Perché le prime esecuzioni scattano e come ridurlo","Lo stuttering degli shader si verifica quando nuovi effetti vengono compilati in tempo reale. Scopri come identificarlo rapidamente e i modi pratici per ridurre gli scatti senza tweak placebo.","2026-02-20T23:40:00.000Z",{"id":1784,"slug":1785,"title":1786,"excerpt":1787,"featuredImage":14,"publishedAt":1748},"80","cpu-stutter-vs-gpu-stutter-vs-shader-stutter-how-to-tell-what-you-have","Stutter della CPU vs Stutter della GPU vs Stutter degli Shader: Come capire quale hai","Non tutti gli scatti sono uguali. Scopri i tre tipi comuni di scatti, come si manifestano e il modo più rapido per diagnosticarli prima di modificare le impostazioni.",{"id":1789,"slug":1790,"title":1791,"excerpt":1792,"featuredImage":1793,"publishedAt":1794},"441","vram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","L'utilizzo della VRAM non è il requisito di VRAM: perché un misuratore di memoria pieno non racconta tutta la storia","Vedere 7,8 GB utilizzati su una scheda grafica da 8 GB può sembrare la prova che un gioco ha esaurito la VRAM. Non è così semplice. Questa guida spiega la capacità della VRAM, i budget di residenza, i working set, la memoria condivisa e come capire se la pressione sulla memoria sta effettivamente causando stutter.","\u002Fuploads\u002F2026\u002F09\u002Fvram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story-1790375650647-k854hg.webp","2026-09-25T18:33:00.000Z",{"id":1796,"slug":1797,"title":1798,"excerpt":1799,"featuredImage":1800,"publishedAt":1801},"450","why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","Perché i giochi per PC scattano durante la compilazione degli shader — e come l'Advanced Shader Delivery cambia le cose","Lo stutter degli shader si verifica quando un gioco per PC deve compilare programmi GPU nel momento sbagliato. Microsoft Advanced Shader Delivery sposta gran parte di questo lavoro fuori dal PC del giocatore, preparando in anticipo shader specifici per l'hardware e distribuendoli insieme al gioco.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it-1790406602956-ewtgf3.webp","2026-09-26T01:08:00.000Z",{"id":359,"slug":1803,"title":1804,"excerpt":1805,"featuredImage":14,"publishedAt":1748},"smoothness-frame-pacing-matters-more-than-fps","Fluidità: il frame pacing conta più degli FPS","La fluidità è una tempistica costante, non solo numeri più alti. Ecco come ragionare in termini di frametime ed eliminare la sensazione di ‘micro-stutter’.","fallback",[],[]]