{"id":3170,"date":"2025-09-22T15:35:04","date_gmt":"2025-09-22T15:35:04","guid":{"rendered":"https:\/\/xceed.com\/?p=3170"},"modified":"2026-08-26T14:58:56","modified_gmt":"2026-08-26T18:58:56","slug":"async-virtualization-that-actually-feels-instant","status":"publish","type":"post","link":"https:\/\/xceed.com\/es\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/","title":{"rendered":"Async Virtualization That Actually Feels Instant"},"content":{"rendered":"<h1 class=\"wp-block-heading\">WPF DataGrid Performance at Scale<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">If your <a href=\"https:\/\/xceed.com\/es\/productos\/wpf\/datagrid-para-wpf\/\">WPF DataGrid<\/a> starts to hitch the moment you hit a few hundred thousand rows, the bottleneck isn\u2019t just \u201ctoo much data\u201d\u2014it\u2019s how the grid handles it. Async data virtualization and row recycling eliminate UI stalls by keeping the render thread free while data loads in the background.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What causes freezes in WPF grids<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Synchronous data fetches on the UI thread<\/li>\n\n\n\n<li>Excessive layout passes during fast scroll<\/li>\n\n\n\n<li>Row template churn without recycling<\/li>\n\n\n\n<li>Binding overhead from heavyweight cell templates<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Our test setup<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dataset: 1,000,000 rows, mixed column types, server-side filter capability<\/li>\n\n\n\n<li>Interactions: fast scroll (mouse + scrollbar), multi-column group, filter text entry<\/li>\n\n\n\n<li>Environment: Release build, x64, .NET 8, hardware acceleration enabled<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What changed with async virtualization<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data requests happen off the UI thread<\/li>\n\n\n\n<li>Rows recycle; visual tree churn is minimized<\/li>\n\n\n\n<li>Placeholders render immediately; data fills progressively<\/li>\n\n\n\n<li>Input stays responsive even under heavy fetch<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Expected performance profile<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scrolling retains visual continuity with stable 60 FPS<\/li>\n\n\n\n<li>Input latency stays under ~50 ms while data loads<\/li>\n\n\n\n<li>Memory usage remains bounded due to page\/windowing<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Implementation pattern (simplified)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use an async-friendly collection and page\/window manager<\/li>\n\n\n\n<li>Kick off data fetch on background threads<\/li>\n\n\n\n<li>Bind to virtualization-aware views<\/li>\n\n\n\n<li>Enable row recycling and lightweight cell templates<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Developer checklist<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Turn on row virtualization and recycling<\/li>\n\n\n\n<li>Move data fetches off the UI thread<\/li>\n\n\n\n<li>Use lightweight cell templates and value converters sparingly<\/li>\n\n\n\n<li>Group\/filter via async-capable, incremental sources<\/li>\n\n\n\n<li>Measure with ETW\/WPA to confirm UI thread headroom<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Why it matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Users feel stutter more than they notice raw milliseconds. Smoothness is the difference between \u201cgood enough\u201d and \u201cwe\u2019re buying this.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Try Xceed DataGrid for WPF with async virtualization and see the difference in under an hour. Start your 45-day trial: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/xceed.com\/es\/ensayo\/%2a%2a\/\">https:\/\/xceed.com\/trial\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Does async virtualization work with grouping and filtering? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes\u2014use incremental sources so group\/filters compute off the UI thread and hydrate progressively.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Will virtualization change my data model? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No; you wrap sources in a virtualization-aware layer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I measure if it\u2019s working? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Profile UI thread time with ETW\/WPA; you should see input\/render threads with headroom during fast scroll.<\/p>","protected":false},"excerpt":{"rendered":"<p>WPF DataGrid speed hinges on fetch and render. Use async data virtualization to free the UI thread and row recycling to cut visual churn. In .NET 8 with 1,000,000 rows, we saw smooth fast scroll, ~60 FPS, sub-50 ms input, and bounded memory via windowed paging. Turn on virtualization\/recycling, fetch off-UI, keep templates light, and verify with ETW\/WPA. Smoothness wins.<\/p>","protected":false},"author":12,"featured_media":3171,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[60],"tags":[347,356,349,355,351,354,350,348,357,352,74,72],"products":[795],"class_list":["post-3170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-asyncvirtualization","tag-datagrid","tag-dotnet8","tag-lowlatency","tag-rowrecycling","tag-rowvirtualization","tag-smoothscrolling","tag-uiperformance","tag-virtualization","tag-wpfperformance","tag-dotnet","tag-wpf","products-datagrid-for-wpf"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Async Virtualization That Actually Feels Instant - Xceed Software<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xceed.com\/es\/blog\/tutoriales\/async-virtualization-that-actually-feels-instant\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Async Virtualization That Actually Feels Instant - Xceed Software\" \/>\n<meta property=\"og:description\" content=\"WPF DataGrid speed hinges on fetch and render. Use async data virtualization to free the UI thread and row recycling to cut visual churn. In .NET 8 with 1,000,000 rows, we saw smooth fast scroll, ~60 FPS, sub-50 ms input, and bounded memory via windowed paging. Turn on virtualization\/recycling, fetch off-UI, keep templates light, and verify with ETW\/WPA. Smoothness wins.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xceed.com\/es\/blog\/tutoriales\/async-virtualization-that-actually-feels-instant\/\" \/>\n<meta property=\"og:site_name\" content=\"Xceed Software\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-22T15:35:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-26T18:58:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/unnamed-file.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Christopher Radford\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Christopher Radford\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/\"},\"author\":{\"name\":\"Christopher Radford\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/person\\\/79a6cce48b70a88e6701fef086d7c351\"},\"headline\":\"Async Virtualization That Actually Feels Instant\",\"datePublished\":\"2025-09-22T15:35:04+00:00\",\"dateModified\":\"2026-08-26T18:58:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/\"},\"wordCount\":359,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/unnamed-file.png\",\"keywords\":[\"#asyncvirtualization\",\"#datagrid\",\"#dotnet8\",\"#lowlatency\",\"#rowrecycling\",\"#rowvirtualization\",\"#smoothscrolling\",\"#uiperformance\",\"#virtualization\",\"#wpfperformance\",\"dotnet\",\"WPF\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/\",\"name\":\"Async Virtualization That Actually Feels Instant - Xceed Software\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/unnamed-file.png\",\"datePublished\":\"2025-09-22T15:35:04+00:00\",\"dateModified\":\"2026-08-26T18:58:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#primaryimage\",\"url\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/unnamed-file.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/unnamed-file.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/async-virtualization-that-actually-feels-instant\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/xceed.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Async Virtualization That Actually Feels Instant\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/\",\"name\":\"Xceed Software\",\"description\":\"Provides tools for .NET, Windows Forms, WPF, Silverlight, and ASP.NET developers to create better applications.\",\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/xceed.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\",\"name\":\"Xceed Software\",\"alternateName\":\"Xceed Software\",\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Untitled-design-24.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Untitled-design-24.png\",\"width\":512,\"height\":512,\"caption\":\"Xceed Software\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/person\\\/79a6cce48b70a88e6701fef086d7c351\",\"name\":\"Christopher Radford\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g\",\"caption\":\"Christopher Radford\"},\"sameAs\":[\"http:\\\/\\\/www.localhost:10003\"],\"url\":\"https:\\\/\\\/xceed.com\\\/es\\\/blog\\\/author\\\/radfordc\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Async Virtualization That Actually Feels Instant - Xceed Software","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xceed.com\/es\/blog\/tutoriales\/async-virtualization-that-actually-feels-instant\/","og_locale":"es_MX","og_type":"article","og_title":"Async Virtualization That Actually Feels Instant - Xceed Software","og_description":"WPF DataGrid speed hinges on fetch and render. Use async data virtualization to free the UI thread and row recycling to cut visual churn. In .NET 8 with 1,000,000 rows, we saw smooth fast scroll, ~60 FPS, sub-50 ms input, and bounded memory via windowed paging. Turn on virtualization\/recycling, fetch off-UI, keep templates light, and verify with ETW\/WPA. Smoothness wins.","og_url":"https:\/\/xceed.com\/es\/blog\/tutoriales\/async-virtualization-that-actually-feels-instant\/","og_site_name":"Xceed Software","article_published_time":"2025-09-22T15:35:04+00:00","article_modified_time":"2026-08-26T18:58:56+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/unnamed-file.png","type":"image\/png"}],"author":"Christopher Radford","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Christopher Radford","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#article","isPartOf":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/"},"author":{"name":"Christopher Radford","@id":"https:\/\/xceed.com\/fr\/#\/schema\/person\/79a6cce48b70a88e6701fef086d7c351"},"headline":"Async Virtualization That Actually Feels Instant","datePublished":"2025-09-22T15:35:04+00:00","dateModified":"2026-08-26T18:58:56+00:00","mainEntityOfPage":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/"},"wordCount":359,"commentCount":0,"publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"image":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#primaryimage"},"thumbnailUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/unnamed-file.png","keywords":["#asyncvirtualization","#datagrid","#dotnet8","#lowlatency","#rowrecycling","#rowvirtualization","#smoothscrolling","#uiperformance","#virtualization","#wpfperformance","dotnet","WPF"],"articleSection":["Tutorials"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/","url":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/","name":"Async Virtualization That Actually Feels Instant - Xceed Software","isPartOf":{"@id":"https:\/\/xceed.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#primaryimage"},"image":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#primaryimage"},"thumbnailUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/unnamed-file.png","datePublished":"2025-09-22T15:35:04+00:00","dateModified":"2026-08-26T18:58:56+00:00","breadcrumb":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#primaryimage","url":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/unnamed-file.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/unnamed-file.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/xceed.com\/blog\/tutorials\/async-virtualization-that-actually-feels-instant\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xceed.com\/"},{"@type":"ListItem","position":2,"name":"Async Virtualization That Actually Feels Instant"}]},{"@type":"WebSite","@id":"https:\/\/xceed.com\/fr\/#website","url":"https:\/\/xceed.com\/fr\/","name":"Xceed Software","description":"Proporciona herramientas para que los desarrolladores de .NET, Windows Forms, WPF, Silverlight y ASP.NET puedan crear mejores aplicaciones.","publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xceed.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/xceed.com\/fr\/#organization","name":"Xceed Software","alternateName":"Xceed Software","url":"https:\/\/xceed.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/xceed.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/xceed.com\/wp-content\/uploads\/2026\/07\/Untitled-design-24.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2026\/07\/Untitled-design-24.png","width":512,"height":512,"caption":"Xceed Software"},"image":{"@id":"https:\/\/xceed.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/xceed.com\/fr\/#\/schema\/person\/79a6cce48b70a88e6701fef086d7c351","name":"Christopher Radford","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g","caption":"Christopher Radford"},"sameAs":["http:\/\/www.localhost:10003"],"url":"https:\/\/xceed.com\/es\/blog\/author\/radfordc\/"}]}},"_links":{"self":[{"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/posts\/3170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/comments?post=3170"}],"version-history":[{"count":1,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/posts\/3170\/revisions"}],"predecessor-version":[{"id":4218,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/posts\/3170\/revisions\/4218"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/media\/3171"}],"wp:attachment":[{"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/media?parent=3170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/categories?post=3170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/tags?post=3170"},{"taxonomy":"products","embeddable":true,"href":"https:\/\/xceed.com\/es\/wp-json\/wp\/v2\/products?post=3170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}