[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:sr":3,"public-menus:all":45,"post:why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained:sr":531,"related:post:why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained:sr:1":1743},{"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","sr","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":1742},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1078,"featuredImage":1079,"featuredImageAlt":1080,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":821,"status":1081,"publishedAt":1082,"createdAt":1083,"updatedAt":1084,"seoLocalePaths":1085,"categories":1094,"author":1107,"translations":1111},"439","Zašto 120 FPS i dalje može da se oseća loše: Objašnjenje vremena kadra, 1% najnižih vrednosti i seckanja","why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","\u003Cp>Igra može da prijavi 120, 144 ili čak 200 FPS i dalje da se oseća grubo. Razlog je jednostavan: prosečan broj frejmova vam govori koliko je frejmova proizvedeno tokom vremena, ali ne govori da li su ti frejmovi stizali ravnomerno. Nekoliko dugih frejmova može da stvori vidljivo seckanje ili mikro-zastojčanje čak i kada prosečan FPS broj izgleda odlično.\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\">Direktan odgovor\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>Visok prosečan FPS ne garantuje glatko igranje.\u003C\u002Fstrong> Glatkoća zavisi od konzistentnosti vremena frejma: koliko ravnomerno se frejmovi isporučuju. Da biste dijagnostikovali seckanje, gledajte vremena frejmova, percentilne ili metrike niskog FPS-a i tajming CPU\u002FGPU—ne samo prosečan 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\">Model korišćen u ovom članku\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Trougao glatkoće i Test stabilnosti vremena frejma ispod su praktični Figure Rocks modeli. Oni nisu formalna Intel, NVIDIA ili Microsoft terminologija.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Sadržaj\">\u003Cstrong class=\"editorjs-toc__title\">Sadržaj\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\">FPS je prosek; vreme frejma je ritam\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-9\" class=\"editorjs-toc__link\">Trougao glatkoće\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-12\" class=\"editorjs-toc__link\">Zašto prosečan FPS krije seckanje\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Šta 1% najnižih pokušava da pokaže\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">Grafikoni vremena frejma su često korisniji od jednog zbirnog broja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">Test stabilnosti vremena frejma\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-26\" class=\"editorjs-toc__link\">CPU usko grlo i GPU usko grlo ne izgledaju identično\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-31\" class=\"editorjs-toc__link\">Zašto ograničenje frejmova ponekad može da deluje glatko od maksimalnog FPS-a\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-35\" class=\"editorjs-toc__link\">Česti uzroci seckanja pri visokom FPS-u\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-37\" class=\"editorjs-toc__link\">Kompilacija šejdera je poseban slučaj\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-41\" class=\"editorjs-toc__link\">VRR ne popravlja loša vremena frejmova\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Zašto 0,1% najnižih vrednosti može da postane neujednačeno\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Praktični protokol za benchmark\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-50\" class=\"editorjs-toc__link\">Tabela stabilnosti vremena frejmova\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">Šta bi promenilo ovaj odgovor?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-55\" class=\"editorjs-toc__link\">Ograničenja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">Zaključak\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-61\" class=\"editorjs-toc__link\">Često postavljana pitanja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-63\" class=\"editorjs-toc__link\">Rečnik\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Primarni izvori\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-5\">FPS je prosek; vreme frejma je ritam\u003C\u002Fh2>\n\u003Cp>FPS vam govori koliko se frejmova završi u sekundi. Vreme frejma vam govori koliko traje pojedinačni frejm.\u003C\u002Fp>\n\u003Cp>Gruba konverzija je jednostavna: vreme frejma u milisekundama je približno 1000 podeljeno sa FPS. Na 60 FPS, budžet frejma je oko 16,7 ms. Na 120 FPS to je oko 8,3 ms. Na 144 FPS to je oko 6,9 ms.\u003C\u002Fp>\n\u003Cp>Ali ti brojevi imaju smisla samo ako je isporuka frejmova razumno konzistentna. Niz od 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms može i dalje da u proseku daje visok FPS dok proizvodi primetno seckanje.\u003C\u002Fp>\n\u003Ch2 id=\"section-9\">Trougao glatkoće\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Tri različite stvari određuju koliko brzo se igra oseća\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. Propusnost\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Prosečan FPS: koliko frejmova sistem proizvede tokom vremena.\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. Konzistentnost\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Distribucija vremena frejma: da li frejmovi stižu sa stabilnim ritmom ili sadrže duga odstupanja.\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. Responsivnost\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Latencija: koliko je potrebno da unos i rad igre rezultiraju vidljivim frejmom.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>Sistem može biti jak u jednom uglu i slab u drugom. Visok FPS sa nestabilnim vremenima frejmova može se osećati seckavo. Stabilno renderovanje sa veoma visokom latencijom može se osećati glatko ali tromo. Dobro podešavanje performansi mora da identifikuje koji ugao zapravo ne uspeva.\u003C\u002Fp>\n\u003Ch2 id=\"section-12\">Zašto prosečan FPS krije seckanje\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Dve sesije mogu imati isti prosečan FPS i osećati se drugačije\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\">Stabilna sesija\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\">Nestabilna sesija\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\">Prosečan FPS\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\">Većina vremena frejmova\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\">Spori frejmovi\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\">Iskustvo igrača\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>Nestabilna sesija može da kompenzuje duge frejmove renderovanjem mnogo veoma brzih frejmova između skokova. Prosek ostaje visok, ali igrač primećuje skokove, a ne aritmetičku sredinu.\u003C\u002Fp>\n\u003Ch2 id=\"section-15\">Šta 1% najnižih pokušava da pokaže\u003C\u002Fh2>\n\u003Cp>Metrike niskog FPS-a i percentila postoje jer prosečan FPS sam po sebi ne može da opiše spori kraj distribucije frejmova.\u003C\u002Fp>\n\u003Cp>NVIDIA FrameView prijavljuje prosečan FPS zajedno sa metrikama 1% Low i 0.1% Low. Njegova dokumentacija opisuje 1% Low kao prosek najsporijih 1% frejmova i napominje da što je vrednost niskog FPS-a bliža proseku, to iskustvo teži da bude konzistentnije.\u003C\u002Fp>\n\u003Cp>NVIDIA takođe izlaže metrike zasnovane na percentilima, kao što je broj frejmova koji razdvaja najsporijih 1% frejmova od bržih 99%. To su povezani koncepti, ali nije svaki alat za benchmarkovanje implementirao ili označio statistiku niskog FPS-a na potpuno isti način.\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\">Ne poredite svaki broj „1% low“ kao da je formula univerzalna\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Različiti alati mogu drugačije da izračunavaju, agregiraju ili označavaju statistiku niskog FPS-a i percentila. Kada god je moguće, uporedite rezultate iz \u003Cstrong>istog alata i iste metodologije\u003C\u002Fstrong>.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-20\">Grafikoni vremena frejma su često korisniji od jednog zbirnog broja\u003C\u002Fh2>\n\u003Cp>Grafikon vremena frejma prikazuje tajming frejmova tokom snimanja. Ravna ili uska traka obično ukazuje na doslednu isporuku. Visoki izolovani šiljci otkrivaju zastajkivanja. Ponavljajući talasi mogu ukazivati na periodični rad u pozadini, strimovanje, sinhronizaciju ili neki drugi ponavljajući proces.\u003C\u002Fp>\n\u003Cp>Intel PresentMon je dizajniran za ovu vrstu analize. Intelov trenutni alat može da prikaže grafikone performansi u realnom vremenu, percentile, pokretne proseke i GPU telemetriju, a podržava DirectX, OpenGL i Vulkan aplikacije.\u003C\u002Fp>\n\u003Cp>NVIDIA FrameView takođe meri frejm rate i vreme frejma i može da zapiše detaljne podatke snimanja u logove za kasniju analizu.\u003C\u002Fp>\n\u003Ch2 id=\"section-24\">Test stabilnosti vremena frejma\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Dijagnostikujte da li visok FPS krije seckanje\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. Snimite ponovljivu scenu\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Koristite istu rutu, benchmark, save point ili sekvencu igranja kako bi različita pokretanja bila uporediva.\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. Zabeležite prosečan FPS\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Tretirajte ga kao propusnost, a ne kao konačnu ocenu glatkoće.\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. Ispitajte konzistentnost vremena frejma\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Potražite izolovane šiljke, ponavljajuće šiljke, veliku varijansu ili dugačke klastere sporih frejmova.\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. Proverite metrike niskog FPS-a ili percentila\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Veliki jazovi između prosečnih i metrika sporih frejmova upozoravaju da je isporuka nedosledna.\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. Uporedite tajming CPU-a i GPU-a\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Utvrdite da li spori frejm potiče pre GPU-a, na GPU-u ili iz drugog dela pipeline-a.\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. Menjajte jednu varijablu po jednu\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Nezavisno testirajte ograničenje frejmova, grafičko podešavanje, proces u pozadini, stanje šejdera, putanju skladištenja ili podešavanje drajvera\u002Figre.\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. Ponovite isto snimanje\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Ispravka je značajna samo ako se distribucija vremena frejma poboljša pod uporedivim uslovima.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-26\">CPU usko grlo i GPU usko grlo ne izgledaju identično\u003C\u002Fh2>\n\u003Cp>Niska frejm rate ne govori vam koji je procesor odgovoran za kašnjenje. CPU priprema rad igre i renderovanja; GPU izvršava grafički rad. Bilo koja strana može postati ograničenje tempa.\u003C\u002Fp>\n\u003Cp>Intel PresentMon metrika GPU Busy je posebno namenjena da pomogne u proceni odnosa između vremena izvršavanja GPU-a i ukupnog vremena frejma. To može pomoći da se razlikuju frejmovi u kojima je GPU zauzet većinu intervala od frejmova u kojima se veliki deo kašnjenja javlja negde drugde.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Pojednostavljeni obrasci tajminga\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\">Tipičan obrazac tajminga\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\">Šta može da sugerira\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\">GPU-bound\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\">CPU \u002F pipeline ograničenje\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\">Povremeni događaj\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\">Ovo je dijagnostički dokaz, a ne automatska presuda\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Obrasci tajminga sužavaju prostor pretrage. Oni sami po sebi ne dokazuju konkretan osnovni uzrok.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-31\">Zašto ograničenje frejmova ponekad može da deluje glatko od maksimalnog FPS-a\u003C\u002Fh2>\n\u003Cp>Pokretanje igre na najvišem mogućem neograničenom FPS-u može da drži jedan deo sistema blizu zasićenja. U nekim radnim opterećenjima, ostavljanje rezerve može da smanji volatilnost tajminga i proizvede stabilniji ritam.\u003C\u002Fp>\n\u003Cp>To ne znači da svaka igra treba da bude ograničena na isti broj. Koristan test je empirijski: snimite isto radno opterećenje neograničeno i sa jednim ili više razumnih ograničenja, zatim uporedite stabilnost vremena frejma i latenciju.\u003C\u002Fp>\n\u003Cp>Niži prosek sa znatno ujednačenijom isporukom frejmova može da se oseća bolje od višeg proseka isprekidanog čestim šiljcima.\u003C\u002Fp>\n\u003Ch2 id=\"section-35\">Česti uzroci seckanja pri visokom FPS-u\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\">Klasa uzroka\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Šta možete videti\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Šta testirati\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kompilacija šejdera ili pipeline-a\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Šiljci vezani za efekte, lokacije ili radnje koji se prvi put izvode\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ponovite istu sekvencu i uporedite kasnija pokretanja\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Strimovanje asseta \u002F sveta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Šiljci pri ulasku u oblasti ili učitavanju novog sadržaja\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Skladištenje, podešavanja tekstura, ponašanje strimovanja sveta\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">CPU zakazivanje \u002F rad u pozadini\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nepravilni šiljci nepovezani sa GPU opterećenjem\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Procesi u pozadini, overlay-i, snimanje, zasićenje CPU-a\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Zasićenje GPU-a\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Dosledno visoko vreme izvršavanja GPU-a\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Smanjite skupa grafička podešavanja ili testirajte ograničenje frejmova\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pritisak na memoriju\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sve veće zastajkivanje pri velikoj upotrebi VRAM\u002FRAM\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nivo tekstura, rezolucija, pozadinske aplikacije, ponašanje radnog skupa\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prikaz \u002F sinhronizacija\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Problemi sa ritmom oko osvežavanja ili režima prikaza\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kombinacije V-Sync, VRR, ograničenja frejmova i režima prikaza\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Regresija drajvera ili igre\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Problem se pojavljuje nakon određenog ažuriranja\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Uporedite verzije ili zvanične beleške o poznatim problemima gde je praktično\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-37\">Kompilacija šejdera je poseban slučaj\u003C\u002Fh2>\n\u003Cp>Neki zastoj nije jednostavan problem performansi u stabilnom stanju. Radno opterećenje može nesmetano da radi pri visokom FPS-u sve dok igra ne izvrši zahtevan posao koji se javlja samo u određenim trenucima.\u003C\u002Fp>\n\u003Cp>Kompilacija šejdera ili pipeline-a je jedan primer. Ako se zastoj pojavi prvi put kada se naiđe na određeni efekat ili oblast, ali postane manji ili nestane pri kasnijim prolazima, taj obrazac se razlikuje od GPU-a koji je kontinuirano prespor.\u003C\u002Fp>\n\u003Cp>Zato su ponovljiva snimanja važna. Jedan prosečan broj za celu sesiju može da pomeša stabilno renderovanje i jednokratne događaje u rezultat koji ne objašnjava ni jedno ni drugo.\u003C\u002Fp>\n\u003Ch2 id=\"section-41\">VRR ne popravlja loša vremena frejmova\u003C\u002Fh2>\n\u003Cp>Promenljiva brzina osvežavanja može da uskladi tajming osvežavanja ekrana bliže promenljivoj isporuci frejmova i smanji vidljivo cepanje ili podrhtavanje u okviru svog radnog opsega.\u003C\u002Fp>\n\u003Cp>Ali VRR ne čini da frejm od 40 ms postane frejm od 8 ms. Veliko kašnjenje u renderovanju ili na CPU-u ostaje veliko kašnjenje. Tehnologija prikaza može da poboljša prezentaciju; ne može da ukloni posao koji je odložio frejm.\u003C\u002Fp>\n\u003Ch2 id=\"section-44\">Zašto 0,1% najnižih vrednosti može da postane neujednačeno\u003C\u002Fh2>\n\u003Cp>Metrike fokusirane na veoma mali deo frejmova korisne su za otkrivanje ozbiljnih odstupanja, ali postaju i osetljive na trajanje snimanja i jednokratne događaje.\u003C\u002Fp>\n\u003Cp>Kratko snimanje koje sadrži jedan prelaz učitavanja može da proizvede dramatično drugačiji ekstremno nizak rezultat od dužeg, ponovljivog igranja. To ne čini metriku beskorisnom; to znači da je metodologija testiranja važna.\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\">Koristite metriku da odgovorite na pitanje\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Prosečan FPS odgovara na propusnost. Metrike niskog FPS-a i percentila opisuju spori rep. Grafikon vremena frejmova pokazuje \u003Cstrong>kada\u003C\u002Fstrong> su se loši frejmovi dogodili. Koristite ih zajedno.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-48\">Praktični protokol za benchmark\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Izmerite igru bez samoobmane\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\">Zagrevanje\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Pustite igru, šejdere i resurse da dostignu razumno ponovljivo stanje kada se to poklapa sa pitanjem koje testirate.\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\">Fiksirajte uslove\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Koristite istu rezoluciju, podešavanja, ograničenje frejmova, lokaciju i radno opterećenje.\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\">Snimajte dovoljno dugo\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Izbegavajte procenu sporog repa na osnovu malog uzorka, osim ako je sam događaj ono što želite da izmerite.\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\">Ponovite\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Pokrenite isti test više puta da biste razdvojili ponovljivo ponašanje od slučajnih pozadinskih događaja.\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\">Uporedite distribucije\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Pogledajte prosečan FPS, metrike sporih frejmova i trag vremena frejmova.\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\">Zabeležite okruženje\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Verzija igre, drajver, operativni sistem, hardver i glavne promene konfiguracije važni su za kasnija poređenja.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-50\">Tabela stabilnosti vremena frejmova\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Na šta obratiti pažnju pre nego što igru nazovete „glatkom“\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\">Zdrav signal\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\">Signal upozorenja\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\">Prosečna propusnost\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\">Rep sporih frejmova\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\">Trag vremena frejmova\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\">Ponovljivost\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\">Dijagnostika tajminga\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\">Šta bi promenilo ovaj odgovor?\u003C\u002Fh2>\n\u003Cp>Tačne dostupne metrike zavise od operativnog sistema, grafičkog API-ja, hardvera i alata za merenje. Budući sistemi prikaza ili pipeline-i za generisanje frejmova takođe mogu zahtevati dodatne razlike između renderovanih, generisanih i prikazanih frejmova.\u003C\u002Fp>\n\u003Cp>Osnovni princip se verovatno neće promeniti: prosek propusnosti ne može u potpunosti da opiše konzistentnost tajminga. Dok god se interaktivna grafika isporučuje kao niz frejmova, distribucija i tajming tih frejmova su važni.\u003C\u002Fp>\n\u003Ch2 id=\"section-55\">Ograničenja\u003C\u002Fh2>\n\u003Cp>Ovaj članak je dijagnostički okvir, a ne tvrdnja da svaki zastoj ima isti osnovni uzrok. Gejm endžini, API-ji, operativni sistemi, drajveri i renderovni procesi se razlikuju.\u003C\u002Fp>\n\u003Cp>Metrike niskog FPS-a takođe treba tumačiti u okviru metodologije alata koji ih je proizveo. Poređenja između različitih alata mogu biti obmanjujuća kada se statističke definicije ili procesi snimanja razlikuju.\u003C\u002Fp>\n\u003Ch2 id=\"section-58\">Zaključak\u003C\u002Fh2>\n\u003Cp>Ako igra prikazuje visok FPS, ali se i dalje oseća loše, prestanite da zurite u prosek.\u003C\u002Fp>\n\u003Cp>Izmerite vremena frejmova. Pregledajte spori rep. Otkrijte kada se pojavljuju skokovi. Uporedite tajming CPU-a i GPU-a. Zatim promenite jednu promenljivu i ponovite isti radni zadatak. Glatkoća nije samo to koliko frejmova vaš sistem može da proizvede. To je koliko dosledno ti frejmovi stižu do vas.\u003C\u002Fp>\n\u003Ch2 id=\"section-61\">Često postavljana pitanja\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, vreme frejma i zastoj\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\">Zašto se 120 FPS i dalje oseća kao zastoj?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Zato što je 120 FPS prosek. Ponovljeni dugi frejmovi mogu stvoriti vidljive zastoje čak i dok mnogi brzi frejmovi održavaju prosek visokim.\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\">Šta je vreme frejma?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Vreme frejma je vreme potrebno za pojedinačni frejm, obično izraženo u milisekundama. Niža i doslednija vremena frejmova generalno ukazuju na glatkiju isporuku.\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\">Šta znači 1% najniži FPS?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">To je metrika namenjena opisivanju performansi među najsporijim frejmovima. Tačne implementacije mogu se razlikovati u zavisnosti od alata, pa uporedite rezultate koristeći istu metodologiju benchmarka.\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\">Da li je 1% najniži važniji od prosečnog FPS-a?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Nijedna metrika nije dovoljna sama po sebi. Prosečan FPS opisuje propusnost, dok metrike niskog FPS-a i grafikoni vremena frejmova otkrivaju probleme sa doslednošću.\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\">Može li VRR da popravi mikro-zastoj?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">VRR može poboljšati način na koji se prikazuje promenljiva isporuka frejmova, ali ne može eliminisati dugi frejm uzrokovan zastojima CPU-a, GPU-a, strimovanja ili drugog radnog zadatka.\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\">Treba li da ograničim FPS da smanjim zastoj?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ponekad ograničenje može poboljšati doslednost ostavljanjem rezerve u sistemu, ali to treba testirati ponovljivim snimanjem vremena frejmova, a ne pretpostavljati.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-63\">Rečnik\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\">Ključni termini performansi\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\">Vreme frejma\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Vreme povezano sa proizvodnjom ili prikazivanjem pojedinačnog frejma, obično izraženo u milisekundama.\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\">Prosečan FPS\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Prosek propusnosti koji opisuje broj frejmova proizvedenih tokom merenog intervala.\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% najniži\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Metrika performansi sporih frejmova. Tačan izračun može se razlikovati u zavisnosti od alata; NVIDIA FrameView opisuje svoj 1% najniži kao prosek najsporijih 1% frejmova.\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\">Skok vremena frejma\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Frejm čije je trajanje znatno duže od okolnih frejmova, često percipiran kao zastoj ili trzanje.\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 zauzet\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">PresentMon metrika tajminga koja se koristi za poređenje vremena izvršavanja GPU-a sa širim intervalom frejma i pomaže u dijagnostikovanju ravnoteže CPU\u002FGPU.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"frame-time-stability-test\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Test stabilnosti vremena frejma\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Figure Rocks radni tok za procenu prosečne propusnosti, distribucije vremena frejma, metrika sporih frejmova i tajminga CPU\u002FGPU pod ponovljivim uslovima.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-65\">Primarni izvori\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\">Zvanični Intel alat za praćenje performansi sa grafikonima u realnom vremenu, percentilima, GPU telemetrijom, GPU zauzetošću i podrškom za glavne grafičke API-je.\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\">Zvanični NVIDIA alat za merenje frejmova po sekundi, vremena frejma, potrošnje energije i performansi po vatu, koristeći analitiku zasnovanu na PresentMon-u.\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 — FrameView korisnički vodič\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Zvanična dokumentacija koja definiše prosečan FPS, percentilne metrike, 1% najniži i 0.1% najniži i objašnjava kako se doslednost odnosi na zastoj.\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 — Vodič za programere grafičkih API-ja i optimizaciju\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Zvanične Intel smernice koje pokrivaju režime prikazivanja, razmatranja zakazivanja CPU-a i korišćenje PresentMon-a za analizu prikazivanja frejmova.\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1077},1790374777364,[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,1040,1044,1053,1061,1069],{"id":541,"data":542,"type":544},"intro",{"text":543},"Igra može da prijavi 120, 144 ili čak 200 FPS i dalje da se oseća grubo. Razlog je jednostavan: prosečan broj frejmova vam govori koliko je frejmova proizvedeno tokom vremena, ali ne govori da li su ti frejmovi stizali ravnomerno. Nekoliko dugih frejmova može da stvori vidljivo seckanje ili mikro-zastojčanje čak i kada prosečan FPS broj izgleda odlično.","paragraph",{"id":546,"data":547,"type":551},"direct",{"body":548,"title":549,"variant":550},"\u003Cstrong>Visok prosečan FPS ne garantuje glatko igranje.\u003C\u002Fstrong> Glatkoća zavisi od konzistentnosti vremena frejma: koliko ravnomerno se frejmovi isporučuju. Da biste dijagnostikovali seckanje, gledajte vremena frejmova, percentilne ili metrike niskog FPS-a i tajming CPU\u002FGPU—ne samo prosečan FPS.","Direktan odgovor","info","callout",{"id":553,"data":554,"type":551},"model-note",{"body":555,"title":556,"variant":557},"Trougao glatkoće i Test stabilnosti vremena frejma ispod su praktični Figure Rocks modeli. Oni nisu formalna Intel, NVIDIA ili Microsoft terminologija.","Model korišćen u ovom članku","note",{"id":559,"data":560,"type":563},"toc",{"title":561,"maxLevel":562,"minLevel":47},"Sadržaj",3,"tableOfContents",{"id":565,"data":566,"type":568},"h-fps-vs-ft",{"text":567,"level":47},"FPS je prosek; vreme frejma je ritam","header",{"id":570,"data":571,"type":544},"p-fps-1",{"text":572},"FPS vam govori koliko se frejmova završi u sekundi. Vreme frejma vam govori koliko traje pojedinačni frejm.",{"id":574,"data":575,"type":544},"p-fps-2",{"text":576},"Gruba konverzija je jednostavna: vreme frejma u milisekundama je približno 1000 podeljeno sa FPS. Na 60 FPS, budžet frejma je oko 16,7 ms. Na 120 FPS to je oko 8,3 ms. Na 144 FPS to je oko 6,9 ms.",{"id":578,"data":579,"type":544},"p-fps-3",{"text":580},"Ali ti brojevi imaju smisla samo ako je isporuka frejmova razumno konzistentna. Niz od 7 ms, 7 ms, 7 ms, 35 ms, 7 ms, 7 ms može i dalje da u proseku daje visok FPS dok proizvodi primetno seckanje.",{"id":582,"data":583,"type":568},"h-triangle",{"text":584,"level":47},"Trougao glatkoće",{"id":586,"data":587,"type":600},"triangle-flow",{"steps":588,"title":598,"orientation":599},[589,592,595],{"label":590,"description":591},"1. Propusnost","Prosečan FPS: koliko frejmova sistem proizvede tokom vremena.",{"label":593,"description":594},"2. Konzistentnost","Distribucija vremena frejma: da li frejmovi stižu sa stabilnim ritmom ili sadrže duga odstupanja.",{"label":596,"description":597},"3. Responsivnost","Latencija: koliko je potrebno da unos i rad igre rezultiraju vidljivim frejmom.","Tri različite stvari određuju koliko brzo se igra oseća","auto","processFlow",{"id":602,"data":603,"type":544},"p-triangle",{"text":604},"Sistem može biti jak u jednom uglu i slab u drugom. Visok FPS sa nestabilnim vremenima frejmova može se osećati seckavo. Stabilno renderovanje sa veoma visokom latencijom može se osećati glatko ali tromo. Dobro podešavanje performansi mora da identifikuje koji ugao zapravo ne uspeva.",{"id":606,"data":607,"type":568},"h-average",{"text":608,"level":47},"Zašto prosečan FPS krije seckanje",{"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","Prosečan FPS",{"stable":617,"unstable":617},"120 FPS",{"id":619,"label":620,"values":621},"normal","Većina vremena frejmova",{"stable":622,"unstable":623},"Around 8–9 ms","Mostly 5–7 ms",{"id":625,"label":626,"values":627},"outliers","Spori frejmovi",{"stable":628,"unstable":629},"Few meaningful spikes","Repeated 25–50 ms spikes",{"id":631,"label":632,"values":633},"feel","Iskustvo igrača",{"stable":634,"unstable":635},"Consistent motion","Hitches despite the high average","Dve sesije mogu imati isti prosečan FPS i osećati se drugačije","table",[639,642],{"id":640,"label":641},"stable","Stabilna sesija",{"id":643,"label":644},"unstable","Nestabilna sesija","comparison",{"id":647,"data":648,"type":544},"p-average-1",{"text":649},"Nestabilna sesija može da kompenzuje duge frejmove renderovanjem mnogo veoma brzih frejmova između skokova. Prosek ostaje visok, ali igrač primećuje skokove, a ne aritmetičku sredinu.",{"id":651,"data":652,"type":568},"h-onepercent",{"text":653,"level":47},"Šta 1% najnižih pokušava da pokaže",{"id":655,"data":656,"type":544},"p-low-1",{"text":657},"Metrike niskog FPS-a i percentila postoje jer prosečan FPS sam po sebi ne može da opiše spori kraj distribucije frejmova.",{"id":659,"data":660,"type":544},"p-low-2",{"text":661},"NVIDIA FrameView prijavljuje prosečan FPS zajedno sa metrikama 1% Low i 0.1% Low. Njegova dokumentacija opisuje 1% Low kao prosek najsporijih 1% frejmova i napominje da što je vrednost niskog FPS-a bliža proseku, to iskustvo teži da bude konzistentnije.",{"id":663,"data":664,"type":544},"p-low-3",{"text":665},"NVIDIA takođe izlaže metrike zasnovane na percentilima, kao što je broj frejmova koji razdvaja najsporijih 1% frejmova od bržih 99%. To su povezani koncepti, ali nije svaki alat za benchmarkovanje implementirao ili označio statistiku niskog FPS-a na potpuno isti način.",{"id":667,"data":668,"type":551},"low-warning",{"body":669,"title":670,"variant":671},"Različiti alati mogu drugačije da izračunavaju, agregiraju ili označavaju statistiku niskog FPS-a i percentila. Kada god je moguće, uporedite rezultate iz \u003Cstrong>istog alata i iste metodologije\u003C\u002Fstrong>.","Ne poredite svaki broj „1% low“ kao da je formula univerzalna","warning",{"id":673,"data":674,"type":568},"h-graph",{"text":675,"level":47},"Grafikoni vremena frejma su često korisniji od jednog zbirnog broja",{"id":677,"data":678,"type":544},"p-graph-1",{"text":679},"Grafikon vremena frejma prikazuje tajming frejmova tokom snimanja. Ravna ili uska traka obično ukazuje na doslednu isporuku. Visoki izolovani šiljci otkrivaju zastajkivanja. Ponavljajući talasi mogu ukazivati na periodični rad u pozadini, strimovanje, sinhronizaciju ili neki drugi ponavljajući proces.",{"id":681,"data":682,"type":544},"p-graph-2",{"text":683},"Intel PresentMon je dizajniran za ovu vrstu analize. Intelov trenutni alat može da prikaže grafikone performansi u realnom vremenu, percentile, pokretne proseke i GPU telemetriju, a podržava DirectX, OpenGL i Vulkan aplikacije.",{"id":685,"data":686,"type":544},"p-graph-3",{"text":687},"NVIDIA FrameView takođe meri frejm rate i vreme frejma i može da zapiše detaljne podatke snimanja u logove za kasniju analizu.",{"id":689,"data":690,"type":568},"h-test",{"text":691,"level":47},"Test stabilnosti vremena frejma",{"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. Snimite ponovljivu scenu","Koristite istu rutu, benchmark, save point ili sekvencu igranja kako bi različita pokretanja bila uporediva.",{"label":700,"description":701},"2. Zabeležite prosečan FPS","Tretirajte ga kao propusnost, a ne kao konačnu ocenu glatkoće.",{"label":703,"description":704},"3. Ispitajte konzistentnost vremena frejma","Potražite izolovane šiljke, ponavljajuće šiljke, veliku varijansu ili dugačke klastere sporih frejmova.",{"label":706,"description":707},"4. Proverite metrike niskog FPS-a ili percentila","Veliki jazovi između prosečnih i metrika sporih frejmova upozoravaju da je isporuka nedosledna.",{"label":709,"description":710},"5. Uporedite tajming CPU-a i GPU-a","Utvrdite da li spori frejm potiče pre GPU-a, na GPU-u ili iz drugog dela pipeline-a.",{"label":712,"description":713},"6. Menjajte jednu varijablu po jednu","Nezavisno testirajte ograničenje frejmova, grafičko podešavanje, proces u pozadini, stanje šejdera, putanju skladištenja ili podešavanje drajvera\u002Figre.",{"label":715,"description":716},"7. Ponovite isto snimanje","Ispravka je značajna samo ako se distribucija vremena frejma poboljša pod uporedivim uslovima.","Dijagnostikujte da li visok FPS krije seckanje",{"id":719,"data":720,"type":568},"h-bottleneck",{"text":721,"level":47},"CPU usko grlo i GPU usko grlo ne izgledaju identično",{"id":723,"data":724,"type":544},"p-bottle-1",{"text":725},"Niska frejm rate ne govori vam koji je procesor odgovoran za kašnjenje. CPU priprema rad igre i renderovanja; GPU izvršava grafički rad. Bilo koja strana može postati ograničenje tempa.",{"id":727,"data":728,"type":544},"p-bottle-2",{"text":729},"Intel PresentMon metrika GPU Busy je posebno namenjena da pomogne u proceni odnosa između vremena izvršavanja GPU-a i ukupnog vremena frejma. To može pomoći da se razlikuju frejmovi u kojima je GPU zauzet većinu intervala od frejmova u kojima se veliki deo kašnjenja javlja negde drugde.",{"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","GPU-bound",{"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","CPU \u002F pipeline ograničenje",{"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","Povremeni događaj",{"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","Pojednostavljeni obrasci tajminga",[754,757],{"id":755,"label":756},"pattern","Tipičan obrazac tajminga",{"id":758,"label":759},"meaning","Šta može da sugerira",{"id":761,"data":762,"type":551},"bottle-note",{"body":763,"title":764,"variant":557},"Obrasci tajminga sužavaju prostor pretrage. Oni sami po sebi ne dokazuju konkretan osnovni uzrok.","Ovo je dijagnostički dokaz, a ne automatska presuda",{"id":766,"data":767,"type":568},"h-cap",{"text":768,"level":47},"Zašto ograničenje frejmova ponekad može da deluje glatko od maksimalnog FPS-a",{"id":770,"data":771,"type":544},"p-cap-1",{"text":772},"Pokretanje igre na najvišem mogućem neograničenom FPS-u može da drži jedan deo sistema blizu zasićenja. U nekim radnim opterećenjima, ostavljanje rezerve može da smanji volatilnost tajminga i proizvede stabilniji ritam.",{"id":774,"data":775,"type":544},"p-cap-2",{"text":776},"To ne znači da svaka igra treba da bude ograničena na isti broj. Koristan test je empirijski: snimite isto radno opterećenje neograničeno i sa jednim ili više razumnih ograničenja, zatim uporedite stabilnost vremena frejma i latenciju.",{"id":778,"data":779,"type":544},"p-cap-3",{"text":780},"Niži prosek sa znatno ujednačenijom isporukom frejmova može da se oseća bolje od višeg proseka isprekidanog čestim šiljcima.",{"id":782,"data":783,"type":568},"h-causes",{"text":784,"level":47},"Česti uzroci seckanja pri visokom FPS-u",{"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],"Klasa uzroka","Šta možete videti","Šta testirati",[794,795,796],"Kompilacija šejdera ili pipeline-a","Šiljci vezani za efekte, lokacije ili radnje koji se prvi put izvode","Ponovite istu sekvencu i uporedite kasnija pokretanja",[798,799,800],"Strimovanje asseta \u002F sveta","Šiljci pri ulasku u oblasti ili učitavanju novog sadržaja","Skladištenje, podešavanja tekstura, ponašanje strimovanja sveta",[802,803,804],"CPU zakazivanje \u002F rad u pozadini","Nepravilni šiljci nepovezani sa GPU opterećenjem","Procesi u pozadini, overlay-i, snimanje, zasićenje CPU-a",[806,807,808],"Zasićenje GPU-a","Dosledno visoko vreme izvršavanja GPU-a","Smanjite skupa grafička podešavanja ili testirajte ograničenje frejmova",[810,811,812],"Pritisak na memoriju","Sve veće zastajkivanje pri velikoj upotrebi VRAM\u002FRAM","Nivo tekstura, rezolucija, pozadinske aplikacije, ponašanje radnog skupa",[814,815,816],"Prikaz \u002F sinhronizacija","Problemi sa ritmom oko osvežavanja ili režima prikaza","Kombinacije V-Sync, VRR, ograničenja frejmova i režima prikaza",[818,819,820],"Regresija drajvera ili igre","Problem se pojavljuje nakon određenog ažuriranja","Uporedite verzije ili zvanične beleške o poznatim problemima gde je praktično",false,{"id":823,"data":824,"type":568},"h-shader",{"text":825,"level":47},"Kompilacija šejdera je poseban slučaj",{"id":827,"data":828,"type":544},"p-shader-1",{"text":829},"Neki zastoj nije jednostavan problem performansi u stabilnom stanju. Radno opterećenje može nesmetano da radi pri visokom FPS-u sve dok igra ne izvrši zahtevan posao koji se javlja samo u određenim trenucima.",{"id":831,"data":832,"type":544},"p-shader-2",{"text":833},"Kompilacija šejdera ili pipeline-a je jedan primer. Ako se zastoj pojavi prvi put kada se naiđe na određeni efekat ili oblast, ali postane manji ili nestane pri kasnijim prolazima, taj obrazac se razlikuje od GPU-a koji je kontinuirano prespor.",{"id":835,"data":836,"type":544},"p-shader-3",{"text":837},"Zato su ponovljiva snimanja važna. Jedan prosečan broj za celu sesiju može da pomeša stabilno renderovanje i jednokratne događaje u rezultat koji ne objašnjava ni jedno ni drugo.",{"id":839,"data":840,"type":568},"h-vrr",{"text":841,"level":47},"VRR ne popravlja loša vremena frejmova",{"id":843,"data":844,"type":544},"p-vrr-1",{"text":845},"Promenljiva brzina osvežavanja može da uskladi tajming osvežavanja ekrana bliže promenljivoj isporuci frejmova i smanji vidljivo cepanje ili podrhtavanje u okviru svog radnog opsega.",{"id":847,"data":848,"type":544},"p-vrr-2",{"text":849},"Ali VRR ne čini da frejm od 40 ms postane frejm od 8 ms. Veliko kašnjenje u renderovanju ili na CPU-u ostaje veliko kašnjenje. Tehnologija prikaza može da poboljša prezentaciju; ne može da ukloni posao koji je odložio frejm.",{"id":851,"data":852,"type":568},"h-pointone",{"text":853,"level":47},"Zašto 0,1% najnižih vrednosti može da postane neujednačeno",{"id":855,"data":856,"type":544},"p-pointone-1",{"text":857},"Metrike fokusirane na veoma mali deo frejmova korisne su za otkrivanje ozbiljnih odstupanja, ali postaju i osetljive na trajanje snimanja i jednokratne događaje.",{"id":859,"data":860,"type":544},"p-pointone-2",{"text":861},"Kratko snimanje koje sadrži jedan prelaz učitavanja može da proizvede dramatično drugačiji ekstremno nizak rezultat od dužeg, ponovljivog igranja. To ne čini metriku beskorisnom; to znači da je metodologija testiranja važna.",{"id":863,"data":864,"type":551},"metrics-rule",{"body":865,"title":866,"variant":867},"Prosečan FPS odgovara na propusnost. Metrike niskog FPS-a i percentila opisuju spori rep. Grafikon vremena frejmova pokazuje \u003Cstrong>kada\u003C\u002Fstrong> su se loši frejmovi dogodili. Koristite ih zajedno.","Koristite metriku da odgovorite na pitanje","success",{"id":869,"data":870,"type":568},"h-protocol",{"text":871,"level":47},"Praktični protokol za 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},"Zagrevanje","Pustite igru, šejdere i resurse da dostignu razumno ponovljivo stanje kada se to poklapa sa pitanjem koje testirate.",{"label":880,"description":881},"Fiksirajte uslove","Koristite istu rezoluciju, podešavanja, ograničenje frejmova, lokaciju i radno opterećenje.",{"label":883,"description":884},"Snimajte dovoljno dugo","Izbegavajte procenu sporog repa na osnovu malog uzorka, osim ako je sam događaj ono što želite da izmerite.",{"label":886,"description":887},"Ponovite","Pokrenite isti test više puta da biste razdvojili ponovljivo ponašanje od slučajnih pozadinskih događaja.",{"label":889,"description":890},"Uporedite distribucije","Pogledajte prosečan FPS, metrike sporih frejmova i trag vremena frejmova.",{"label":892,"description":893},"Zabeležite okruženje","Verzija igre, drajver, operativni sistem, hardver i glavne promene konfiguracije važni su za kasnija poređenja.","Izmerite igru bez samoobmane",{"id":896,"data":897,"type":568},"h-scorecard",{"text":898,"level":47},"Tabela stabilnosti vremena frejmova",{"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","Prosečna propusnost",{"good":907,"warning":908},"Meets your performance target","Average hides repeated drops below the useful range",{"id":910,"label":911,"values":912},"tail","Rep sporih frejmova",{"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","Trag vremena frejmova",{"good":919,"warning":920},"Narrow, mostly stable band","Frequent tall spikes or recurring oscillation",{"id":922,"label":923,"values":924},"repeat","Ponovljivost",{"good":925,"warning":926},"Similar pattern across comparable runs","Result changes wildly between identical tests",{"id":928,"label":929,"values":930},"cause","Dijagnostika tajminga",{"good":931,"warning":932},"CPU\u002FGPU behavior matches the suspected constraint","Optimization is being applied without identifying the bottleneck","Na šta obratiti pažnju pre nego što igru nazovete „glatkom“",[935,938],{"id":936,"label":937},"good","Zdrav signal",{"id":671,"label":939},"Signal upozorenja",{"id":941,"data":942,"type":568},"h-change",{"text":943,"level":47},"Šta bi promenilo ovaj odgovor?",{"id":945,"data":946,"type":544},"p-change-1",{"text":947},"Tačne dostupne metrike zavise od operativnog sistema, grafičkog API-ja, hardvera i alata za merenje. Budući sistemi prikaza ili pipeline-i za generisanje frejmova takođe mogu zahtevati dodatne razlike između renderovanih, generisanih i prikazanih frejmova.",{"id":949,"data":950,"type":544},"p-change-2",{"text":951},"Osnovni princip se verovatno neće promeniti: prosek propusnosti ne može u potpunosti da opiše konzistentnost tajminga. Dok god se interaktivna grafika isporučuje kao niz frejmova, distribucija i tajming tih frejmova su važni.",{"id":953,"data":954,"type":568},"h-limit",{"text":955,"level":47},"Ograničenja",{"id":957,"data":958,"type":544},"p-limit-1",{"text":959},"Ovaj članak je dijagnostički okvir, a ne tvrdnja da svaki zastoj ima isti osnovni uzrok. Gejm endžini, API-ji, operativni sistemi, drajveri i renderovni procesi se razlikuju.",{"id":961,"data":962,"type":544},"p-limit-2",{"text":963},"Metrike niskog FPS-a takođe treba tumačiti u okviru metodologije alata koji ih je proizveo. Poređenja između različitih alata mogu biti obmanjujuća kada se statističke definicije ili procesi snimanja razlikuju.",{"id":965,"data":966,"type":568},"h-conclusion",{"text":967,"level":47},"Zaključak",{"id":969,"data":970,"type":544},"p-conclusion-1",{"text":971},"Ako igra prikazuje visok FPS, ali se i dalje oseća loše, prestanite da zurite u prosek.",{"id":973,"data":974,"type":544},"p-conclusion-2",{"text":975},"Izmerite vremena frejmova. Pregledajte spori rep. Otkrijte kada se pojavljuju skokovi. Uporedite tajming CPU-a i GPU-a. Zatim promenite jednu promenljivu i ponovite isti radni zadatak. Glatkoća nije samo to koliko frejmova vaš sistem može da proizvede. To je koliko dosledno ti frejmovi stižu do vas.",{"id":977,"data":978,"type":568},"h-faq",{"text":979,"level":47},"Često postavljana pitanja",{"id":981,"data":982,"type":981},"faq",{"items":983,"title":1008},[984,988,992,996,1000,1004],{"id":985,"answer":986,"question":987},"faq1","Zato što je 120 FPS prosek. Ponovljeni dugi frejmovi mogu stvoriti vidljive zastoje čak i dok mnogi brzi frejmovi održavaju prosek visokim.","Zašto se 120 FPS i dalje oseća kao zastoj?",{"id":989,"answer":990,"question":991},"faq2","Vreme frejma je vreme potrebno za pojedinačni frejm, obično izraženo u milisekundama. Niža i doslednija vremena frejmova generalno ukazuju na glatkiju isporuku.","Šta je vreme frejma?",{"id":993,"answer":994,"question":995},"faq3","To je metrika namenjena opisivanju performansi među najsporijim frejmovima. Tačne implementacije mogu se razlikovati u zavisnosti od alata, pa uporedite rezultate koristeći istu metodologiju benchmarka.","Šta znači 1% najniži FPS?",{"id":997,"answer":998,"question":999},"faq4","Nijedna metrika nije dovoljna sama po sebi. Prosečan FPS opisuje propusnost, dok metrike niskog FPS-a i grafikoni vremena frejmova otkrivaju probleme sa doslednošću.","Da li je 1% najniži važniji od prosečnog FPS-a?",{"id":1001,"answer":1002,"question":1003},"faq5","VRR može poboljšati način na koji se prikazuje promenljiva isporuka frejmova, ali ne može eliminisati dugi frejm uzrokovan zastojima CPU-a, GPU-a, strimovanja ili drugog radnog zadatka.","Može li VRR da popravi mikro-zastoj?",{"id":1005,"answer":1006,"question":1007},"faq6","Ponekad ograničenje može poboljšati doslednost ostavljanjem rezerve u sistemu, ali to treba testirati ponovljivim snimanjem vremena frejmova, a ne pretpostavljati.","Treba li da ograničim FPS da smanjim zastoj?","FPS, vreme frejma i zastoj",{"id":1010,"data":1011,"type":568},"h-glossary",{"text":1012,"level":47},"Rečnik",{"id":1014,"data":1015,"type":1014},"glossary",{"title":1016,"entries":1017},"Ključni termini performansi",[1018,1022,1025,1029,1033,1037],{"term":1019,"anchor":1020,"definition":1021},"Vreme frejma","frame-time","Vreme povezano sa proizvodnjom ili prikazivanjem pojedinačnog frejma, obično izraženo u milisekundama.",{"term":615,"anchor":1023,"definition":1024},"average-fps","Prosek propusnosti koji opisuje broj frejmova proizvedenih tokom merenog intervala.",{"term":1026,"anchor":1027,"definition":1028},"1% najniži","one-percent-low","Metrika performansi sporih frejmova. Tačan izračun može se razlikovati u zavisnosti od alata; NVIDIA FrameView opisuje svoj 1% najniži kao prosek najsporijih 1% frejmova.",{"term":1030,"anchor":1031,"definition":1032},"Skok vremena frejma","frame-time-spike","Frejm čije je trajanje znatno duže od okolnih frejmova, često percipiran kao zastoj ili trzanje.",{"term":1034,"anchor":1035,"definition":1036},"GPU zauzet","gpu-busy","PresentMon metrika tajminga koja se koristi za poređenje vremena izvršavanja GPU-a sa širim intervalom frejma i pomaže u dijagnostikovanju ravnoteže CPU\u002FGPU.",{"term":691,"anchor":1038,"definition":1039},"frame-time-stability-test","Figure Rocks radni tok za procenu prosečne propusnosti, distribucije vremena frejma, metrika sporih frejmova i tajminga CPU\u002FGPU pod ponovljivim uslovima.",{"id":1041,"data":1042,"type":568},"h-sources",{"text":1043,"level":47},"Primarni izvori",{"id":1045,"data":1046,"type":1052},"src-intel-presentmon",{"link":1047,"meta":1048},"https:\u002F\u002Fgame.intel.com\u002Fus\u002Fintel-presentmon\u002F",{"image":1049,"title":1050,"description":1051},{"url":13},"Intel — PresentMon","Zvanični Intel alat za praćenje performansi sa grafikonima u realnom vremenu, percentilima, GPU telemetrijom, GPU zauzetošću i podrškom za glavne grafičke API-je.","linkTool",{"id":1054,"data":1055,"type":1052},"src-nvidia-frameview",{"link":1056,"meta":1057},"https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002F",{"image":1058,"title":1059,"description":1060},{"url":13},"NVIDIA — FrameView","Zvanični NVIDIA alat za merenje frejmova po sekundi, vremena frejma, potrošnje energije i performansi po vatu, koristeći analitiku zasnovanu na PresentMon-u.",{"id":1062,"data":1063,"type":1052},"src-nvidia-frameview-guide",{"link":1064,"meta":1065},"https:\u002F\u002Fimages.nvidia.com\u002Fcontent\u002Fgeforce\u002Ftechnologies\u002Fframeview\u002Fframeview-1-4-user-guide-web-version.pdf",{"image":1066,"title":1067,"description":1068},{"url":13},"NVIDIA — FrameView korisnički vodič","Zvanična dokumentacija koja definiše prosečan FPS, percentilne metrike, 1% najniži i 0.1% najniži i objašnjava kako se doslednost odnosi na zastoj.",{"id":1070,"data":1071,"type":1052},"src-intel-optimization",{"link":1072,"meta":1073},"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Farticles\u002Fguide\u002Flp-api-developer-optimization-guide.html",{"image":1074,"title":1075,"description":1076},{"url":13},"Intel — Vodič za programere grafičkih API-ja i optimizaciju","Zvanične Intel smernice koje pokrivaju režime prikazivanja, razmatranja zakazivanja CPU-a i korišćenje PresentMon-a za analizu prikazivanja frejmova.","2.31","Igra može da prijavi 120, 144 ili čak 200 FPS i dalje da se oseća neujednačeno. Ovaj vodič objašnjava zašto prosečan FPS može da sakrije lošu isporuku kadrova, kako vreme kadra i 1% najnižih vrednosti otkrivaju seckanje i kako da dijagnostikujete da li CPU, GPU ili neki drugi deo procesa izaziva problem.","\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":1086,"de":1087,"sr":1088,"es":1089,"fr":1090,"it":1091,"ru":1092,"zh":1093},"\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",[1095,1099,1103],{"id":1096,"name":1097,"slug":1098},224,"Анализа времена кадра","frametime-analysis",{"id":1100,"name":1101,"slug":1102},49,"Уједначеност кадрова","frame-pacing",{"id":1104,"name":1105,"slug":1106},328,"Идентификујте тип сецкања","identify-stutter-type",{"id":283,"login":1108,"email":1109,"displayName":1110},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1112,1515],{"lang":8,"title":1113,"content":1114,"contentJson":1115,"excerpt":1514},"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":1116,"blocks":1117,"version":1513},1790374470296,[1118,1121,1125,1129,1132,1135,1138,1141,1144,1147,1160,1163,1166,1187,1190,1193,1196,1199,1202,1206,1209,1212,1215,1218,1221,1246,1249,1252,1255,1272,1276,1279,1282,1285,1288,1291,1326,1329,1332,1335,1338,1341,1344,1347,1350,1353,1356,1360,1363,1385,1388,1412,1415,1418,1421,1424,1427,1430,1433,1436,1439,1442,1464,1467,1488,1491,1496,1501,1507],{"id":541,"data":1119,"type":544},{"text":1120},"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":1122,"type":551},{"body":1123,"title":1124,"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":1126,"type":551},{"body":1127,"title":1128,"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":1130,"type":563},{"title":1131,"maxLevel":562,"minLevel":47},"Contents",{"id":565,"data":1133,"type":568},{"text":1134,"level":47},"FPS is an average; frame time is the rhythm",{"id":570,"data":1136,"type":544},{"text":1137},"FPS tells you how many frames are completed per second. Frame time tells you how long an individual frame takes.",{"id":574,"data":1139,"type":544},{"text":1140},"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":1142,"type":544},{"text":1143},"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":1145,"type":568},{"text":1146,"level":47},"The Smoothness Triangle",{"id":586,"data":1148,"type":600},{"steps":1149,"title":1159,"orientation":599},[1150,1153,1156],{"label":1151,"description":1152},"1. Throughput","Average FPS: how many frames the system produces over time.",{"label":1154,"description":1155},"2. Consistency","Frame-time distribution: whether frames arrive with a stable cadence or contain long outliers.",{"label":1157,"description":1158},"3. Responsiveness","Latency: how long it takes for input and game work to result in a visible frame.","Three different things determine how fast a game feels",{"id":602,"data":1161,"type":544},{"text":1162},"A system can be strong in one corner and weak in another. High FPS with unstable frame times can feel stuttery. Stable rendering with very high latency can feel smooth but sluggish. Good performance tuning has to identify which corner is actually failing.",{"id":606,"data":1164,"type":568},{"text":1165,"level":47},"Why average FPS hides stutter",{"id":610,"data":1167,"type":645},{"rows":1168,"title":1181,"layout":637,"columns":1182},[1169,1172,1175,1178],{"id":614,"label":1170,"values":1171},"Average FPS",{"stable":617,"unstable":617},{"id":619,"label":1173,"values":1174},"Most frame times",{"stable":622,"unstable":623},{"id":625,"label":1176,"values":1177},"Slow frames",{"stable":628,"unstable":629},{"id":631,"label":1179,"values":1180},"Player experience",{"stable":634,"unstable":635},"Two sessions can have the same average FPS and feel different",[1183,1185],{"id":640,"label":1184},"Stable session",{"id":643,"label":1186},"Unstable session",{"id":647,"data":1188,"type":544},{"text":1189},"The unstable session can compensate for long frames by rendering many very fast frames between spikes. The average stays high, but the player notices the spikes rather than the arithmetic mean.",{"id":651,"data":1191,"type":568},{"text":1192,"level":47},"What 1% lows are trying to show",{"id":655,"data":1194,"type":544},{"text":1195},"Low-FPS and percentile metrics exist because average FPS alone cannot describe the slow end of the frame distribution.",{"id":659,"data":1197,"type":544},{"text":1198},"NVIDIA FrameView reports average FPS together with 1% Low and 0.1% Low metrics. Its documentation describes 1% Low as the average of the slowest 1% of frames, and notes that the closer the low-FPS value is to the average, the more consistent the experience tends to be.",{"id":663,"data":1200,"type":544},{"text":1201},"NVIDIA also exposes percentile-based metrics such as the frame rate separating the slowest 1% of frames from the faster 99%. These are related concepts, but not every benchmark tool implements or labels low-FPS statistics in exactly the same way.",{"id":667,"data":1203,"type":551},{"body":1204,"title":1205,"variant":671},"Different tools can calculate, aggregate or label low-FPS and percentile statistics differently. Compare results from the \u003Cstrong>same tool and methodology\u003C\u002Fstrong> whenever possible.","Do not compare every “1% low” number as if the formula were universal",{"id":673,"data":1207,"type":568},{"text":1208,"level":47},"Frame-time graphs are often more useful than one summary number",{"id":677,"data":1210,"type":544},{"text":1211},"A frame-time graph shows the timing of frames across the capture. A flat or narrow band usually indicates consistent delivery. Tall isolated spikes reveal hitches. Repeating waves can point to periodic background work, streaming, synchronization or another recurring workload.",{"id":681,"data":1213,"type":544},{"text":1214},"Intel PresentMon is designed around this type of analysis. Intel's current tool can show real-time performance graphs, percentiles, moving-window averages and GPU telemetry, and it supports DirectX, OpenGL and Vulkan applications.",{"id":685,"data":1216,"type":544},{"text":1217},"NVIDIA FrameView likewise measures frame rate and frame time and can write detailed capture data to logs for later analysis.",{"id":689,"data":1219,"type":568},{"text":1220,"level":47},"The Frame-Time Stability Test",{"id":693,"data":1222,"type":600},{"steps":1223,"title":1245,"orientation":599},[1224,1227,1230,1233,1236,1239,1242],{"label":1225,"description":1226},"1. Capture a repeatable scene","Use the same route, benchmark, save point or gameplay sequence so different runs are comparable.",{"label":1228,"description":1229},"2. Record average FPS","Treat it as throughput, not as the final smoothness verdict.",{"label":1231,"description":1232},"3. Inspect frame-time consistency","Look for isolated spikes, repeating spikes, wide variance or long slow-frame clusters.",{"label":1234,"description":1235},"4. Check low-FPS or percentile metrics","Large gaps between average and slow-frame metrics are a warning that delivery is inconsistent.",{"label":1237,"description":1238},"5. Compare CPU and GPU timing","Determine whether the slow frame originates before the GPU, on the GPU, or from another part of the pipeline.",{"label":1240,"description":1241},"6. Change one variable at a time","Test frame cap, graphics setting, background process, shader state, storage path or driver\u002Fgame setting independently.",{"label":1243,"description":1244},"7. Repeat the same capture","A fix is meaningful only if the frame-time distribution improves under comparable conditions.","Diagnose whether high FPS is hiding stutter",{"id":719,"data":1247,"type":568},{"text":1248,"level":47},"CPU bottleneck and GPU bottleneck do not look identical",{"id":723,"data":1250,"type":544},{"text":1251},"A low frame rate does not tell you which processor is responsible for the delay. The CPU prepares game and rendering work; the GPU executes graphics work. Either side can become the pacing limit.",{"id":727,"data":1253,"type":544},{"text":1254},"Intel PresentMon's GPU Busy metric is specifically intended to help evaluate the relationship between GPU execution time and total frame time. This can help distinguish frames where the GPU is occupied for most of the interval from frames where a large part of the delay occurs elsewhere.",{"id":731,"data":1256,"type":645},{"rows":1257,"title":1266,"layout":637,"columns":1267},[1258,1260,1263],{"id":735,"label":736,"values":1259},{"meaning":738,"pattern":739},{"id":741,"label":1261,"values":1262},"CPU \u002F pipeline constrained",{"meaning":744,"pattern":745},{"id":747,"label":1264,"values":1265},"Intermittent event",{"meaning":750,"pattern":751},"Simplified timing patterns",[1268,1270],{"id":755,"label":1269},"Typical timing pattern",{"id":758,"label":1271},"What it can suggest",{"id":761,"data":1273,"type":551},{"body":1274,"title":1275,"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":1277,"type":568},{"text":1278,"level":47},"Why a frame cap can sometimes feel smoother than maximum FPS",{"id":770,"data":1280,"type":544},{"text":1281},"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":1283,"type":544},{"text":1284},"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":1286,"type":544},{"text":1287},"A lower average with substantially tighter frame delivery can feel better than a higher average punctuated by frequent spikes.",{"id":782,"data":1289,"type":568},{"text":1290,"level":47},"Common causes of high-FPS stutter",{"id":786,"data":1292,"type":637},{"content":1293,"stretched":821,"withHeadings":15},[1294,1298,1302,1306,1310,1314,1318,1322],[1295,1296,1297],"Cause class","What you may see","What to test",[1299,1300,1301],"Shader or pipeline compilation","Spikes tied to first-time effects, locations or actions","Repeat the same sequence and compare later passes",[1303,1304,1305],"Asset \u002F world streaming","Spikes when entering areas or loading new content","Storage, texture settings, world-streaming behavior",[1307,1308,1309],"CPU scheduling \u002F background work","Irregular spikes unrelated to GPU load","Background processes, overlays, recording, CPU saturation",[1311,1312,1313],"GPU saturation","Consistently high GPU execution time","Lower expensive graphics settings or test a frame cap",[1315,1316,1317],"Memory pressure","Increasing hitching under heavy VRAM\u002FRAM use","Texture level, resolution, background applications, working-set behavior",[1319,1320,1321],"Presentation \u002F synchronization","Cadence problems around refresh or presentation modes","V-Sync, VRR, frame cap and display-mode combinations",[1323,1324,1325],"Driver or game regression","Problem appears after a specific update","Compare versions or official known-issue notes where practical",{"id":823,"data":1327,"type":568},{"text":1328,"level":47},"Shader compilation is a special case",{"id":827,"data":1330,"type":544},{"text":1331},"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":1333,"type":544},{"text":1334},"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":1336,"type":544},{"text":1337},"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":1339,"type":568},{"text":1340,"level":47},"VRR does not repair bad frame times",{"id":843,"data":1342,"type":544},{"text":1343},"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":1345,"type":544},{"text":1346},"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":1348,"type":568},{"text":1349,"level":47},"Why 0.1% lows can become noisy",{"id":855,"data":1351,"type":544},{"text":1352},"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":1354,"type":544},{"text":1355},"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":1357,"type":551},{"body":1358,"title":1359,"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":1361,"type":568},{"text":1362,"level":47},"A practical benchmark protocol",{"id":873,"data":1364,"type":600},{"steps":1365,"title":1384,"orientation":599},[1366,1369,1372,1375,1378,1381],{"label":1367,"description":1368},"Warm up","Let the game, shaders and assets reach a reasonably repeatable state when that matches the question you are testing.",{"label":1370,"description":1371},"Fix the conditions","Use the same resolution, settings, frame cap, location and workload.",{"label":1373,"description":1374},"Capture long enough","Avoid judging the slow tail from a tiny sample unless the event itself is what you want to measure.",{"label":1376,"description":1377},"Repeat","Run the same test multiple times to separate repeatable behavior from random background events.",{"label":1379,"description":1380},"Compare distributions","Look at average FPS, slow-frame metrics and the frame-time trace.",{"label":1382,"description":1383},"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":1386,"type":568},{"text":1387,"level":47},"The Frame-Time Stability Scorecard",{"id":900,"data":1389,"type":645},{"rows":1390,"title":1406,"layout":637,"columns":1407},[1391,1394,1397,1400,1403],{"id":904,"label":1392,"values":1393},"Average throughput",{"good":907,"warning":908},{"id":910,"label":1395,"values":1396},"Slow-frame tail",{"good":913,"warning":914},{"id":916,"label":1398,"values":1399},"Frame-time trace",{"good":919,"warning":920},{"id":922,"label":1401,"values":1402},"Repeatability",{"good":925,"warning":926},{"id":928,"label":1404,"values":1405},"Timing diagnosis",{"good":931,"warning":932},"What to look for before calling a game “smooth”",[1408,1410],{"id":936,"label":1409},"Healthy signal",{"id":671,"label":1411},"Warning signal",{"id":941,"data":1413,"type":568},{"text":1414,"level":47},"What would change this answer?",{"id":945,"data":1416,"type":544},{"text":1417},"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":1419,"type":544},{"text":1420},"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":1422,"type":568},{"text":1423,"level":47},"Limitations",{"id":957,"data":1425,"type":544},{"text":1426},"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":1428,"type":544},{"text":1429},"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":1431,"type":568},{"text":1432,"level":47},"Conclusion",{"id":969,"data":1434,"type":544},{"text":1435},"If a game shows high FPS but still feels bad, stop staring at the average.",{"id":973,"data":1437,"type":544},{"text":1438},"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":1440,"type":568},{"text":1441,"level":47},"FAQ",{"id":981,"data":1443,"type":981},{"items":1444,"title":1463},[1445,1448,1451,1454,1457,1460],{"id":985,"answer":1446,"question":1447},"Because 120 FPS is an average. Repeated long frames can create visible hitches even while many fast frames keep the average high.","Why does 120 FPS still feel stuttery?",{"id":989,"answer":1449,"question":1450},"Frame time is the time required for an individual frame, usually measured in milliseconds. Lower and more consistent frame times generally indicate smoother delivery.","What is frame time?",{"id":993,"answer":1452,"question":1453},"It is a metric intended to describe performance among the slowest frames. Exact implementations can differ by tool, so compare results using the same benchmark methodology.","What does 1% low FPS mean?",{"id":997,"answer":1455,"question":1456},"Neither metric is sufficient by itself. Average FPS describes throughput, while low-FPS metrics and frame-time graphs expose consistency problems.","Is 1% low more important than average FPS?",{"id":1001,"answer":1458,"question":1459},"VRR can improve how variable frame delivery is presented, but it cannot eliminate a long frame caused by CPU, GPU, streaming or other workload stalls.","Can VRR fix micro-stutter?",{"id":1005,"answer":1461,"question":1462},"Sometimes a cap can improve consistency by leaving system headroom, but it should be tested with repeatable frame-time captures rather than assumed.","Should I cap FPS to reduce stutter?","FPS, frame time and stutter",{"id":1010,"data":1465,"type":568},{"text":1466,"level":47},"Glossary",{"id":1014,"data":1468,"type":1014},{"title":1469,"entries":1470},"Key performance terms",[1471,1474,1476,1479,1482,1485],{"term":1472,"anchor":1020,"definition":1473},"Frame time","The time associated with producing or presenting an individual frame, usually expressed in milliseconds.",{"term":1170,"anchor":1023,"definition":1475},"A throughput average describing the number of frames produced over a measured interval.",{"term":1477,"anchor":1027,"definition":1478},"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":1480,"anchor":1031,"definition":1481},"Frame-time spike","A frame whose duration is substantially longer than surrounding frames, often perceived as a hitch or stutter.",{"term":1483,"anchor":1035,"definition":1484},"GPU Busy","A PresentMon timing metric used to compare GPU execution time with the broader frame interval and help diagnose CPU\u002FGPU balance.",{"term":1486,"anchor":1038,"definition":1487},"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":1041,"data":1489,"type":568},{"text":1490,"level":47},"Primary sources",{"id":1045,"data":1492,"type":1052},{"link":1047,"meta":1493},{"image":1494,"title":1050,"description":1495},{"url":13},"Official Intel performance-monitoring tool with real-time graphs, percentiles, GPU telemetry, GPU Busy and support for major graphics APIs.",{"id":1054,"data":1497,"type":1052},{"link":1056,"meta":1498},{"image":1499,"title":1059,"description":1500},{"url":13},"Official NVIDIA tool for measuring frame rate, frame time, power and performance-per-watt, using PresentMon-based analytics.",{"id":1062,"data":1502,"type":1052},{"link":1064,"meta":1503},{"image":1504,"title":1505,"description":1506},{"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":1070,"data":1508,"type":1052},{"link":1072,"meta":1509},{"image":1510,"title":1511,"description":1512},{"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":1516,"excerpt":1078},{"time":538,"blocks":1517,"version":1077},[1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1542,1544,1546,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1592,1594,1596,1598,1610,1612,1614,1616,1618,1620,1622,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1666,1668,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1713,1715,1724,1726,1730,1734,1738],{"id":541,"data":1519,"type":544},{"text":543},{"id":546,"data":1521,"type":551},{"body":548,"title":549,"variant":550},{"id":553,"data":1523,"type":551},{"body":555,"title":556,"variant":557},{"id":559,"data":1525,"type":563},{"title":561,"maxLevel":562,"minLevel":47},{"id":565,"data":1527,"type":568},{"text":567,"level":47},{"id":570,"data":1529,"type":544},{"text":572},{"id":574,"data":1531,"type":544},{"text":576},{"id":578,"data":1533,"type":544},{"text":580},{"id":582,"data":1535,"type":568},{"text":584,"level":47},{"id":586,"data":1537,"type":600},{"steps":1538,"title":598,"orientation":599},[1539,1540,1541],{"label":590,"description":591},{"label":593,"description":594},{"label":596,"description":597},{"id":602,"data":1543,"type":544},{"text":604},{"id":606,"data":1545,"type":568},{"text":608,"level":47},{"id":610,"data":1547,"type":645},{"rows":1548,"title":636,"layout":637,"columns":1557},[1549,1551,1553,1555],{"id":614,"label":615,"values":1550},{"stable":617,"unstable":617},{"id":619,"label":620,"values":1552},{"stable":622,"unstable":623},{"id":625,"label":626,"values":1554},{"stable":628,"unstable":629},{"id":631,"label":632,"values":1556},{"stable":634,"unstable":635},[1558,1559],{"id":640,"label":641},{"id":643,"label":644},{"id":647,"data":1561,"type":544},{"text":649},{"id":651,"data":1563,"type":568},{"text":653,"level":47},{"id":655,"data":1565,"type":544},{"text":657},{"id":659,"data":1567,"type":544},{"text":661},{"id":663,"data":1569,"type":544},{"text":665},{"id":667,"data":1571,"type":551},{"body":669,"title":670,"variant":671},{"id":673,"data":1573,"type":568},{"text":675,"level":47},{"id":677,"data":1575,"type":544},{"text":679},{"id":681,"data":1577,"type":544},{"text":683},{"id":685,"data":1579,"type":544},{"text":687},{"id":689,"data":1581,"type":568},{"text":691,"level":47},{"id":693,"data":1583,"type":600},{"steps":1584,"title":717,"orientation":599},[1585,1586,1587,1588,1589,1590,1591],{"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":1593,"type":568},{"text":721,"level":47},{"id":723,"data":1595,"type":544},{"text":725},{"id":727,"data":1597,"type":544},{"text":729},{"id":731,"data":1599,"type":645},{"rows":1600,"title":752,"layout":637,"columns":1607},[1601,1603,1605],{"id":735,"label":736,"values":1602},{"meaning":738,"pattern":739},{"id":741,"label":742,"values":1604},{"meaning":744,"pattern":745},{"id":747,"label":748,"values":1606},{"meaning":750,"pattern":751},[1608,1609],{"id":755,"label":756},{"id":758,"label":759},{"id":761,"data":1611,"type":551},{"body":763,"title":764,"variant":557},{"id":766,"data":1613,"type":568},{"text":768,"level":47},{"id":770,"data":1615,"type":544},{"text":772},{"id":774,"data":1617,"type":544},{"text":776},{"id":778,"data":1619,"type":544},{"text":780},{"id":782,"data":1621,"type":568},{"text":784,"level":47},{"id":786,"data":1623,"type":637},{"content":1624,"stretched":821,"withHeadings":15},[1625,1626,1627,1628,1629,1630,1631,1632],[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":1634,"type":568},{"text":825,"level":47},{"id":827,"data":1636,"type":544},{"text":829},{"id":831,"data":1638,"type":544},{"text":833},{"id":835,"data":1640,"type":544},{"text":837},{"id":839,"data":1642,"type":568},{"text":841,"level":47},{"id":843,"data":1644,"type":544},{"text":845},{"id":847,"data":1646,"type":544},{"text":849},{"id":851,"data":1648,"type":568},{"text":853,"level":47},{"id":855,"data":1650,"type":544},{"text":857},{"id":859,"data":1652,"type":544},{"text":861},{"id":863,"data":1654,"type":551},{"body":865,"title":866,"variant":867},{"id":869,"data":1656,"type":568},{"text":871,"level":47},{"id":873,"data":1658,"type":600},{"steps":1659,"title":894,"orientation":599},[1660,1661,1662,1663,1664,1665],{"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":1667,"type":568},{"text":898,"level":47},{"id":900,"data":1669,"type":645},{"rows":1670,"title":933,"layout":637,"columns":1681},[1671,1673,1675,1677,1679],{"id":904,"label":905,"values":1672},{"good":907,"warning":908},{"id":910,"label":911,"values":1674},{"good":913,"warning":914},{"id":916,"label":917,"values":1676},{"good":919,"warning":920},{"id":922,"label":923,"values":1678},{"good":925,"warning":926},{"id":928,"label":929,"values":1680},{"good":931,"warning":932},[1682,1683],{"id":936,"label":937},{"id":671,"label":939},{"id":941,"data":1685,"type":568},{"text":943,"level":47},{"id":945,"data":1687,"type":544},{"text":947},{"id":949,"data":1689,"type":544},{"text":951},{"id":953,"data":1691,"type":568},{"text":955,"level":47},{"id":957,"data":1693,"type":544},{"text":959},{"id":961,"data":1695,"type":544},{"text":963},{"id":965,"data":1697,"type":568},{"text":967,"level":47},{"id":969,"data":1699,"type":544},{"text":971},{"id":973,"data":1701,"type":544},{"text":975},{"id":977,"data":1703,"type":568},{"text":979,"level":47},{"id":981,"data":1705,"type":981},{"items":1706,"title":1008},[1707,1708,1709,1710,1711,1712],{"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":1714,"type":568},{"text":1012,"level":47},{"id":1014,"data":1716,"type":1014},{"title":1016,"entries":1717},[1718,1719,1720,1721,1722,1723],{"term":1019,"anchor":1020,"definition":1021},{"term":615,"anchor":1023,"definition":1024},{"term":1026,"anchor":1027,"definition":1028},{"term":1030,"anchor":1031,"definition":1032},{"term":1034,"anchor":1035,"definition":1036},{"term":691,"anchor":1038,"definition":1039},{"id":1041,"data":1725,"type":568},{"text":1043,"level":47},{"id":1045,"data":1727,"type":1052},{"link":1047,"meta":1728},{"image":1729,"title":1050,"description":1051},{"url":13},{"id":1054,"data":1731,"type":1052},{"link":1056,"meta":1732},{"image":1733,"title":1059,"description":1060},{"url":13},{"id":1062,"data":1735,"type":1052},{"link":1064,"meta":1736},{"image":1737,"title":1067,"description":1068},{"url":13},{"id":1070,"data":1739,"type":1052},{"link":1072,"meta":1740},{"image":1741,"title":1075,"description":1076},{"url":13},"Post erfolgreich abgerufen",{"items":1744,"source":1808,"manualIds":1809,"manualMatchedIds":1810},[1745,1751,1758,1763,1768,1774,1780,1785,1790,1797,1804],{"id":1746,"slug":1747,"title":1748,"excerpt":1749,"featuredImage":14,"publishedAt":1750},"69","frame-pacing-why-120-fps-can-feel-worse-than-60-smoothness-explained","Frame Pacing: Zašto 120 FPS može delovati gore od 60 (Objašnjenje glatkoće)","Glatkoća je dosledan tajming, a ne maksimalni FPS. Saznajte šta je frame pacing, kako vremena kadrova stvaraju seckanje i koja je praktična osnova koja popravlja osećaj.","2026-02-19T11:00:00.000Z",{"id":1752,"slug":1753,"title":1754,"excerpt":1755,"featuredImage":1756,"publishedAt":1757},"450","why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","Zašto se PC igre seckaju prilikom kompajliranja šejdera — i kako napredna isporuka šejdera to menja","Do zastojâ u rada šadera dolazi kada PC igra mora da kompajlira GPU programe u pogrešnom trenutku. Microsoft Advanced Shader Delivery premešta veliki deo tog posla sa igračevog računara tako što unapred priprema šadere prilagođene hardveru i isporučuje ih uz igru.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it-1790406602956-ewtgf3.webp","2026-09-26T01:08:00.000Z",{"id":1759,"slug":1760,"title":1761,"excerpt":1762,"featuredImage":14,"publishedAt":1750},"100","frame-pacing-why-120-fps-can-still-feel-bad","Frame Pacing: Zašto 120 FPS i dalje može delovati loše","Glatkoća je tajming, a ne broj. Saznajte šta je frame pacing, zašto loša vremena frejmova deluju isprekidano čak i pri visokom FPS-u i praktičan redosled rešavanja.",{"id":1764,"slug":1765,"title":1766,"excerpt":1767,"featuredImage":14,"publishedAt":1750},"85","frame-pacing-why-60-fps-can-feel-worse-than-50-consistency-wins","Frame Pacing: Zašto 60 FPS može delovati gore od 50 (Doslednost pobeđuje)","Glatkoća nije samo FPS. To je frame pacing. Saznajte zašto su dosledna vremena kadrova bolja od višeg, ali nestabilnog FPS-a i kako da stabilizujete tajming.",{"id":1769,"slug":1770,"title":1771,"excerpt":1772,"featuredImage":14,"publishedAt":1773},"237","shader-stutter-why-first-runs-hitch-and-how-to-reduce-it","Shader stutter: Zašto prva pokretanja koče i kako ga smanjiti","Seckanje zbog šejdera se dešava kada se novi efekti kompajliraju u realnom vremenu. Naučite kako da ga brzo identifikujete i praktične načine da smanjite zastoje bez placebo podešavanja.","2026-02-20T23:40:00.000Z",{"id":1775,"slug":1776,"title":1777,"excerpt":1778,"featuredImage":14,"publishedAt":1779},"208","frame-cap-recipes-stable-targets-for-vrr-and-non-vrr-setups","Recepti za ograničenje broja kadrova: Stabilni ciljevi za VRR i ne-VRR konfiguracije","Dobro ograničenje pruža bolji osećaj od nestabilnih skokova. Koristite ove jednostavne recepte za ograničavanje kako biste stabilizovali frame pacing za VRR i ne-VRR ekrane.","2026-02-21T05:20:00.000Z",{"id":1781,"slug":1782,"title":1783,"excerpt":1784,"featuredImage":14,"publishedAt":1750},"120","frame-pacing-why-smoothness-is-about-frametime-not-fps","Frame Pacing: Zašto je glatkoća stvar frametime-a, a ne FPS-a","Visok FPS i dalje može delovati loše ako je tajming neujednačen. Saznajte šta je frame pacing, šta ga narušava i redosled popravki koji vraća osećaj glatkoće.",{"id":1786,"slug":1787,"title":1788,"excerpt":1789,"featuredImage":14,"publishedAt":1750},"80","cpu-stutter-vs-gpu-stutter-vs-shader-stutter-how-to-tell-what-you-have","CPU seckanje vs GPU seckanje vs Shader seckanje: Kako da prepoznate šta imate","Nije svako seckanje isto. Naučite tri uobičajena tipa seckanja, kakav je osećaj kod njih i najbrži način da ih dijagnostikujete pre nego što promenite podešavanja.",{"id":1791,"slug":1792,"title":1793,"excerpt":1794,"featuredImage":1795,"publishedAt":1796},"442","dlss-4-5-6x-why-300-fps-does-not-mean-the-game-is-rendering-300-frames","DLSS 4.5 6X: Zašto 300 FPS ne znači da igra renderuje 300 frejmova","DLSS 4.5 može da generiše do pet dodatnih frejmova za svaki tradicionalno renderovani frejm na podržanim RTX 50 serijama GPU-ova. Ovaj vodič objašnjava razliku između renderovanih FPS i prikazanih FPS, zašto se CPU uska grla mogu zaobići na sloju prezentacije i zašto latenciju i dalje treba meriti odvojeno.","\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":1798,"slug":1799,"title":1800,"excerpt":1801,"featuredImage":1802,"publishedAt":1803},"441","vram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","Iskorišćenost VRAM-a nije zahtev za VRAM-om: Zašto pun memetar ne govori celu priču","Videti 7,8 GB iskorišćeno na grafičkoj kartici od 8 GB može izgledati kao dokaz da je igri ponestalo VRAM-a. Nije tako jednostavno. Ovaj vodič objašnjava kapacitet VRAM-a, budžete rezidentnosti, radne skupove, deljenu memoriju i kako utvrditi da li pritisak na memoriju zaista izaziva seckanje.","\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":359,"slug":1805,"title":1806,"excerpt":1807,"featuredImage":14,"publishedAt":1750},"smoothness-frame-pacing-matters-more-than-fps","Glatkoća: Tempo frejmova je važniji od FPS-a","Glatkoća je dosledan tajming, a ne samo veći brojevi. Evo kako da razmišljate u vremenima kadrova i eliminišete osećaj ‘mikro-seckanja’.","fallback",[],[]]