[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:es":3,"public-menus:all":45,"post:why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained:es":531,"related:post:why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained:es:1":1746},{"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","es","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":1745},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1080,"featuredImage":1081,"featuredImageAlt":1082,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":821,"status":1083,"publishedAt":1084,"createdAt":1085,"updatedAt":1086,"seoLocalePaths":1087,"categories":1096,"author":1109,"translations":1113},"439","Por qué 120 FPS aún pueden sentirse mal: tiempo de fotograma, mínimos del 1 % y stutter explicados","why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u003Cp>Un juego puede reportar 120, 144 o incluso 200 FPS y aun así sentirse tosco. La razón es simple: la tasa de fotogramas promedio te dice cuántos fotogramas se produjeron a lo largo del tiempo, pero no te dice si esos fotogramas llegaron de manera uniforme. Unos pocos fotogramas largos pueden crear tirones visibles o micro-stutter incluso cuando el número de FPS promedio parece excelente.\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\">Respuesta directa\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>Un alto promedio de FPS no garantiza una jugabilidad fluida.\u003C\u002Fstrong> La fluidez depende de la consistencia del tiempo de fotograma: qué tan uniformemente se entregan los fotogramas. Para diagnosticar el stutter, observa los tiempos de fotograma, las métricas de percentiles o de FPS bajos, y los tiempos de CPU\u002FGPU, no solo el promedio de FPS.\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\">El modelo utilizado en este artículo\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">El Triángulo de Fluidez y la Prueba de Estabilidad del Tiempo de Fotograma a continuación son modelos prácticos de Figure Rocks. No son terminología formal de Intel, NVIDIA o Microsoft.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Contenido\">\u003Cstrong class=\"editorjs-toc__title\">Contenido\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\">Los FPS son un promedio; el tiempo de fotograma es el ritmo\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-9\" class=\"editorjs-toc__link\">El Triángulo de Fluidez\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-12\" class=\"editorjs-toc__link\">Por qué el promedio de FPS oculta el stutter\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Qué intentan mostrar los mínimos del 1%\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">Los gráficos de tiempo de fotograma suelen ser más útiles que una sola cifra resumen\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">La prueba de estabilidad del tiempo de fotograma\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-26\" class=\"editorjs-toc__link\">El cuello de botella de CPU y el de GPU no se ven idénticos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-31\" class=\"editorjs-toc__link\">Por qué un límite de fotogramas a veces puede sentirse más fluido que los FPS máximos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-35\" class=\"editorjs-toc__link\">Causas comunes de stutter con FPS altos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-37\" class=\"editorjs-toc__link\">La compilación de shaders es un caso especial\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-41\" class=\"editorjs-toc__link\">VRR no repara tiempos de fotograma malos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Por qué los mínimos del 0,1 % pueden volverse ruidosos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Un protocolo práctico de benchmark\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-50\" class=\"editorjs-toc__link\">La tarjeta de puntuación de estabilidad del tiempo de fotograma\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">Qué cambiaría esta respuesta\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-55\" class=\"editorjs-toc__link\">Limitaciones\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">Conclusión\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-61\" class=\"editorjs-toc__link\">Preguntas frecuentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-63\" class=\"editorjs-toc__link\">Glosario\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Fuentes principales\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-5\">Los FPS son un promedio; el tiempo de fotograma es el ritmo\u003C\u002Fh2>\n\u003Cp>Los FPS te dicen cuántos fotogramas se completan por segundo. El tiempo de fotograma te dice cuánto tarda un fotograma individual.\u003C\u002Fp>\n\u003Cp>La conversión aproximada es simple: el tiempo de fotograma en milisegundos es aproximadamente 1000 dividido por los FPS. A 60 FPS, el presupuesto de fotograma es de aproximadamente 16.7 ms. A 120 FPS es de aproximadamente 8.3 ms. A 144 FPS es de aproximadamente 6.9 ms.\u003C\u002Fp>\n\u003Cp>Pero esos números solo son significativos si la entrega de fotogramas es razonablemente consistente. Una secuencia de 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms puede seguir promediando un alto FPS mientras produce un tirón notable.\u003C\u002Fp>\n\u003Ch2 id=\"section-9\">El Triángulo de Fluidez\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Tres cosas diferentes determinan qué tan rápido se siente un juego\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. Rendimiento\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">FPS promedio: cuántos fotogramas produce el sistema a lo largo del tiempo.\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. Consistencia\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Distribución del tiempo de fotograma: si los fotogramas llegan con una cadencia estable o contienen valores atípicos largos.\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. Capacidad de respuesta\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Latencia: cuánto tarda la entrada y el trabajo del juego en dar como resultado un fotograma visible.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>Un sistema puede ser fuerte en una esquina y débil en otra. Un alto FPS con tiempos de fotograma inestables puede sentirse entrecortado. Una renderización estable con una latencia muy alta puede sentirse fluida pero lenta. Una buena optimización del rendimiento tiene que identificar qué esquina está fallando realmente.\u003C\u002Fp>\n\u003Ch2 id=\"section-12\">Por qué el promedio de FPS oculta el stutter\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Dos sesiones pueden tener el mismo promedio de FPS y sentirse diferentes\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\">Sesión estable\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\">Sesión inestable\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 promedio\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\">La mayoría de los tiempos de fotograma\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\">Fotogramas lentos\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\">Experiencia del jugador\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 sesión inestable puede compensar los fotogramas largos renderizando muchos fotogramas muy rápidos entre los picos. El promedio se mantiene alto, pero el jugador nota los picos en lugar de la media aritmética.\u003C\u002Fp>\n\u003Ch2 id=\"section-15\">Qué intentan mostrar los mínimos del 1%\u003C\u002Fh2>\n\u003Cp>Las métricas de FPS bajos y percentiles existen porque el promedio de FPS por sí solo no puede describir el extremo lento de la distribución de fotogramas.\u003C\u002Fp>\n\u003Cp>NVIDIA FrameView reporta el FPS promedio junto con las métricas de Mínimo del 1% y Mínimo del 0.1%. Su documentación describe el Mínimo del 1% como el promedio de los fotogramas más lentos del 1%, y señala que cuanto más cerca esté el valor de FPS bajo del promedio, más consistente tiende a ser la experiencia.\u003C\u002Fp>\n\u003Cp>NVIDIA también expone métricas basadas en percentiles, como la tasa de fotogramas que separa el 1% de fotogramas más lentos del 99% más rápido. Estos son conceptos relacionados, pero no todas las herramientas de benchmark implementan o etiquetan las estadísticas de FPS bajos exactamente de la misma manera.\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\">No compares cada cifra de “1% low” como si la fórmula fuera universal\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Diferentes herramientas pueden calcular, agregar o etiquetar las estadísticas de FPS bajos y percentiles de manera distinta. Compara los resultados de la \u003Cstrong>misma herramienta y metodología\u003C\u002Fstrong> siempre que sea posible.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-20\">Los gráficos de tiempo de fotograma suelen ser más útiles que una sola cifra resumen\u003C\u002Fh2>\n\u003Cp>Un gráfico de tiempo de fotograma muestra la sincronización de los fotogramas a lo largo de la captura. Una banda plana o estrecha suele indicar una entrega constante. Los picos aislados altos revelan tirones. Las ondas repetitivas pueden señalar trabajo periódico en segundo plano, streaming, sincronización u otra carga de trabajo recurrente.\u003C\u002Fp>\n\u003Cp>Intel PresentMon está diseñado en torno a este tipo de análisis. La herramienta actual de Intel puede mostrar gráficos de rendimiento en tiempo real, percentiles, promedios de ventana móvil y telemetría de GPU, y es compatible con aplicaciones DirectX, OpenGL y Vulkan.\u003C\u002Fp>\n\u003Cp>NVIDIA FrameView también mide la tasa de fotogramas y el tiempo de fotograma y puede escribir datos de captura detallados en registros para su posterior análisis.\u003C\u002Fp>\n\u003Ch2 id=\"section-24\">La prueba de estabilidad del tiempo de fotograma\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Diagnostica si los FPS altos están ocultando 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. Captura una escena repetible\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Usa la misma ruta, benchmark, punto de guardado o secuencia de juego para que las diferentes ejecuciones sean comparables.\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 los FPS promedio\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Trátalos como rendimiento, no como el veredicto final de fluidez.\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. Inspecciona la consistencia del tiempo de fotograma\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Busca picos aislados, picos repetitivos, varianza amplia o grupos de fotogramas lentos prolongados.\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. Revisa las métricas de FPS bajos o percentiles\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Grandes diferencias entre el promedio y las métricas de fotogramas lentos son una advertencia de que la entrega es inconsistente.\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. Compara los tiempos de CPU y GPU\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Determina si el fotograma lento se origina antes de la GPU, en la GPU o en otra parte de la canalización.\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 variable a la vez\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Prueba el límite de fotogramas, la configuración gráfica, el proceso en segundo plano, el estado del shader, la ruta de almacenamiento o la configuración del controlador\u002Fjuego de forma independiente.\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. Repite la misma captura\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Una solución solo es significativa si la distribución del tiempo de fotograma mejora en condiciones comparables.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-26\">El cuello de botella de CPU y el de GPU no se ven idénticos\u003C\u002Fh2>\n\u003Cp>Una tasa de fotogramas baja no te dice qué procesador es responsable del retraso. La CPU prepara el trabajo del juego y de renderizado; la GPU ejecuta el trabajo gráfico. Cualquiera de los dos lados puede convertirse en el límite del ritmo.\u003C\u002Fp>\n\u003Cp>La métrica GPU Busy de Intel PresentMon está diseñada específicamente para ayudar a evaluar la relación entre el tiempo de ejecución de la GPU y el tiempo total del fotograma. Esto puede ayudar a distinguir fotogramas en los que la GPU está ocupada durante la mayor parte del intervalo de fotogramas en los que gran parte del retraso ocurre en otro lugar.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Patrones de sincronización simplificados\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\">Patrón de sincronización típico\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\">Qué puede sugerir\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\">Limitado por 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\">Limitado por CPU \u002F canalización\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 intermitente\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\">Esto es evidencia de diagnóstico, no un veredicto automático\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Los patrones de sincronización reducen el espacio de búsqueda. No prueban por sí solos una causa raíz específica.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-31\">Por qué un límite de fotogramas a veces puede sentirse más fluido que los FPS máximos\u003C\u002Fh2>\n\u003Cp>Ejecutar un juego a los FPS máximos posibles sin límite puede mantener una parte del sistema cerca de la saturación. En algunas cargas de trabajo, dejar margen puede reducir la volatilidad de la sincronización y producir una cadencia más estable.\u003C\u002Fp>\n\u003Cp>Eso no significa que todos los juegos deban limitarse al mismo número. La prueba útil es empírica: captura la misma carga de trabajo sin límite y con uno o más límites razonables, luego compara la estabilidad del tiempo de fotograma y la latencia.\u003C\u002Fp>\n\u003Cp>Un promedio más bajo con una entrega de fotogramas sustancialmente más ajustada puede sentirse mejor que un promedio más alto salpicado de picos frecuentes.\u003C\u002Fp>\n\u003Ch2 id=\"section-35\">Causas comunes de stutter con FPS altos\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\">Clase de causa\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Lo que puedes ver\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Qué probar\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Compilación de shaders o canalización\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Picos vinculados a efectos, ubicaciones o acciones por primera vez\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Repite la misma secuencia y compara pasadas posteriores\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Streaming de recursos \u002F mundo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Picos al entrar en áreas o cargar contenido nuevo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Almacenamiento, configuración de texturas, comportamiento del streaming del mundo\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Planificación de CPU \u002F trabajo en segundo plano\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Picos irregulares no relacionados con la carga de GPU\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Procesos en segundo plano, superposiciones, grabación, saturación de CPU\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Saturación de GPU\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tiempo de ejecución de GPU consistentemente alto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Baja la configuración gráfica costosa o prueba un límite de fotogramas\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Presión de memoria\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aumento de tirones bajo uso intensivo de VRAM\u002FRAM\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nivel de textura, resolución, aplicaciones en segundo plano, comportamiento del conjunto de trabajo\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Presentación \u002F sincronización\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Problemas de cadencia en torno a modos de refresco o presentación\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Combinaciones de V-Sync, VRR, límite de fotogramas y modo de pantalla\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Regresión de controlador o juego\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El problema aparece después de una actualización específica\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Compara versiones o notas oficiales de problemas conocidos cuando sea práctico\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-37\">La compilación de shaders es un caso especial\u003C\u002Fh2>\n\u003Cp>Algunos tirones no son un simple problema de rendimiento en estado estacionario. Una carga de trabajo puede funcionar cómodamente a FPS altos hasta que el juego realiza un trabajo costoso que solo ocurre en momentos concretos.\u003C\u002Fp>\n\u003Cp>La compilación de shaders o de pipelines es un ejemplo. Si aparece un tirón la primera vez que se encuentra un efecto o una zona específica, pero se reduce o desaparece en pasadas posteriores, ese patrón es diferente al de una GPU que es continuamente demasiado lenta.\u003C\u002Fp>\n\u003Cp>Por eso importan las capturas repetibles. Un único número promedio de toda una sesión puede mezclar el renderizado constante y los eventos puntuales en un resultado que no explica ninguno de los dos.\u003C\u002Fp>\n\u003Ch2 id=\"section-41\">VRR no repara tiempos de fotograma malos\u003C\u002Fh2>\n\u003Cp>La tasa de refresco variable puede alinear más estrechamente la sincronización del refresco de la pantalla con la entrega variable de fotogramas y reducir el tearing o el judder visibles dentro de su rango de funcionamiento.\u003C\u002Fp>\n\u003Cp>Pero VRR no hace que un fotograma de 40 ms se convierta en uno de 8 ms. Una gran pausa de renderizado o de CPU sigue siendo una gran pausa. La tecnología de pantalla puede mejorar la presentación; no puede eliminar el trabajo que retrasó el fotograma en primer lugar.\u003C\u002Fp>\n\u003Ch2 id=\"section-44\">Por qué los mínimos del 0,1 % pueden volverse ruidosos\u003C\u002Fh2>\n\u003Cp>Las métricas centradas en una fracción muy pequeña de fotogramas son útiles para exponer valores atípicos graves, pero también se vuelven sensibles a la duración de la captura y a los eventos puntuales.\u003C\u002Fp>\n\u003Cp>Una captura corta que contenga una transición de carga puede producir un resultado extremo bajo muy diferente al de una partida más larga y repetible. Eso no hace que la métrica sea inútil; significa que la metodología de prueba importa.\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 métrica para responder a una pregunta\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Los FPS promedio responden al rendimiento. Las métricas de FPS bajos y percentiles describen la cola lenta. El gráfico de tiempo de fotograma muestra \u003Cstrong>cuándo\u003C\u002Fstrong> ocurrieron los fotogramas malos. Úsalos juntos.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-48\">Un protocolo práctico de benchmark\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Mide un juego sin engañarte a ti mismo\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\">Calentar\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Deja que el juego, los shaders y los recursos alcancen un estado razonablemente repetible cuando eso coincida con la pregunta que estás probando.\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\">Fijar las condiciones\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Usa la misma resolución, ajustes, límite de fotogramas, ubicación y carga de trabajo.\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\">Capturar el tiempo suficiente\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Evita juzgar la cola lenta a partir de una muestra diminuta, a menos que el evento en sí sea lo que quieres medir.\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\">Repetir\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Ejecuta la misma prueba varias veces para separar el comportamiento repetible de los eventos aleatorios en segundo plano.\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\">Comparar distribuciones\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Observa los FPS promedio, las métricas de fotogramas lentos y el trazado del tiempo de fotograma.\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\">Registrar el entorno\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">La versión del juego, el controlador, el sistema operativo, el hardware y los cambios importantes de configuración importan para comparaciones posteriores.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-50\">La tarjeta de puntuación de estabilidad del tiempo de fotograma\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Qué buscar antes de llamar a un juego “fluido”\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\">Señal saludable\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\">Señal de advertencia\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\">Rendimiento promedio\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\">Cola de fotogramas lentos\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\">Trazado del tiempo de fotograma\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\">Repetibilidad\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\">Diagnóstico de sincronización\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\">Qué cambiaría esta respuesta\u003C\u002Fh2>\n\u003Cp>Las métricas exactas disponibles dependen del sistema operativo, la API de gráficos, el hardware y la herramienta de medición. Los futuros sistemas de presentación o pipelines de generación de fotogramas también pueden requerir distinciones adicionales entre fotogramas renderizados, generados y mostrados.\u003C\u002Fp>\n\u003Cp>Es poco probable que cambie el principio fundamental: un promedio de rendimiento no puede describir por completo la consistencia temporal. Mientras los gráficos interactivos se entreguen como una secuencia de fotogramas, la distribución y la sincronización de esos fotogramas importan.\u003C\u002Fp>\n\u003Ch2 id=\"section-55\">Limitaciones\u003C\u002Fh2>\n\u003Cp>Este artículo es un marco de diagnóstico, no una afirmación de que cada tartamudeo tenga la misma causa raíz. Los motores de juego, las API, los sistemas operativos, los controladores y las canalizaciones de renderizado difieren.\u003C\u002Fp>\n\u003Cp>Las métricas de FPS bajos también deben interpretarse dentro de la metodología de la herramienta que las produjo. Las comparaciones entre herramientas pueden ser engañosas cuando las definiciones estadísticas o las canalizaciones de captura difieren.\u003C\u002Fp>\n\u003Ch2 id=\"section-58\">Conclusión\u003C\u002Fh2>\n\u003Cp>Si un juego muestra FPS altos pero aún se siente mal, deja de mirar el promedio.\u003C\u002Fp>\n\u003Cp>Mide los tiempos de fotograma. Inspecciona la cola lenta. Averigua cuándo ocurren los picos. Compara los tiempos de CPU y GPU. Luego cambia una variable y repite la misma carga de trabajo. La fluidez no es solo cuántos fotogramas puede producir tu sistema. Es la consistencia con la que esos fotogramas te llegan.\u003C\u002Fp>\n\u003Ch2 id=\"section-61\">Preguntas frecuentes\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, tiempo de fotograma y tartamudeo\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\">¿Por qué 120 FPS todavía se sienten entrecortados?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Porque 120 FPS es un promedio. Los fotogramas largos repetidos pueden crear saltos visibles incluso mientras muchos fotogramas rápidos mantienen el promedio alto.\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\">¿Qué es el tiempo de fotograma?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">El tiempo de fotograma es el tiempo requerido para un fotograma individual, generalmente medido en milisegundos. Tiempos de fotograma más bajos y más consistentes generalmente indican una entrega más 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\">¿Qué significa 1% de FPS bajos?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Es una métrica destinada a describir el rendimiento entre los fotogramas más lentos. Las implementaciones exactas pueden diferir según la herramienta, así que compara los resultados usando la misma metodología de referencia.\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\">¿Es más importante el 1% bajo que el promedio de FPS?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ninguna métrica es suficiente por sí sola. El promedio de FPS describe el rendimiento, mientras que las métricas de FPS bajos y los gráficos de tiempo de fotograma exponen problemas de consistencia.\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\">¿Puede VRR solucionar el micro-tartamudeo?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">VRR puede mejorar cómo se presenta la entrega variable de fotogramas, pero no puede eliminar un fotograma largo causado por bloqueos de CPU, GPU, streaming u otra carga de trabajo.\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\">¿Debería limitar los FPS para reducir el tartamudeo?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">A veces un límite puede mejorar la consistencia al dejar margen en el sistema, pero debe probarse con capturas de tiempo de fotograma repetibles en lugar de asumirse.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-63\">Glosario\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\">Términos clave de rendimiento\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\">Tiempo de fotograma\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">El tiempo asociado con la producción o presentación de un fotograma individual, generalmente expresado en milisegundos.\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\">Promedio de FPS\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un promedio de rendimiento que describe el número de fotogramas producidos durante un intervalo medido.\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% bajo\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una métrica de rendimiento de fotogramas lentos. El cálculo exacto puede diferir según la herramienta; NVIDIA FrameView describe su 1% bajo como el promedio del 1% de fotogramas más lentos.\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\">Pico de tiempo de fotograma\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un fotograma cuya duración es sustancialmente más larga que los fotogramas circundantes, a menudo percibido como un salto o tartamudeo.\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 ocupada\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una métrica de tiempo de PresentMon utilizada para comparar el tiempo de ejecución de la GPU con el intervalo de fotograma más amplio y ayudar a diagnosticar el 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\">Prueba de estabilidad del tiempo de fotograma\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un flujo de trabajo de Figure Rocks para evaluar el rendimiento promedio, la distribución del tiempo de fotograma, las métricas de fotogramas lentos y los tiempos de CPU\u002FGPU en condiciones repetibles.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-65\">Fuentes principales\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\">Herramienta oficial de monitoreo de rendimiento de Intel con gráficos en tiempo real, percentiles, telemetría de GPU, GPU ocupada y soporte para las principales API gráficas.\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\">Herramienta oficial de NVIDIA para medir la tasa de fotogramas, el tiempo de fotograma, la potencia y el rendimiento por vatio, utilizando análisis basados en 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 — Guía del usuario de FrameView\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentación oficial que define el promedio de FPS, las métricas de percentiles, el 1% bajo y el 0.1% bajo y explica cómo se relaciona la consistencia con el tartamudeo.\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 — Guía de optimización y desarrollador de API gráficas\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Guía oficial de Intel que cubre modos de presentación, consideraciones de programación de CPU y el uso de PresentMon para el análisis de presentación de fotogramas.\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1079},1790374806277,[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,1042,1046,1055,1063,1071],{"id":541,"data":542,"type":544},"intro",{"text":543},"Un juego puede reportar 120, 144 o incluso 200 FPS y aun así sentirse tosco. La razón es simple: la tasa de fotogramas promedio te dice cuántos fotogramas se produjeron a lo largo del tiempo, pero no te dice si esos fotogramas llegaron de manera uniforme. Unos pocos fotogramas largos pueden crear tirones visibles o micro-stutter incluso cuando el número de FPS promedio parece excelente.","paragraph",{"id":546,"data":547,"type":551},"direct",{"body":548,"title":549,"variant":550},"\u003Cstrong>Un alto promedio de FPS no garantiza una jugabilidad fluida.\u003C\u002Fstrong> La fluidez depende de la consistencia del tiempo de fotograma: qué tan uniformemente se entregan los fotogramas. Para diagnosticar el stutter, observa los tiempos de fotograma, las métricas de percentiles o de FPS bajos, y los tiempos de CPU\u002FGPU, no solo el promedio de FPS.","Respuesta directa","info","callout",{"id":553,"data":554,"type":551},"model-note",{"body":555,"title":556,"variant":557},"El Triángulo de Fluidez y la Prueba de Estabilidad del Tiempo de Fotograma a continuación son modelos prácticos de Figure Rocks. No son terminología formal de Intel, NVIDIA o Microsoft.","El modelo utilizado en este artículo","note",{"id":559,"data":560,"type":563},"toc",{"title":561,"maxLevel":562,"minLevel":47},"Contenido",3,"tableOfContents",{"id":565,"data":566,"type":568},"h-fps-vs-ft",{"text":567,"level":47},"Los FPS son un promedio; el tiempo de fotograma es el ritmo","header",{"id":570,"data":571,"type":544},"p-fps-1",{"text":572},"Los FPS te dicen cuántos fotogramas se completan por segundo. El tiempo de fotograma te dice cuánto tarda un fotograma individual.",{"id":574,"data":575,"type":544},"p-fps-2",{"text":576},"La conversión aproximada es simple: el tiempo de fotograma en milisegundos es aproximadamente 1000 dividido por los FPS. A 60 FPS, el presupuesto de fotograma es de aproximadamente 16.7 ms. A 120 FPS es de aproximadamente 8.3 ms. A 144 FPS es de aproximadamente 6.9 ms.",{"id":578,"data":579,"type":544},"p-fps-3",{"text":580},"Pero esos números solo son significativos si la entrega de fotogramas es razonablemente consistente. Una secuencia de 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms puede seguir promediando un alto FPS mientras produce un tirón notable.",{"id":582,"data":583,"type":568},"h-triangle",{"text":584,"level":47},"El Triángulo de Fluidez",{"id":586,"data":587,"type":600},"triangle-flow",{"steps":588,"title":598,"orientation":599},[589,592,595],{"label":590,"description":591},"1. Rendimiento","FPS promedio: cuántos fotogramas produce el sistema a lo largo del tiempo.",{"label":593,"description":594},"2. Consistencia","Distribución del tiempo de fotograma: si los fotogramas llegan con una cadencia estable o contienen valores atípicos largos.",{"label":596,"description":597},"3. Capacidad de respuesta","Latencia: cuánto tarda la entrada y el trabajo del juego en dar como resultado un fotograma visible.","Tres cosas diferentes determinan qué tan rápido se siente un juego","auto","processFlow",{"id":602,"data":603,"type":544},"p-triangle",{"text":604},"Un sistema puede ser fuerte en una esquina y débil en otra. Un alto FPS con tiempos de fotograma inestables puede sentirse entrecortado. Una renderización estable con una latencia muy alta puede sentirse fluida pero lenta. Una buena optimización del rendimiento tiene que identificar qué esquina está fallando realmente.",{"id":606,"data":607,"type":568},"h-average",{"text":608,"level":47},"Por qué el promedio de FPS oculta el 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 promedio",{"stable":617,"unstable":617},"120 FPS",{"id":619,"label":620,"values":621},"normal","La mayoría de los tiempos de fotograma",{"stable":622,"unstable":623},"Around 8–9 ms","Mostly 5–7 ms",{"id":625,"label":626,"values":627},"outliers","Fotogramas lentos",{"stable":628,"unstable":629},"Few meaningful spikes","Repeated 25–50 ms spikes",{"id":631,"label":632,"values":633},"feel","Experiencia del jugador",{"stable":634,"unstable":635},"Consistent motion","Hitches despite the high average","Dos sesiones pueden tener el mismo promedio de FPS y sentirse diferentes","table",[639,642],{"id":640,"label":641},"stable","Sesión estable",{"id":643,"label":644},"unstable","Sesión inestable","comparison",{"id":647,"data":648,"type":544},"p-average-1",{"text":649},"La sesión inestable puede compensar los fotogramas largos renderizando muchos fotogramas muy rápidos entre los picos. El promedio se mantiene alto, pero el jugador nota los picos en lugar de la media aritmética.",{"id":651,"data":652,"type":568},"h-onepercent",{"text":653,"level":47},"Qué intentan mostrar los mínimos del 1%",{"id":655,"data":656,"type":544},"p-low-1",{"text":657},"Las métricas de FPS bajos y percentiles existen porque el promedio de FPS por sí solo no puede describir el extremo lento de la distribución de fotogramas.",{"id":659,"data":660,"type":544},"p-low-2",{"text":661},"NVIDIA FrameView reporta el FPS promedio junto con las métricas de Mínimo del 1% y Mínimo del 0.1%. Su documentación describe el Mínimo del 1% como el promedio de los fotogramas más lentos del 1%, y señala que cuanto más cerca esté el valor de FPS bajo del promedio, más consistente tiende a ser la experiencia.",{"id":663,"data":664,"type":544},"p-low-3",{"text":665},"NVIDIA también expone métricas basadas en percentiles, como la tasa de fotogramas que separa el 1% de fotogramas más lentos del 99% más rápido. Estos son conceptos relacionados, pero no todas las herramientas de benchmark implementan o etiquetan las estadísticas de FPS bajos exactamente de la misma manera.",{"id":667,"data":668,"type":551},"low-warning",{"body":669,"title":670,"variant":671},"Diferentes herramientas pueden calcular, agregar o etiquetar las estadísticas de FPS bajos y percentiles de manera distinta. Compara los resultados de la \u003Cstrong>misma herramienta y metodología\u003C\u002Fstrong> siempre que sea posible.","No compares cada cifra de “1% low” como si la fórmula fuera universal","warning",{"id":673,"data":674,"type":568},"h-graph",{"text":675,"level":47},"Los gráficos de tiempo de fotograma suelen ser más útiles que una sola cifra resumen",{"id":677,"data":678,"type":544},"p-graph-1",{"text":679},"Un gráfico de tiempo de fotograma muestra la sincronización de los fotogramas a lo largo de la captura. Una banda plana o estrecha suele indicar una entrega constante. Los picos aislados altos revelan tirones. Las ondas repetitivas pueden señalar trabajo periódico en segundo plano, streaming, sincronización u otra carga de trabajo recurrente.",{"id":681,"data":682,"type":544},"p-graph-2",{"text":683},"Intel PresentMon está diseñado en torno a este tipo de análisis. La herramienta actual de Intel puede mostrar gráficos de rendimiento en tiempo real, percentiles, promedios de ventana móvil y telemetría de GPU, y es compatible con aplicaciones DirectX, OpenGL y Vulkan.",{"id":685,"data":686,"type":544},"p-graph-3",{"text":687},"NVIDIA FrameView también mide la tasa de fotogramas y el tiempo de fotograma y puede escribir datos de captura detallados en registros para su posterior análisis.",{"id":689,"data":690,"type":568},"h-test",{"text":691,"level":47},"La prueba de estabilidad del tiempo de fotograma",{"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. Captura una escena repetible","Usa la misma ruta, benchmark, punto de guardado o secuencia de juego para que las diferentes ejecuciones sean comparables.",{"label":700,"description":701},"2. Registra los FPS promedio","Trátalos como rendimiento, no como el veredicto final de fluidez.",{"label":703,"description":704},"3. Inspecciona la consistencia del tiempo de fotograma","Busca picos aislados, picos repetitivos, varianza amplia o grupos de fotogramas lentos prolongados.",{"label":706,"description":707},"4. Revisa las métricas de FPS bajos o percentiles","Grandes diferencias entre el promedio y las métricas de fotogramas lentos son una advertencia de que la entrega es inconsistente.",{"label":709,"description":710},"5. Compara los tiempos de CPU y GPU","Determina si el fotograma lento se origina antes de la GPU, en la GPU o en otra parte de la canalización.",{"label":712,"description":713},"6. Cambia una variable a la vez","Prueba el límite de fotogramas, la configuración gráfica, el proceso en segundo plano, el estado del shader, la ruta de almacenamiento o la configuración del controlador\u002Fjuego de forma independiente.",{"label":715,"description":716},"7. Repite la misma captura","Una solución solo es significativa si la distribución del tiempo de fotograma mejora en condiciones comparables.","Diagnostica si los FPS altos están ocultando stutter",{"id":719,"data":720,"type":568},"h-bottleneck",{"text":721,"level":47},"El cuello de botella de CPU y el de GPU no se ven idénticos",{"id":723,"data":724,"type":544},"p-bottle-1",{"text":725},"Una tasa de fotogramas baja no te dice qué procesador es responsable del retraso. La CPU prepara el trabajo del juego y de renderizado; la GPU ejecuta el trabajo gráfico. Cualquiera de los dos lados puede convertirse en el límite del ritmo.",{"id":727,"data":728,"type":544},"p-bottle-2",{"text":729},"La métrica GPU Busy de Intel PresentMon está diseñada específicamente para ayudar a evaluar la relación entre el tiempo de ejecución de la GPU y el tiempo total del fotograma. Esto puede ayudar a distinguir fotogramas en los que la GPU está ocupada durante la mayor parte del intervalo de fotogramas en los que gran parte del retraso ocurre en otro lugar.",{"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","Limitado por 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","Limitado por CPU \u002F canalización",{"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 intermitente",{"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","Patrones de sincronización simplificados",[754,757],{"id":755,"label":756},"pattern","Patrón de sincronización típico",{"id":758,"label":759},"meaning","Qué puede sugerir",{"id":761,"data":762,"type":551},"bottle-note",{"body":763,"title":764,"variant":557},"Los patrones de sincronización reducen el espacio de búsqueda. No prueban por sí solos una causa raíz específica.","Esto es evidencia de diagnóstico, no un veredicto automático",{"id":766,"data":767,"type":568},"h-cap",{"text":768,"level":47},"Por qué un límite de fotogramas a veces puede sentirse más fluido que los FPS máximos",{"id":770,"data":771,"type":544},"p-cap-1",{"text":772},"Ejecutar un juego a los FPS máximos posibles sin límite puede mantener una parte del sistema cerca de la saturación. En algunas cargas de trabajo, dejar margen puede reducir la volatilidad de la sincronización y producir una cadencia más estable.",{"id":774,"data":775,"type":544},"p-cap-2",{"text":776},"Eso no significa que todos los juegos deban limitarse al mismo número. La prueba útil es empírica: captura la misma carga de trabajo sin límite y con uno o más límites razonables, luego compara la estabilidad del tiempo de fotograma y la latencia.",{"id":778,"data":779,"type":544},"p-cap-3",{"text":780},"Un promedio más bajo con una entrega de fotogramas sustancialmente más ajustada puede sentirse mejor que un promedio más alto salpicado de picos frecuentes.",{"id":782,"data":783,"type":568},"h-causes",{"text":784,"level":47},"Causas comunes de stutter con FPS altos",{"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],"Clase de causa","Lo que puedes ver","Qué probar",[794,795,796],"Compilación de shaders o canalización","Picos vinculados a efectos, ubicaciones o acciones por primera vez","Repite la misma secuencia y compara pasadas posteriores",[798,799,800],"Streaming de recursos \u002F mundo","Picos al entrar en áreas o cargar contenido nuevo","Almacenamiento, configuración de texturas, comportamiento del streaming del mundo",[802,803,804],"Planificación de CPU \u002F trabajo en segundo plano","Picos irregulares no relacionados con la carga de GPU","Procesos en segundo plano, superposiciones, grabación, saturación de CPU",[806,807,808],"Saturación de GPU","Tiempo de ejecución de GPU consistentemente alto","Baja la configuración gráfica costosa o prueba un límite de fotogramas",[810,811,812],"Presión de memoria","Aumento de tirones bajo uso intensivo de VRAM\u002FRAM","Nivel de textura, resolución, aplicaciones en segundo plano, comportamiento del conjunto de trabajo",[814,815,816],"Presentación \u002F sincronización","Problemas de cadencia en torno a modos de refresco o presentación","Combinaciones de V-Sync, VRR, límite de fotogramas y modo de pantalla",[818,819,820],"Regresión de controlador o juego","El problema aparece después de una actualización específica","Compara versiones o notas oficiales de problemas conocidos cuando sea práctico",false,{"id":823,"data":824,"type":568},"h-shader",{"text":825,"level":47},"La compilación de shaders es un caso especial",{"id":827,"data":828,"type":544},"p-shader-1",{"text":829},"Algunos tirones no son un simple problema de rendimiento en estado estacionario. Una carga de trabajo puede funcionar cómodamente a FPS altos hasta que el juego realiza un trabajo costoso que solo ocurre en momentos concretos.",{"id":831,"data":832,"type":544},"p-shader-2",{"text":833},"La compilación de shaders o de pipelines es un ejemplo. Si aparece un tirón la primera vez que se encuentra un efecto o una zona específica, pero se reduce o desaparece en pasadas posteriores, ese patrón es diferente al de una GPU que es continuamente demasiado lenta.",{"id":835,"data":836,"type":544},"p-shader-3",{"text":837},"Por eso importan las capturas repetibles. Un único número promedio de toda una sesión puede mezclar el renderizado constante y los eventos puntuales en un resultado que no explica ninguno de los dos.",{"id":839,"data":840,"type":568},"h-vrr",{"text":841,"level":47},"VRR no repara tiempos de fotograma malos",{"id":843,"data":844,"type":544},"p-vrr-1",{"text":845},"La tasa de refresco variable puede alinear más estrechamente la sincronización del refresco de la pantalla con la entrega variable de fotogramas y reducir el tearing o el judder visibles dentro de su rango de funcionamiento.",{"id":847,"data":848,"type":544},"p-vrr-2",{"text":849},"Pero VRR no hace que un fotograma de 40 ms se convierta en uno de 8 ms. Una gran pausa de renderizado o de CPU sigue siendo una gran pausa. La tecnología de pantalla puede mejorar la presentación; no puede eliminar el trabajo que retrasó el fotograma en primer lugar.",{"id":851,"data":852,"type":568},"h-pointone",{"text":853,"level":47},"Por qué los mínimos del 0,1 % pueden volverse ruidosos",{"id":855,"data":856,"type":544},"p-pointone-1",{"text":857},"Las métricas centradas en una fracción muy pequeña de fotogramas son útiles para exponer valores atípicos graves, pero también se vuelven sensibles a la duración de la captura y a los eventos puntuales.",{"id":859,"data":860,"type":544},"p-pointone-2",{"text":861},"Una captura corta que contenga una transición de carga puede producir un resultado extremo bajo muy diferente al de una partida más larga y repetible. Eso no hace que la métrica sea inútil; significa que la metodología de prueba importa.",{"id":863,"data":864,"type":551},"metrics-rule",{"body":865,"title":866,"variant":867},"Los FPS promedio responden al rendimiento. Las métricas de FPS bajos y percentiles describen la cola lenta. El gráfico de tiempo de fotograma muestra \u003Cstrong>cuándo\u003C\u002Fstrong> ocurrieron los fotogramas malos. Úsalos juntos.","Usa la métrica para responder a una pregunta","success",{"id":869,"data":870,"type":568},"h-protocol",{"text":871,"level":47},"Un protocolo práctico de benchmark",{"id":873,"data":874,"type":600},"protocol-flow",{"steps":875,"title":894,"orientation":599},[876,879,882,885,888,891],{"label":877,"description":878},"Calentar","Deja que el juego, los shaders y los recursos alcancen un estado razonablemente repetible cuando eso coincida con la pregunta que estás probando.",{"label":880,"description":881},"Fijar las condiciones","Usa la misma resolución, ajustes, límite de fotogramas, ubicación y carga de trabajo.",{"label":883,"description":884},"Capturar el tiempo suficiente","Evita juzgar la cola lenta a partir de una muestra diminuta, a menos que el evento en sí sea lo que quieres medir.",{"label":886,"description":887},"Repetir","Ejecuta la misma prueba varias veces para separar el comportamiento repetible de los eventos aleatorios en segundo plano.",{"label":889,"description":890},"Comparar distribuciones","Observa los FPS promedio, las métricas de fotogramas lentos y el trazado del tiempo de fotograma.",{"label":892,"description":893},"Registrar el entorno","La versión del juego, el controlador, el sistema operativo, el hardware y los cambios importantes de configuración importan para comparaciones posteriores.","Mide un juego sin engañarte a ti mismo",{"id":896,"data":897,"type":568},"h-scorecard",{"text":898,"level":47},"La tarjeta de puntuación de estabilidad del tiempo de fotograma",{"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","Rendimiento promedio",{"good":907,"warning":908},"Meets your performance target","Average hides repeated drops below the useful range",{"id":910,"label":911,"values":912},"tail","Cola de fotogramas lentos",{"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","Trazado del tiempo de fotograma",{"good":919,"warning":920},"Narrow, mostly stable band","Frequent tall spikes or recurring oscillation",{"id":922,"label":923,"values":924},"repeat","Repetibilidad",{"good":925,"warning":926},"Similar pattern across comparable runs","Result changes wildly between identical tests",{"id":928,"label":929,"values":930},"cause","Diagnóstico de sincronización",{"good":931,"warning":932},"CPU\u002FGPU behavior matches the suspected constraint","Optimization is being applied without identifying the bottleneck","Qué buscar antes de llamar a un juego “fluido”",[935,938],{"id":936,"label":937},"good","Señal saludable",{"id":671,"label":939},"Señal de advertencia",{"id":941,"data":942,"type":568},"h-change",{"text":943,"level":47},"Qué cambiaría esta respuesta",{"id":945,"data":946,"type":544},"p-change-1",{"text":947},"Las métricas exactas disponibles dependen del sistema operativo, la API de gráficos, el hardware y la herramienta de medición. Los futuros sistemas de presentación o pipelines de generación de fotogramas también pueden requerir distinciones adicionales entre fotogramas renderizados, generados y mostrados.",{"id":949,"data":950,"type":544},"p-change-2",{"text":951},"Es poco probable que cambie el principio fundamental: un promedio de rendimiento no puede describir por completo la consistencia temporal. Mientras los gráficos interactivos se entreguen como una secuencia de fotogramas, la distribución y la sincronización de esos fotogramas importan.",{"id":953,"data":954,"type":568},"h-limit",{"text":955,"level":47},"Limitaciones",{"id":957,"data":958,"type":544},"p-limit-1",{"text":959},"Este artículo es un marco de diagnóstico, no una afirmación de que cada tartamudeo tenga la misma causa raíz. Los motores de juego, las API, los sistemas operativos, los controladores y las canalizaciones de renderizado difieren.",{"id":961,"data":962,"type":544},"p-limit-2",{"text":963},"Las métricas de FPS bajos también deben interpretarse dentro de la metodología de la herramienta que las produjo. Las comparaciones entre herramientas pueden ser engañosas cuando las definiciones estadísticas o las canalizaciones de captura difieren.",{"id":965,"data":966,"type":568},"h-conclusion",{"text":967,"level":47},"Conclusión",{"id":969,"data":970,"type":544},"p-conclusion-1",{"text":971},"Si un juego muestra FPS altos pero aún se siente mal, deja de mirar el promedio.",{"id":973,"data":974,"type":544},"p-conclusion-2",{"text":975},"Mide los tiempos de fotograma. Inspecciona la cola lenta. Averigua cuándo ocurren los picos. Compara los tiempos de CPU y GPU. Luego cambia una variable y repite la misma carga de trabajo. La fluidez no es solo cuántos fotogramas puede producir tu sistema. Es la consistencia con la que esos fotogramas te llegan.",{"id":977,"data":978,"type":568},"h-faq",{"text":979,"level":47},"Preguntas frecuentes",{"id":981,"data":982,"type":981},"faq",{"items":983,"title":1008},[984,988,992,996,1000,1004],{"id":985,"answer":986,"question":987},"faq1","Porque 120 FPS es un promedio. Los fotogramas largos repetidos pueden crear saltos visibles incluso mientras muchos fotogramas rápidos mantienen el promedio alto.","¿Por qué 120 FPS todavía se sienten entrecortados?",{"id":989,"answer":990,"question":991},"faq2","El tiempo de fotograma es el tiempo requerido para un fotograma individual, generalmente medido en milisegundos. Tiempos de fotograma más bajos y más consistentes generalmente indican una entrega más fluida.","¿Qué es el tiempo de fotograma?",{"id":993,"answer":994,"question":995},"faq3","Es una métrica destinada a describir el rendimiento entre los fotogramas más lentos. Las implementaciones exactas pueden diferir según la herramienta, así que compara los resultados usando la misma metodología de referencia.","¿Qué significa 1% de FPS bajos?",{"id":997,"answer":998,"question":999},"faq4","Ninguna métrica es suficiente por sí sola. El promedio de FPS describe el rendimiento, mientras que las métricas de FPS bajos y los gráficos de tiempo de fotograma exponen problemas de consistencia.","¿Es más importante el 1% bajo que el promedio de FPS?",{"id":1001,"answer":1002,"question":1003},"faq5","VRR puede mejorar cómo se presenta la entrega variable de fotogramas, pero no puede eliminar un fotograma largo causado por bloqueos de CPU, GPU, streaming u otra carga de trabajo.","¿Puede VRR solucionar el micro-tartamudeo?",{"id":1005,"answer":1006,"question":1007},"faq6","A veces un límite puede mejorar la consistencia al dejar margen en el sistema, pero debe probarse con capturas de tiempo de fotograma repetibles en lugar de asumirse.","¿Debería limitar los FPS para reducir el tartamudeo?","FPS, tiempo de fotograma y tartamudeo",{"id":1010,"data":1011,"type":568},"h-glossary",{"text":1012,"level":47},"Glosario",{"id":1014,"data":1015,"type":1014},"glossary",{"title":1016,"entries":1017},"Términos clave de rendimiento",[1018,1022,1026,1030,1034,1038],{"term":1019,"anchor":1020,"definition":1021},"Tiempo de fotograma","frame-time","El tiempo asociado con la producción o presentación de un fotograma individual, generalmente expresado en milisegundos.",{"term":1023,"anchor":1024,"definition":1025},"Promedio de FPS","average-fps","Un promedio de rendimiento que describe el número de fotogramas producidos durante un intervalo medido.",{"term":1027,"anchor":1028,"definition":1029},"1% bajo","one-percent-low","Una métrica de rendimiento de fotogramas lentos. El cálculo exacto puede diferir según la herramienta; NVIDIA FrameView describe su 1% bajo como el promedio del 1% de fotogramas más lentos.",{"term":1031,"anchor":1032,"definition":1033},"Pico de tiempo de fotograma","frame-time-spike","Un fotograma cuya duración es sustancialmente más larga que los fotogramas circundantes, a menudo percibido como un salto o tartamudeo.",{"term":1035,"anchor":1036,"definition":1037},"GPU ocupada","gpu-busy","Una métrica de tiempo de PresentMon utilizada para comparar el tiempo de ejecución de la GPU con el intervalo de fotograma más amplio y ayudar a diagnosticar el equilibrio CPU\u002FGPU.",{"term":1039,"anchor":1040,"definition":1041},"Prueba de estabilidad del tiempo de fotograma","frame-time-stability-test","Un flujo de trabajo de Figure Rocks para evaluar el rendimiento promedio, la distribución del tiempo de fotograma, las métricas de fotogramas lentos y los tiempos de CPU\u002FGPU en condiciones repetibles.",{"id":1043,"data":1044,"type":568},"h-sources",{"text":1045,"level":47},"Fuentes principales",{"id":1047,"data":1048,"type":1054},"src-intel-presentmon",{"link":1049,"meta":1050},"https:\u002F\u002Fgame.intel.com\u002Fus\u002Fintel-presentmon\u002F",{"image":1051,"title":1052,"description":1053},{"url":13},"Intel — PresentMon","Herramienta oficial de monitoreo de rendimiento de Intel con gráficos en tiempo real, percentiles, telemetría de GPU, GPU ocupada y soporte para las principales API gráficas.","linkTool",{"id":1056,"data":1057,"type":1054},"src-nvidia-frameview",{"link":1058,"meta":1059},"https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002F",{"image":1060,"title":1061,"description":1062},{"url":13},"NVIDIA — FrameView","Herramienta oficial de NVIDIA para medir la tasa de fotogramas, el tiempo de fotograma, la potencia y el rendimiento por vatio, utilizando análisis basados en PresentMon.",{"id":1064,"data":1065,"type":1054},"src-nvidia-frameview-guide",{"link":1066,"meta":1067},"https:\u002F\u002Fimages.nvidia.com\u002Fcontent\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002Fframeview-1-4-user-guide-web-version.pdf",{"image":1068,"title":1069,"description":1070},{"url":13},"NVIDIA — Guía del usuario de FrameView","Documentación oficial que define el promedio de FPS, las métricas de percentiles, el 1% bajo y el 0.1% bajo y explica cómo se relaciona la consistencia con el tartamudeo.",{"id":1072,"data":1073,"type":1054},"src-intel-optimization",{"link":1074,"meta":1075},"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Farticles\u002Fguide\u002Flp-api-developer-optimization-guide.html",{"image":1076,"title":1077,"description":1078},{"url":13},"Intel — Guía de optimización y desarrollador de API gráficas","Guía oficial de Intel que cubre modos de presentación, consideraciones de programación de CPU y el uso de PresentMon para el análisis de presentación de fotogramas.","2.31","Un juego puede reportar 120, 144 o incluso 200 FPS y aun así sentirse tosco. Esta guía explica por qué el FPS promedio puede ocultar una mala entrega de fotogramas, cómo el tiempo de fotograma y los mínimos del 1 % exponen el tartamudeo, y cómo diagnosticar si la CPU, la GPU u otra parte de la cadena de procesamiento está causando el 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":1088,"de":1089,"sr":1090,"es":1091,"fr":1092,"it":1093,"ru":1094,"zh":1095},"\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",[1097,1101,1105],{"id":1098,"name":1099,"slug":1100},224,"Análisis de frametime","frametime-analysis",{"id":1102,"name":1103,"slug":1104},49,"Frame Pacing","frame-pacing",{"id":1106,"name":1107,"slug":1108},328,"Identificar el tipo de tirón","identify-stutter-type",{"id":283,"login":1110,"email":1111,"displayName":1112},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1114,1518],{"lang":8,"title":1115,"content":1116,"contentJson":1117,"excerpt":1517},"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":1118,"blocks":1119,"version":1516},1790374470296,[1120,1123,1127,1131,1134,1137,1140,1143,1146,1149,1162,1165,1168,1189,1192,1195,1198,1201,1204,1208,1211,1214,1217,1220,1223,1248,1251,1254,1257,1275,1279,1282,1285,1288,1291,1294,1329,1332,1335,1338,1341,1344,1347,1350,1353,1356,1359,1363,1366,1388,1391,1415,1418,1421,1424,1427,1430,1433,1436,1439,1442,1445,1467,1470,1491,1494,1499,1504,1510],{"id":541,"data":1121,"type":544},{"text":1122},"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":1124,"type":551},{"body":1125,"title":1126,"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":1128,"type":551},{"body":1129,"title":1130,"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":1132,"type":563},{"title":1133,"maxLevel":562,"minLevel":47},"Contents",{"id":565,"data":1135,"type":568},{"text":1136,"level":47},"FPS is an average; frame time is the rhythm",{"id":570,"data":1138,"type":544},{"text":1139},"FPS tells you how many frames are completed per second. Frame time tells you how long an individual frame takes.",{"id":574,"data":1141,"type":544},{"text":1142},"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":1144,"type":544},{"text":1145},"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":1147,"type":568},{"text":1148,"level":47},"The Smoothness Triangle",{"id":586,"data":1150,"type":600},{"steps":1151,"title":1161,"orientation":599},[1152,1155,1158],{"label":1153,"description":1154},"1. Throughput","Average FPS: how many frames the system produces over time.",{"label":1156,"description":1157},"2. Consistency","Frame-time distribution: whether frames arrive with a stable cadence or contain long outliers.",{"label":1159,"description":1160},"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":1163,"type":544},{"text":1164},"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":1166,"type":568},{"text":1167,"level":47},"Why average FPS hides stutter",{"id":610,"data":1169,"type":645},{"rows":1170,"title":1183,"layout":637,"columns":1184},[1171,1174,1177,1180],{"id":614,"label":1172,"values":1173},"Average FPS",{"stable":617,"unstable":617},{"id":619,"label":1175,"values":1176},"Most frame times",{"stable":622,"unstable":623},{"id":625,"label":1178,"values":1179},"Slow frames",{"stable":628,"unstable":629},{"id":631,"label":1181,"values":1182},"Player experience",{"stable":634,"unstable":635},"Two sessions can have the same average FPS and feel different",[1185,1187],{"id":640,"label":1186},"Stable session",{"id":643,"label":1188},"Unstable session",{"id":647,"data":1190,"type":544},{"text":1191},"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":1193,"type":568},{"text":1194,"level":47},"What 1% lows are trying to show",{"id":655,"data":1196,"type":544},{"text":1197},"Low-FPS and percentile metrics exist because average FPS alone cannot describe the slow end of the frame distribution.",{"id":659,"data":1199,"type":544},{"text":1200},"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":1202,"type":544},{"text":1203},"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":1205,"type":551},{"body":1206,"title":1207,"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":1209,"type":568},{"text":1210,"level":47},"Frame-time graphs are often more useful than one summary number",{"id":677,"data":1212,"type":544},{"text":1213},"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":1215,"type":544},{"text":1216},"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":1218,"type":544},{"text":1219},"NVIDIA FrameView likewise measures frame rate and frame time and can write detailed capture data to logs for later analysis.",{"id":689,"data":1221,"type":568},{"text":1222,"level":47},"The Frame-Time Stability Test",{"id":693,"data":1224,"type":600},{"steps":1225,"title":1247,"orientation":599},[1226,1229,1232,1235,1238,1241,1244],{"label":1227,"description":1228},"1. Capture a repeatable scene","Use the same route, benchmark, save point or gameplay sequence so different runs are comparable.",{"label":1230,"description":1231},"2. Record average FPS","Treat it as throughput, not as the final smoothness verdict.",{"label":1233,"description":1234},"3. Inspect frame-time consistency","Look for isolated spikes, repeating spikes, wide variance or long slow-frame clusters.",{"label":1236,"description":1237},"4. Check low-FPS or percentile metrics","Large gaps between average and slow-frame metrics are a warning that delivery is inconsistent.",{"label":1239,"description":1240},"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":1242,"description":1243},"6. Change one variable at a time","Test frame cap, graphics setting, background process, shader state, storage path or driver\u002Fgame setting independently.",{"label":1245,"description":1246},"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":1249,"type":568},{"text":1250,"level":47},"CPU bottleneck and GPU bottleneck do not look identical",{"id":723,"data":1252,"type":544},{"text":1253},"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":1255,"type":544},{"text":1256},"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":1258,"type":645},{"rows":1259,"title":1269,"layout":637,"columns":1270},[1260,1263,1266],{"id":735,"label":1261,"values":1262},"GPU-bound",{"meaning":738,"pattern":739},{"id":741,"label":1264,"values":1265},"CPU \u002F pipeline constrained",{"meaning":744,"pattern":745},{"id":747,"label":1267,"values":1268},"Intermittent event",{"meaning":750,"pattern":751},"Simplified timing patterns",[1271,1273],{"id":755,"label":1272},"Typical timing pattern",{"id":758,"label":1274},"What it can suggest",{"id":761,"data":1276,"type":551},{"body":1277,"title":1278,"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":1280,"type":568},{"text":1281,"level":47},"Why a frame cap can sometimes feel smoother than maximum FPS",{"id":770,"data":1283,"type":544},{"text":1284},"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":1286,"type":544},{"text":1287},"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":1289,"type":544},{"text":1290},"A lower average with substantially tighter frame delivery can feel better than a higher average punctuated by frequent spikes.",{"id":782,"data":1292,"type":568},{"text":1293,"level":47},"Common causes of high-FPS stutter",{"id":786,"data":1295,"type":637},{"content":1296,"stretched":821,"withHeadings":15},[1297,1301,1305,1309,1313,1317,1321,1325],[1298,1299,1300],"Cause class","What you may see","What to test",[1302,1303,1304],"Shader or pipeline compilation","Spikes tied to first-time effects, locations or actions","Repeat the same sequence and compare later passes",[1306,1307,1308],"Asset \u002F world streaming","Spikes when entering areas or loading new content","Storage, texture settings, world-streaming behavior",[1310,1311,1312],"CPU scheduling \u002F background work","Irregular spikes unrelated to GPU load","Background processes, overlays, recording, CPU saturation",[1314,1315,1316],"GPU saturation","Consistently high GPU execution time","Lower expensive graphics settings or test a frame cap",[1318,1319,1320],"Memory pressure","Increasing hitching under heavy VRAM\u002FRAM use","Texture level, resolution, background applications, working-set behavior",[1322,1323,1324],"Presentation \u002F synchronization","Cadence problems around refresh or presentation modes","V-Sync, VRR, frame cap and display-mode combinations",[1326,1327,1328],"Driver or game regression","Problem appears after a specific update","Compare versions or official known-issue notes where practical",{"id":823,"data":1330,"type":568},{"text":1331,"level":47},"Shader compilation is a special case",{"id":827,"data":1333,"type":544},{"text":1334},"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":1336,"type":544},{"text":1337},"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":1339,"type":544},{"text":1340},"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":1342,"type":568},{"text":1343,"level":47},"VRR does not repair bad frame times",{"id":843,"data":1345,"type":544},{"text":1346},"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":1348,"type":544},{"text":1349},"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":1351,"type":568},{"text":1352,"level":47},"Why 0.1% lows can become noisy",{"id":855,"data":1354,"type":544},{"text":1355},"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":1357,"type":544},{"text":1358},"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":1360,"type":551},{"body":1361,"title":1362,"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":1364,"type":568},{"text":1365,"level":47},"A practical benchmark protocol",{"id":873,"data":1367,"type":600},{"steps":1368,"title":1387,"orientation":599},[1369,1372,1375,1378,1381,1384],{"label":1370,"description":1371},"Warm up","Let the game, shaders and assets reach a reasonably repeatable state when that matches the question you are testing.",{"label":1373,"description":1374},"Fix the conditions","Use the same resolution, settings, frame cap, location and workload.",{"label":1376,"description":1377},"Capture long enough","Avoid judging the slow tail from a tiny sample unless the event itself is what you want to measure.",{"label":1379,"description":1380},"Repeat","Run the same test multiple times to separate repeatable behavior from random background events.",{"label":1382,"description":1383},"Compare distributions","Look at average FPS, slow-frame metrics and the frame-time trace.",{"label":1385,"description":1386},"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":1389,"type":568},{"text":1390,"level":47},"The Frame-Time Stability Scorecard",{"id":900,"data":1392,"type":645},{"rows":1393,"title":1409,"layout":637,"columns":1410},[1394,1397,1400,1403,1406],{"id":904,"label":1395,"values":1396},"Average throughput",{"good":907,"warning":908},{"id":910,"label":1398,"values":1399},"Slow-frame tail",{"good":913,"warning":914},{"id":916,"label":1401,"values":1402},"Frame-time trace",{"good":919,"warning":920},{"id":922,"label":1404,"values":1405},"Repeatability",{"good":925,"warning":926},{"id":928,"label":1407,"values":1408},"Timing diagnosis",{"good":931,"warning":932},"What to look for before calling a game “smooth”",[1411,1413],{"id":936,"label":1412},"Healthy signal",{"id":671,"label":1414},"Warning signal",{"id":941,"data":1416,"type":568},{"text":1417,"level":47},"What would change this answer?",{"id":945,"data":1419,"type":544},{"text":1420},"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":1422,"type":544},{"text":1423},"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":1425,"type":568},{"text":1426,"level":47},"Limitations",{"id":957,"data":1428,"type":544},{"text":1429},"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":1431,"type":544},{"text":1432},"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":1434,"type":568},{"text":1435,"level":47},"Conclusion",{"id":969,"data":1437,"type":544},{"text":1438},"If a game shows high FPS but still feels bad, stop staring at the average.",{"id":973,"data":1440,"type":544},{"text":1441},"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":1443,"type":568},{"text":1444,"level":47},"FAQ",{"id":981,"data":1446,"type":981},{"items":1447,"title":1466},[1448,1451,1454,1457,1460,1463],{"id":985,"answer":1449,"question":1450},"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":1452,"question":1453},"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":1455,"question":1456},"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":1458,"question":1459},"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":1461,"question":1462},"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":1464,"question":1465},"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":1468,"type":568},{"text":1469,"level":47},"Glossary",{"id":1014,"data":1471,"type":1014},{"title":1472,"entries":1473},"Key performance terms",[1474,1477,1479,1482,1485,1488],{"term":1475,"anchor":1020,"definition":1476},"Frame time","The time associated with producing or presenting an individual frame, usually expressed in milliseconds.",{"term":1172,"anchor":1024,"definition":1478},"A throughput average describing the number of frames produced over a measured interval.",{"term":1480,"anchor":1028,"definition":1481},"1% Low","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":1483,"anchor":1032,"definition":1484},"Frame-time spike","A frame whose duration is substantially longer than surrounding frames, often perceived as a hitch or stutter.",{"term":1486,"anchor":1036,"definition":1487},"GPU Busy","A PresentMon timing metric used to compare GPU execution time with the broader frame interval and help diagnose CPU\u002FGPU balance.",{"term":1489,"anchor":1040,"definition":1490},"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":1043,"data":1492,"type":568},{"text":1493,"level":47},"Primary sources",{"id":1047,"data":1495,"type":1054},{"link":1049,"meta":1496},{"image":1497,"title":1052,"description":1498},{"url":13},"Official Intel performance-monitoring tool with real-time graphs, percentiles, GPU telemetry, GPU Busy and support for major graphics APIs.",{"id":1056,"data":1500,"type":1054},{"link":1058,"meta":1501},{"image":1502,"title":1061,"description":1503},{"url":13},"Official NVIDIA tool for measuring frame rate, frame time, power and performance-per-watt, using PresentMon-based analytics.",{"id":1064,"data":1505,"type":1054},{"link":1066,"meta":1506},{"image":1507,"title":1508,"description":1509},{"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":1072,"data":1511,"type":1054},{"link":1074,"meta":1512},{"image":1513,"title":1514,"description":1515},{"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":1519,"excerpt":1080},{"time":538,"blocks":1520,"version":1079},[1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1545,1547,1549,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1595,1597,1599,1601,1613,1615,1617,1619,1621,1623,1625,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1669,1671,1687,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1716,1718,1727,1729,1733,1737,1741],{"id":541,"data":1522,"type":544},{"text":543},{"id":546,"data":1524,"type":551},{"body":548,"title":549,"variant":550},{"id":553,"data":1526,"type":551},{"body":555,"title":556,"variant":557},{"id":559,"data":1528,"type":563},{"title":561,"maxLevel":562,"minLevel":47},{"id":565,"data":1530,"type":568},{"text":567,"level":47},{"id":570,"data":1532,"type":544},{"text":572},{"id":574,"data":1534,"type":544},{"text":576},{"id":578,"data":1536,"type":544},{"text":580},{"id":582,"data":1538,"type":568},{"text":584,"level":47},{"id":586,"data":1540,"type":600},{"steps":1541,"title":598,"orientation":599},[1542,1543,1544],{"label":590,"description":591},{"label":593,"description":594},{"label":596,"description":597},{"id":602,"data":1546,"type":544},{"text":604},{"id":606,"data":1548,"type":568},{"text":608,"level":47},{"id":610,"data":1550,"type":645},{"rows":1551,"title":636,"layout":637,"columns":1560},[1552,1554,1556,1558],{"id":614,"label":615,"values":1553},{"stable":617,"unstable":617},{"id":619,"label":620,"values":1555},{"stable":622,"unstable":623},{"id":625,"label":626,"values":1557},{"stable":628,"unstable":629},{"id":631,"label":632,"values":1559},{"stable":634,"unstable":635},[1561,1562],{"id":640,"label":641},{"id":643,"label":644},{"id":647,"data":1564,"type":544},{"text":649},{"id":651,"data":1566,"type":568},{"text":653,"level":47},{"id":655,"data":1568,"type":544},{"text":657},{"id":659,"data":1570,"type":544},{"text":661},{"id":663,"data":1572,"type":544},{"text":665},{"id":667,"data":1574,"type":551},{"body":669,"title":670,"variant":671},{"id":673,"data":1576,"type":568},{"text":675,"level":47},{"id":677,"data":1578,"type":544},{"text":679},{"id":681,"data":1580,"type":544},{"text":683},{"id":685,"data":1582,"type":544},{"text":687},{"id":689,"data":1584,"type":568},{"text":691,"level":47},{"id":693,"data":1586,"type":600},{"steps":1587,"title":717,"orientation":599},[1588,1589,1590,1591,1592,1593,1594],{"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":1596,"type":568},{"text":721,"level":47},{"id":723,"data":1598,"type":544},{"text":725},{"id":727,"data":1600,"type":544},{"text":729},{"id":731,"data":1602,"type":645},{"rows":1603,"title":752,"layout":637,"columns":1610},[1604,1606,1608],{"id":735,"label":736,"values":1605},{"meaning":738,"pattern":739},{"id":741,"label":742,"values":1607},{"meaning":744,"pattern":745},{"id":747,"label":748,"values":1609},{"meaning":750,"pattern":751},[1611,1612],{"id":755,"label":756},{"id":758,"label":759},{"id":761,"data":1614,"type":551},{"body":763,"title":764,"variant":557},{"id":766,"data":1616,"type":568},{"text":768,"level":47},{"id":770,"data":1618,"type":544},{"text":772},{"id":774,"data":1620,"type":544},{"text":776},{"id":778,"data":1622,"type":544},{"text":780},{"id":782,"data":1624,"type":568},{"text":784,"level":47},{"id":786,"data":1626,"type":637},{"content":1627,"stretched":821,"withHeadings":15},[1628,1629,1630,1631,1632,1633,1634,1635],[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":1637,"type":568},{"text":825,"level":47},{"id":827,"data":1639,"type":544},{"text":829},{"id":831,"data":1641,"type":544},{"text":833},{"id":835,"data":1643,"type":544},{"text":837},{"id":839,"data":1645,"type":568},{"text":841,"level":47},{"id":843,"data":1647,"type":544},{"text":845},{"id":847,"data":1649,"type":544},{"text":849},{"id":851,"data":1651,"type":568},{"text":853,"level":47},{"id":855,"data":1653,"type":544},{"text":857},{"id":859,"data":1655,"type":544},{"text":861},{"id":863,"data":1657,"type":551},{"body":865,"title":866,"variant":867},{"id":869,"data":1659,"type":568},{"text":871,"level":47},{"id":873,"data":1661,"type":600},{"steps":1662,"title":894,"orientation":599},[1663,1664,1665,1666,1667,1668],{"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":1670,"type":568},{"text":898,"level":47},{"id":900,"data":1672,"type":645},{"rows":1673,"title":933,"layout":637,"columns":1684},[1674,1676,1678,1680,1682],{"id":904,"label":905,"values":1675},{"good":907,"warning":908},{"id":910,"label":911,"values":1677},{"good":913,"warning":914},{"id":916,"label":917,"values":1679},{"good":919,"warning":920},{"id":922,"label":923,"values":1681},{"good":925,"warning":926},{"id":928,"label":929,"values":1683},{"good":931,"warning":932},[1685,1686],{"id":936,"label":937},{"id":671,"label":939},{"id":941,"data":1688,"type":568},{"text":943,"level":47},{"id":945,"data":1690,"type":544},{"text":947},{"id":949,"data":1692,"type":544},{"text":951},{"id":953,"data":1694,"type":568},{"text":955,"level":47},{"id":957,"data":1696,"type":544},{"text":959},{"id":961,"data":1698,"type":544},{"text":963},{"id":965,"data":1700,"type":568},{"text":967,"level":47},{"id":969,"data":1702,"type":544},{"text":971},{"id":973,"data":1704,"type":544},{"text":975},{"id":977,"data":1706,"type":568},{"text":979,"level":47},{"id":981,"data":1708,"type":981},{"items":1709,"title":1008},[1710,1711,1712,1713,1714,1715],{"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":1717,"type":568},{"text":1012,"level":47},{"id":1014,"data":1719,"type":1014},{"title":1016,"entries":1720},[1721,1722,1723,1724,1725,1726],{"term":1019,"anchor":1020,"definition":1021},{"term":1023,"anchor":1024,"definition":1025},{"term":1027,"anchor":1028,"definition":1029},{"term":1031,"anchor":1032,"definition":1033},{"term":1035,"anchor":1036,"definition":1037},{"term":1039,"anchor":1040,"definition":1041},{"id":1043,"data":1728,"type":568},{"text":1045,"level":47},{"id":1047,"data":1730,"type":1054},{"link":1049,"meta":1731},{"image":1732,"title":1052,"description":1053},{"url":13},{"id":1056,"data":1734,"type":1054},{"link":1058,"meta":1735},{"image":1736,"title":1061,"description":1062},{"url":13},{"id":1064,"data":1738,"type":1054},{"link":1066,"meta":1739},{"image":1740,"title":1069,"description":1070},{"url":13},{"id":1072,"data":1742,"type":1054},{"link":1074,"meta":1743},{"image":1744,"title":1077,"description":1078},{"url":13},"Post erfolgreich abgerufen",{"items":1747,"source":1811,"manualIds":1812,"manualMatchedIds":1813},[1748,1754,1758,1763,1769,1775,1780,1787,1794,1799,1804],{"id":1749,"slug":1750,"title":1751,"excerpt":1752,"featuredImage":14,"publishedAt":1753},"80","cpu-stutter-vs-gpu-stutter-vs-shader-stutter-how-to-tell-what-you-have","Stutter de CPU vs Stutter de GPU vs Stutter de Shaders: Cómo saber qué tienes","No todos los tirones son iguales. Conoce los tres tipos comunes de tirones, cómo se sienten y la forma más rápida de diagnosticarlos antes de cambiar los ajustes.","2026-02-19T11:00:00.000Z",{"id":359,"slug":1755,"title":1756,"excerpt":1757,"featuredImage":14,"publishedAt":1753},"smoothness-frame-pacing-matters-more-than-fps","Fluidez: El ritmo de fotogramas importa más que los FPS","La fluidez es una sincronización constante, no solo números más altos. Aquí te explicamos cómo pensar en tiempos de fotograma y eliminar la sensación de ‘micro-stutter’.",{"id":1759,"slug":1760,"title":1761,"excerpt":1762,"featuredImage":14,"publishedAt":1753},"120","frame-pacing-why-smoothness-is-about-frametime-not-fps","Frame Pacing: Por qué la fluidez depende del frametime, no de los FPS","Unos FPS altos pueden seguir sintiéndose mal si los tiempos son irregulares. Aprende qué es el frame pacing, qué lo rompe y el orden de soluciones que restaura la sensación de fluidez.",{"id":1764,"slug":1765,"title":1766,"excerpt":1767,"featuredImage":14,"publishedAt":1768},"208","frame-cap-recipes-stable-targets-for-vrr-and-non-vrr-setups","Recetas de límite de fotogramas: Objetivos estables para configuraciones con y sin VRR","Un buen límite se siente mejor que los picos inestables. Usa estas sencillas recetas de limitación para estabilizar el ritmo de fotogramas en pantallas VRR y no VRR.","2026-02-21T05:20:00.000Z",{"id":1770,"slug":1771,"title":1772,"excerpt":1773,"featuredImage":14,"publishedAt":1774},"237","shader-stutter-why-first-runs-hitch-and-how-to-reduce-it","Shader Stutter: Por qué las primeras ejecuciones dan tirones y cómo reducirlo.","El stuttering de shaders ocurre cuando los nuevos efectos se compilan en tiempo real. Aprende a identificarlo rápido y las formas prácticas de reducir los tirones sin ajustes placebo.","2026-02-20T23:40:00.000Z",{"id":1776,"slug":1777,"title":1778,"excerpt":1779,"featuredImage":14,"publishedAt":1753},"100","frame-pacing-why-120-fps-can-still-feel-bad","Frame Pacing: Por qué 120 FPS aún pueden sentirse mal","La fluidez es sincronización, no un número. Aprende qué es el frame pacing, por qué los frametimes deficientes se sienten poco fluidos incluso a altos FPS y el orden práctico de solución.",{"id":1781,"slug":1782,"title":1783,"excerpt":1784,"featuredImage":1785,"publishedAt":1786},"442","dlss-4-5-6x-why-300-fps-does-not-mean-the-game-is-rendering-300-frames","DLSS 4.5 6X: Por qué 300 FPS no significa que el juego esté renderizando 300 fotogramas","DLSS 4.5 puede generar hasta cinco fotogramas adicionales por cada fotograma renderizado de forma tradicional en las GPU RTX Serie 50 compatibles. Esta guía explica la diferencia entre los FPS renderizados y los FPS mostrados, por qué se pueden evitar los cuellos de botella de la CPU en la capa de presentación y por qué la latencia aún debe medirse por separado.","\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":1788,"slug":1789,"title":1790,"excerpt":1791,"featuredImage":1792,"publishedAt":1793},"441","vram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","El uso de VRAM no es un requisito de VRAM: por qué un medidor de memoria lleno no cuenta toda la historia","Ver 7,8 GB usados en una tarjeta gráfica de 8 GB puede parecer una prueba de que un juego se ha quedado sin VRAM. No es tan sencillo. Esta guía explica la capacidad de VRAM, los presupuestos de residencia, los conjuntos de trabajo, la memoria compartida y cómo determinar si la presión de memoria está causando realmente tirones.","\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":1795,"slug":1796,"title":1797,"excerpt":1798,"featuredImage":14,"publishedAt":1753},"85","frame-pacing-why-60-fps-can-feel-worse-than-50-consistency-wins","Frame Pacing: Por qué 60 FPS pueden sentirse peor que 50 (La consistencia gana)","La fluidez no es solo FPS. Es el ritmo de fotogramas. Aprende por qué unos tiempos de fotograma constantes se sienten mejor que unos FPS más altos pero inestables y cómo estabilizar los tiempos.",{"id":1800,"slug":1801,"title":1802,"excerpt":1803,"featuredImage":14,"publishedAt":1753},"69","frame-pacing-why-120-fps-can-feel-worse-than-60-smoothness-explained","Frame Pacing: Por qué 120 FPS pueden sentirse peor que 60 (Fluidez explicada)","La fluidez es una sincronización constante, no los FPS máximos. Aprende qué es el frame pacing, cómo los frametimes generan tirones y la base práctica que mejora la sensación.",{"id":1805,"slug":1806,"title":1807,"excerpt":1808,"featuredImage":1809,"publishedAt":1810},"450","why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","Por qué los juegos de PC se entrecortan al compilar shaders — y cómo la entrega avanzada de shaders lo cambia","El tartamudeo de shaders ocurre cuando un juego de PC tiene que compilar programas de GPU en el momento equivocado. Microsoft Advanced Shader Delivery traslada gran parte de ese trabajo fuera del PC del jugador al preparar shaders específicos para el hardware con antelación y entregarlos junto con el juego.","\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","fallback",[],[]]