<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link href="https://www.pcgamer.com/rss/" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ PCGamer latest ]]></title>
                <link>https://www.pcgamer.com/rss/</link>
        <description><![CDATA[  ]]></description>
                                    <lastBuildDate>Fri, 16 Oct 2026 00:08:45 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ US lawmaker calls videogame purchases rentals disguised as sales: 'When you pay for a game, you should own it' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>US Representative Ritchie Torres, a Democrat from New York City, <a href="https://ritchietorres.house.gov/posts/rep-torres-announces-power-to-the-players-act-legislation-to-ensure-gamers-own-their-games" target="_blank">announced today</a> that he will introduce the "Power To The Players Act." </p><p>If it becomes law, the bill will see the US Federal Trade Commission create regulations that protect our "ability to own and play" purchased games, according to Torres' office.</p><p>"When you pay for a game, you should own it," says Torres. "Consumers must have the right to own, the right to play, and the right to transfer the games they buy. A game that can be taken away the moment a company pulls the plug is not a purchase. It is a rental disguised as a sale."</p><p>The game ownership issue is longstanding on PC, which moved to digital distribution a couple decades ago, but has recently come to the foreground of public consciousness as the consoles also transition away from discs. Earlier this year, Sony announced that it will end physical disc production in 2028.</p><p>The related problem of online games being decommissioned before players are done with them has also received more attention in recent years. The <a href="https://www.stopkillinggames.com/en" target="_blank">Stop Killing Games</a> campaign in particular has raised the issue's profile, arguing that basic offline functionality should be expected when online games are retired. Founder Ross Scott and organizer Moritz Katzner gained an audience with the European Parliament <a href="https://www.pcgamer.com/games/stop-killing-games-says-the-fight-goes-on-after-european-commission-rejects-proposed-rule-changes-were-much-more-than-just-this-single-petition/">earlier this year</a>.</p><p>As one of its prime examples of the problem, Stop Killing Games has pointed to The Crew, a Ubisoft racing game which went offline in 2024, preventing those who purchased it from continuing to play even the singleplayer campaign.</p><p>The aim of the Power To The Players Act is to establish and enforce a more genuine ownership of purchased games, as opposed to the revocable licenses we currently buy, and to require that offline modes be made available before online games are shut down.</p><p>For DRM-free games, such as those purchased from GOG, ownership is a non-issue: Once you have the game files, you can back them up and use them for as long as you can find a PC that'll run them. Realistically, the FTC is not going to mandate the eradication of software copy protection, so if passed the bill would presumably arrive at a softer definition of ownership. </p><p>I've reached out to Rep Torres' office for more information on what enforcement of the bill is expected to look like, should it pass.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/gaming-industry/us-lawmaker-calls-videogame-purchases-rentals-disguised-as-sales-when-you-pay-for-a-game-you-should-own-it/</link>
                                                                            <description>
                            <![CDATA[ Representative Ritchie Torres will introduce a bill aimed at protecting videogame ownership, including for online games that are decommissioned. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">J4ayvVpAjGVcSYY3DXNQKK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5b4WMs9ucymCPvbCjSEF8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 16 Oct 2026 00:08:45 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Industry]]></category>
                                                                                                <author><![CDATA[ tyler@pcgamer.com (Tyler Wilde) ]]></author>                    <dc:creator><![CDATA[ Tyler Wilde ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rGvfSUkSBEPzBAVS3jRh9E-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tyler grew up in Silicon Valley during the &#039;80s and &#039;90s, playing games like Zork and Arkanoid on early PCs. He was later captivated by Myst, SimCity, Civilization, Command &amp; Conquer, all the shooters they call &quot;boomer shooters&quot; now, and PS1 classic Bushido Blade (that&#039;s right: he had Bleem!). Tyler joined PC Gamer in 2011, and today he&#039;s focused on the site&#039;s news coverage. His hobbies include amateur boxing and adding to his 1,200-plus hours in Rocket League.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5b4WMs9ucymCPvbCjSEF8-1920-80.jpg">
                                                            <media:credit><![CDATA[Office of Rep. Ritchie Torres]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Representative Ritchie Torres]]></media:description>                                                            <media:text><![CDATA[Representative Ritchie Torres]]></media:text>
                                <media:title type="plain"><![CDATA[Representative Ritchie Torres]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5b4WMs9ucymCPvbCjSEF8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>US Representative Ritchie Torres, a Democrat from New York City, <a href="https://ritchietorres.house.gov/posts/rep-torres-announces-power-to-the-players-act-legislation-to-ensure-gamers-own-their-games" target="_blank">announced today</a> that he will introduce the "Power To The Players Act." </p><p>If it becomes law, the bill will see the US Federal Trade Commission create regulations that protect our "ability to own and play" purchased games, according to Torres' office.</p><p>"When you pay for a game, you should own it," says Torres. "Consumers must have the right to own, the right to play, and the right to transfer the games they buy. A game that can be taken away the moment a company pulls the plug is not a purchase. It is a rental disguised as a sale."</p><p>The game ownership issue is longstanding on PC, which moved to digital distribution a couple decades ago, but has recently come to the foreground of public consciousness as the consoles also transition away from discs. Earlier this year, Sony announced that it will end physical disc production in 2028.</p><p>The related problem of online games being decommissioned before players are done with them has also received more attention in recent years. The <a href="https://www.stopkillinggames.com/en" target="_blank">Stop Killing Games</a> campaign in particular has raised the issue's profile, arguing that basic offline functionality should be expected when online games are retired. Founder Ross Scott and organizer Moritz Katzner gained an audience with the European Parliament <a href="https://www.pcgamer.com/games/stop-killing-games-says-the-fight-goes-on-after-european-commission-rejects-proposed-rule-changes-were-much-more-than-just-this-single-petition/">earlier this year</a>.</p><p>As one of its prime examples of the problem, Stop Killing Games has pointed to The Crew, a Ubisoft racing game which went offline in 2024, preventing those who purchased it from continuing to play even the singleplayer campaign.</p><p>The aim of the Power To The Players Act is to establish and enforce a more genuine ownership of purchased games, as opposed to the revocable licenses we currently buy, and to require that offline modes be made available before online games are shut down.</p><p>For DRM-free games, such as those purchased from GOG, ownership is a non-issue: Once you have the game files, you can back them up and use them for as long as you can find a PC that'll run them. Realistically, the FTC is not going to mandate the eradication of software copy protection, so if passed the bill would presumably arrive at a softer definition of ownership. </p><p>I've reached out to Rep Torres' office for more information on what enforcement of the bill is expected to look like, should it pass.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Steam achievements are getting a huge overhaul, with separate sets for DLC and season passes, and an easy way to compare with friends ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Valve has pushed <a href="https://steamcommunity.com/games/593110/announcements">a new update</a> to its Steam client beta introducing big changes to how achievements work and how they're displayed. Developers can now create sets of achievements customized to their game, like mastering a specific character class or finishing a singleplayer campaign. Sets also distinguish base game achievements from separate DLC and seasonal sets.</p><p>Previously if you unlocked all achievements for a game you'd see a nice 'n' tidy 100% in your achievements list. But if that game got DLC with new achievements, that 100% would drop accordingly. I can understand why achievement heads would be annoyed by this: what if you have no intention of playing the DLC, but want to retain 100% completion bragging rights? This update fixes that, assuming devs use it.</p><p>It's a similar situation for seasonal achievements, which I can see working well with battle passes. The example Valve uses is a set called "Halloween Event Achievements" which are valid for a certain period and don't affect the achievement count of the base game. In other words: if you have the completionist itch but skip a season, it won't affect your base game stats.</p><p>All these changes have prompted a refresh of the achievements page. Most achievements info is now displayed on a single page: your progress towards overall completion, and your progress towards unlocking individual achievements. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1282px;"><p class="vanilla-image-block" style="padding-top:74.26%;"><img id="kCu8x6JbkvWFTB9BExWeHY" name="steamachievements" alt="A screenshot of Steam's UI showing the new achievements system" src="https://cdn.mos.cms.futurecdn.net/kCu8x6JbkvWFTB9BExWeHY-1920-80.png" mos="" align="middle" fullscreen="1" width="1282" height="952" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/kCu8x6JbkvWFTB9BExWeHY-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Valve)</span></figcaption></figure><p>I especially like that you can now directly compare achievements with up to three friends at once, which is what's being displayed at the bottom of the above image. This has been a feature on PlayStation consoles for a while, and so has separate sets for DLC achievements. It's nice that Valve has caught up.</p><p>Naturally, not every game on Steam will have implemented this new system yet, but the following games have:</p><ul><li>Against the Storm</li><li>Age of Wonders 4</li><li>American Truck Simulator</li><li>Call of Duty: Modern Warfare 4</li><li>Crusader Kings III</li><li>DREDGE</li><li>Euro Truck Simulator 2</li><li>Forza Horizon 5</li><li>Flock Around</li><li>He is Coming</li><li>LEGO Batman: Legacy of the Dark Knight</li><li>Left 4 Dead 2</li><li>Portal 2</li><li>PowerWash Simulator</li><li>PowerWash Simulator 2</li><li>Team Fortress 2</li><li>Victoria 3</li></ul><p>This system is still in beta, but you can sign up for the Client Beta or just wait: as we saw with <a href="https://www.pcgamer.com/software/platforms/steam-now-has-a-maddening-bouncing-logo-screensaver-and-im-pretty-sure-it-doesnt-touch-the-corners/">Steam's new screensaver feature</a>, betas normally only last around a month.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/platforms/steam-achievements-are-getting-a-huge-overhaul-with-separate-sets-for-dlc-and-season-passes-and-an-easy-way-to-compare-with-friends/</link>
                                                                            <description>
                            <![CDATA[ It's in beta now, but will likely release widely in about a month. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tmN4w2PrCsVzmdnvoEDgxD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aDSd3fesSdXXhP9JGLAMAS-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 23:58:30 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Platforms]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ shaun.prescott@futurenet.com (Shaun Prescott) ]]></author>                    <dc:creator><![CDATA[ Shaun Prescott ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/aDSd3fesSdXXhP9JGLAMAS-1920-80.png">
                                                            <media:credit><![CDATA[Valve]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A detail from the Steam achievements page, and a Steam achievement icon]]></media:description>                                                            <media:text><![CDATA[A detail from the Steam achievements page, and a Steam achievement icon]]></media:text>
                                <media:title type="plain"><![CDATA[A detail from the Steam achievements page, and a Steam achievement icon]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aDSd3fesSdXXhP9JGLAMAS-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Valve has pushed <a href="https://steamcommunity.com/games/593110/announcements">a new update</a> to its Steam client beta introducing big changes to how achievements work and how they're displayed. Developers can now create sets of achievements customized to their game, like mastering a specific character class or finishing a singleplayer campaign. Sets also distinguish base game achievements from separate DLC and seasonal sets.</p><p>Previously if you unlocked all achievements for a game you'd see a nice 'n' tidy 100% in your achievements list. But if that game got DLC with new achievements, that 100% would drop accordingly. I can understand why achievement heads would be annoyed by this: what if you have no intention of playing the DLC, but want to retain 100% completion bragging rights? This update fixes that, assuming devs use it.</p><p>It's a similar situation for seasonal achievements, which I can see working well with battle passes. The example Valve uses is a set called "Halloween Event Achievements" which are valid for a certain period and don't affect the achievement count of the base game. In other words: if you have the completionist itch but skip a season, it won't affect your base game stats.</p><p>All these changes have prompted a refresh of the achievements page. Most achievements info is now displayed on a single page: your progress towards overall completion, and your progress towards unlocking individual achievements. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1282px;"><p class="vanilla-image-block" style="padding-top:74.26%;"><img id="kCu8x6JbkvWFTB9BExWeHY" name="steamachievements" alt="A screenshot of Steam's UI showing the new achievements system" src="https://cdn.mos.cms.futurecdn.net/kCu8x6JbkvWFTB9BExWeHY-1920-80.png" mos="" align="middle" fullscreen="1" width="1282" height="952" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/kCu8x6JbkvWFTB9BExWeHY-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Valve)</span></figcaption></figure><p>I especially like that you can now directly compare achievements with up to three friends at once, which is what's being displayed at the bottom of the above image. This has been a feature on PlayStation consoles for a while, and so has separate sets for DLC achievements. It's nice that Valve has caught up.</p><p>Naturally, not every game on Steam will have implemented this new system yet, but the following games have:</p><ul><li>Against the Storm</li><li>Age of Wonders 4</li><li>American Truck Simulator</li><li>Call of Duty: Modern Warfare 4</li><li>Crusader Kings III</li><li>DREDGE</li><li>Euro Truck Simulator 2</li><li>Forza Horizon 5</li><li>Flock Around</li><li>He is Coming</li><li>LEGO Batman: Legacy of the Dark Knight</li><li>Left 4 Dead 2</li><li>Portal 2</li><li>PowerWash Simulator</li><li>PowerWash Simulator 2</li><li>Team Fortress 2</li><li>Victoria 3</li></ul><p>This system is still in beta, but you can sign up for the Client Beta or just wait: as we saw with <a href="https://www.pcgamer.com/software/platforms/steam-now-has-a-maddening-bouncing-logo-screensaver-and-im-pretty-sure-it-doesnt-touch-the-corners/">Steam's new screensaver feature</a>, betas normally only last around a month.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Less than 2 weeks after announcing RuneScape Reignited, Jagex is scrapping the whole thing ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Life comes at you fast, as the saying goes, and the folks at RuneScape developer Jagex can sure attest to that. Less than two weeks after <a href="https://www.pcgamer.com/games/mmo/runescape-is-getting-a-new-character-type-that-promises-a-fresh-start-but-existing-players-are-wary-of-splitting-the-community-up/" target="_blank">announcing RuneScape Reignited</a>—essentially a way for new and lapsed players to restart their adventures from fresh on separate, unique servers—the studio has decided to cancel it.</p><p>There was trouble with RuneScape Reignited almost right from the start, with complaints ranging from a potential community split to restrictions on character interactions and the need to pay for a separate subscription. Just a few days after the initial announcement, Jagex <a href="https://secure.runescape.com/m=news/reignited-where-we-go-from-here" target="_blank">apologized</a> for making veteran players feel like they were being shunted aside, and said it was "exploring a heavy set of revisions to Reignited based on your feedback." </p><p>A few days after that, it laid out a more specific list of <a href="https://secure.runescape.com/m=news/reignited-end-of-week-update" target="_blank">intended alterations</a>, and invited more feedback from players, "so we can follow up next week with more of our thoughts." With that feedback now received, it seems that Jagex has heard enough. <br><br>"It is clear that we missed the mark on this, and so we are not moving forward with it," Mod Ryan—associate creative director Ryan Philpott—said in a <a href="https://secure.runescape.com/m=news/reignited-an-update-from-mod-ryan" target="_blank">blog post</a> announcing the cancellation. "Our goal is to see Runescape grow again, with returning players coming back and new players joining, but never at the expense of our existing community."</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/l5bWocJHxd0" allowfullscreen></iframe></div></div><p>It's a very sudden about-face, but not unprecedented. In 2023, for instance, Jagex <a href="https://www.pcgamer.com/runescape-fans-chalk-up-a-small-victory-for-the-players-as-developer-chucks-new-and-hated-battle-pass-in-the-trash/" target="_blank">dropped a new RuneScape battle pass</a> in the wake of massive player backlash; in 2025, the studio <a href="https://www.pcgamer.com/games/mmo/runescape-fans-have-spoken-treasure-hunter-microtransactions-will-be-scrapped-in-january-as-part-of-a-wider-transformation-across-jagex/" target="_blank">scrapped "Treasure Hunter" microtransactions</a>, in what Jagex CEO Jon Bellamy said was "part of a wider transformation across Jagex, which is seeing a renewed commitment to delivering deeper value, greater fairness and long-term improvements for players."</p><p>It hasn't been entirely smooth sailing: Recent <a href="https://www.pcgamer.com/games/mmo/runescapes-monthly-membership-now-costs-as-much-as-a-world-of-warcraft-subscription-as-jagex-announces-its-second-price-hike-in-less-than-2-years/" target="_blank">price hikes</a> have not gone over well (no surprise there, though), and Jagex's cowardly decision to scrap in-game Pride Month events was allowed to stand despite players absolutely <a href="https://www.pcgamer.com/games/mmo/no-gay-no-pay-the-runescape-community-is-absolutely-mauling-jagexs-new-ceo-over-his-decision-to-cancel-new-pride-month-events/" target="_blank">mauling the studio</a> for it. But in terms of gameplay, at least, Jagex has demonstrated a willingness to react with relative haste when it's blown things sufficiently badly—and this definitely qualifies. </p><p>Despite the cancellation, Philpott invited new and returning players to jump into the game with a 10 day free trial beginning on December 2, which will offer full access to all worlds and content. The 2027 roadmap for RuneScape also remains in place:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:602px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="HxePPyPTPiDdBLSHB3VfHM" name="Imported image 1 - 1792098010740" alt="RuneScape 2027 roadmap" src="https://cdn.mos.cms.futurecdn.net/HxePPyPTPiDdBLSHB3VfHM-1920-80.jpg" mos="" align="middle" fullscreen="" width="602" height="339" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jagex)</span></figcaption></figure><p>"The future of RuneScape is still extremely bright," Philpott concluded. "RuneScape will always be built for and defined by its community. So please keep letting us know when you feel we're getting it wrong and shout with that same energy when you think we're getting it right too."</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="c5681ca0-c8db-11f1-8e6a-6bc870bba1e3" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="c5681ca0-c8db-11f1-8e6a-6bc870bba1e3" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/mmo/less-than-2-weeks-after-announcing-runescape-reignited-jagex-is-scrapping-the-whole-thing/</link>
                                                                            <description>
                            <![CDATA[ In the wake of a furious backlash from players, Jagex admits it "missed the mark." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CQBWrYAoYfTJrQdJZTdnLW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/c3Khw6Jt6G6JFntqYeotUT-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 21:09:54 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 21:52:00 +0000</updated>
                                                                                                                                            <category><![CDATA[MMO]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/c3Khw6Jt6G6JFntqYeotUT-1920-80.png">
                                                            <media:credit><![CDATA[Jagex]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Little RuneScape man is sad]]></media:description>                                                            <media:text><![CDATA[Little RuneScape man is sad]]></media:text>
                                <media:title type="plain"><![CDATA[Little RuneScape man is sad]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/c3Khw6Jt6G6JFntqYeotUT-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Life comes at you fast, as the saying goes, and the folks at RuneScape developer Jagex can sure attest to that. Less than two weeks after <a href="https://www.pcgamer.com/games/mmo/runescape-is-getting-a-new-character-type-that-promises-a-fresh-start-but-existing-players-are-wary-of-splitting-the-community-up/" target="_blank">announcing RuneScape Reignited</a>—essentially a way for new and lapsed players to restart their adventures from fresh on separate, unique servers—the studio has decided to cancel it.</p><p>There was trouble with RuneScape Reignited almost right from the start, with complaints ranging from a potential community split to restrictions on character interactions and the need to pay for a separate subscription. Just a few days after the initial announcement, Jagex <a href="https://secure.runescape.com/m=news/reignited-where-we-go-from-here" target="_blank">apologized</a> for making veteran players feel like they were being shunted aside, and said it was "exploring a heavy set of revisions to Reignited based on your feedback." </p><p>A few days after that, it laid out a more specific list of <a href="https://secure.runescape.com/m=news/reignited-end-of-week-update" target="_blank">intended alterations</a>, and invited more feedback from players, "so we can follow up next week with more of our thoughts." With that feedback now received, it seems that Jagex has heard enough. <br><br>"It is clear that we missed the mark on this, and so we are not moving forward with it," Mod Ryan—associate creative director Ryan Philpott—said in a <a href="https://secure.runescape.com/m=news/reignited-an-update-from-mod-ryan" target="_blank">blog post</a> announcing the cancellation. "Our goal is to see Runescape grow again, with returning players coming back and new players joining, but never at the expense of our existing community."</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/l5bWocJHxd0" allowfullscreen></iframe></div></div><p>It's a very sudden about-face, but not unprecedented. In 2023, for instance, Jagex <a href="https://www.pcgamer.com/runescape-fans-chalk-up-a-small-victory-for-the-players-as-developer-chucks-new-and-hated-battle-pass-in-the-trash/" target="_blank">dropped a new RuneScape battle pass</a> in the wake of massive player backlash; in 2025, the studio <a href="https://www.pcgamer.com/games/mmo/runescape-fans-have-spoken-treasure-hunter-microtransactions-will-be-scrapped-in-january-as-part-of-a-wider-transformation-across-jagex/" target="_blank">scrapped "Treasure Hunter" microtransactions</a>, in what Jagex CEO Jon Bellamy said was "part of a wider transformation across Jagex, which is seeing a renewed commitment to delivering deeper value, greater fairness and long-term improvements for players."</p><p>It hasn't been entirely smooth sailing: Recent <a href="https://www.pcgamer.com/games/mmo/runescapes-monthly-membership-now-costs-as-much-as-a-world-of-warcraft-subscription-as-jagex-announces-its-second-price-hike-in-less-than-2-years/" target="_blank">price hikes</a> have not gone over well (no surprise there, though), and Jagex's cowardly decision to scrap in-game Pride Month events was allowed to stand despite players absolutely <a href="https://www.pcgamer.com/games/mmo/no-gay-no-pay-the-runescape-community-is-absolutely-mauling-jagexs-new-ceo-over-his-decision-to-cancel-new-pride-month-events/" target="_blank">mauling the studio</a> for it. But in terms of gameplay, at least, Jagex has demonstrated a willingness to react with relative haste when it's blown things sufficiently badly—and this definitely qualifies. </p><p>Despite the cancellation, Philpott invited new and returning players to jump into the game with a 10 day free trial beginning on December 2, which will offer full access to all worlds and content. The 2027 roadmap for RuneScape also remains in place:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:602px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="HxePPyPTPiDdBLSHB3VfHM" name="Imported image 1 - 1792098010740" alt="RuneScape 2027 roadmap" src="https://cdn.mos.cms.futurecdn.net/HxePPyPTPiDdBLSHB3VfHM-1920-80.jpg" mos="" align="middle" fullscreen="" width="602" height="339" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jagex)</span></figcaption></figure><p>"The future of RuneScape is still extremely bright," Philpott concluded. "RuneScape will always be built for and defined by its community. So please keep letting us know when you feel we're getting it wrong and shout with that same energy when you think we're getting it right too."</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="c5681ca0-c8db-11f1-8e6a-6bc870bba1e3" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="c5681ca0-c8db-11f1-8e6a-6bc870bba1e3" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Valheim vs Enshrouded vs RuneScape: Dragonwilds: Let's settle this ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Attention fellow base-building ghouls and survival masochists, I've got good news and bad news. Starting with the good: Some of the <a href="https://www.pcgamer.com/the-best-survival-games-on-pc/">best survival crafting games</a> are no longer in early access, and have hit their 1.0 milestones. The bad news? Three of them piled into the same one-month window. </p><p>I've seen a million posts all asking the same advice: <strong>"Should I get Valheim, RuneScape Dragonwilds, or Enshrouded first?" </strong>And as someone who can't stop sinking hundreds of hours into mining the same three types of rock, I'm qualified enough to help you decide. I've also recruited my colleague, Chris Livingston, who is always up to in-game riffraff resulting in funny <a href="https://www.pcgamer.com/survival-game-green-hell-made-me-so-mad-i-pummeled-an-innocent-armadillo/">animal encounters</a> or injuries like some sort of bizarre, survival-crafting Jeff Corwin.</p><h2 class="article-body__section" id="section-comparing-valheim-dragonwilds-and-enshrouded"><span>Comparing Valheim, Dragonwilds, and Enshrouded</span></h2><p>We've got our own opinions on who's who among the recent survival crafting 1.0 launches, but maybe you just need something to compare features before getting into recommendations. It's by no means everything included across all three games, but here's a quick comparison of the differences and similarities between features and default settings in Valheim, RuneScape: Dragonwilds, and Enshrouded.</p><div ><table><thead><tr><th class="firstcol " ><p><strong>Feature</strong></p></th><th  ><p><strong>Valheim</strong></p></th><th  ><p><strong>RuneScape Dragonwilds</strong></p></th><th  ><p><strong>Enshrouded</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Map</strong></p></td><td  ><p>Procedurally generated</p></td><td  ><p>Handcrafted</p></td><td  ><p>Handcrafted</p></td></tr><tr><td class="firstcol " ><p><strong>Fast travel</strong></p></td><td  ><p>Player-crafted portals with item limits</p></td><td  ><p>Player-crafted portals that require runes as currency</p></td><td  ><p>Unlockable fast travel points and limited player-crafted bases</p></td></tr><tr><td class="firstcol " ><p><strong>Thirst and starvation</strong></p></td><td  ><p>No thirst or starvation mechanic, but food buffs are vital</p></td><td  ><p>Adjustable thirst and starvation mechanics with food buffs (enabled by default)</p></td><td  ><p>Adjustable thirst and starvation mechanics with food buffs (disabled by default)</p></td></tr><tr><td class="firstcol " ><p><strong>Inventory capacity</strong></p></td><td  ><p>Slots and weight</p></td><td  ><p>Slots and weight</p></td><td  ><p>Slots only</p></td></tr><tr><td class="firstcol " ><p><strong>Death penalties</strong></p></td><td  ><p>Skill XP/levels lost; leave behind a gravestone with inventory to retrieve</p></td><td  ><p>No XP loss; leave behind a gravestone with inventory to retrieve</p></td><td  ><p>No XP loss; leave behind a gravestone with inventory to retrieve</p></td></tr><tr><td class="firstcol " ><p><strong>Item durability</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Crafting from storage</strong></p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Structural integrity</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Sleep through nights</strong></p></td><td  ><p>Skips nighttime</p></td><td  ><p>Skips nighttime</p></td><td  ><p>Speeds up nighttime</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort/Rest</strong></p></td><td  ><p>Provides rested buff through furniture and decor with comfort values</p></td><td  ><p>Requires sleep to replenish rest meter; separate cosiness buff requires a bed</p></td><td  ><p>Provides rested buff through furniture and decor with comfort values</p></td></tr><tr><td class="firstcol " ><p><strong>Dynamic weather</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Grid snap</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Terraforming</strong></p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Stats and leveling</strong></p></td><td  ><p>Gain XP and levels in  various skills and weapon proficiencies upon using relevant tools or crafting benches</p></td><td  ><p>Gain XP and levels in various skills and weapon proficiencies by using relevant tools or by collecting output from crafting benches. Some proficiency levels include stat bonuses or new abilities</p></td><td  ><p>Level up through combat and exploration; each level rewards skill points to spend on additional stats or abilities</p></td></tr><tr><td class="firstcol " ><p><strong>Raids</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Dungeons</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Fishing</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Farming</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Taming and ranching</strong></p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Mounts</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Quests</strong></p></td><td  ><p>A few optional sidequests; progression is instead driven by exploration</p></td><td  ><p>Main story quests drive world progression; sidequests reward optional bonuses</p></td><td  ><p>Main story quests drive world progression; sidequests reward optional bonuses</p></td></tr><tr><td class="firstcol " ><p><strong>Creative Mode</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Photo Mode</strong></p></td><td  ><p>❌<br>(Has option to hide HUD, can control camera with console commands)</p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Custom difficulty</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Official mod support</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Multiplayer</strong></p></td><td  ><p>1-10 players</p></td><td  ><p>1-6 players</p></td><td  ><p>1-16 players</p></td></tr><tr><td class="firstcol " ><p><strong>Steam Deck</strong></p></td><td  ><p>Verified</p></td><td  ><p>Playable</p></td><td  ><p>Verified</p></td></tr><tr><td class="firstcol " ><p><strong>Crossplay</strong></p></td><td  ><p>✔️ <br>Available between PC, PS5, Xbox Series X/S (and Switch, pending an update)</p></td><td  ><p>✔️ <br>Available between PC, PS5, Xbox Series X/S (and Switch, pending an update)</p></td><td  ><p>❌ <br>Planned for future update</p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$30/£24 (<a href="https://store.steampowered.com/app/892970/Valheim/">Steam</a>)</p></td><td  ><p>$30/£25 (<a href="https://store.steampowered.com/app/1374490/RuneScape_Dragonwilds/">Steam</a> | <a href="https://store.epicgames.com/p/runescape-dragonwilds-3a24c7">Epic</a>)</p></td><td  ><p>$40/£35 (<a href="https://store.steampowered.com/app/1203620/Enshrouded/">Steam</a>)<br></p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-valheim-vs-enshrouded-vs-runescape-dragonwilds"><span>Valheim vs Enshrouded vs RuneScape: Dragonwilds</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/UMxKj948VSdSVNjii3GhET.jpg" alt="RuneScape: Dragonwilds - A wizard with a staff stands by a crafting table"></p></div><div class="card__content"><h3 class="card__title">Most traditional do-this-or-else survival game</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Dragonwilds</strong><br><em>🥈Valheim🥉Enshrouded</em></p></div><div class="card__description"><p>It's not necessarily the hardest game here, but Dragonwilds is the most punitive. It's the only one with a thirst and hunger system enabled by default, and where sleep is a requirement, not a suggestion.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/iAax9u2Qg4Drsh8eZL7WP3.jpg" alt="Guy with pickaxe looking at village"></p></div><div class="card__content"><h3 class="card__title">Least terrible mining</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Enshrouded </strong><br><em>🥈Dragonwilds🥉Valheim</em></p></div><div class="card__description"><p>Mining sucks, and our debate on a winner here turned into "which is the least terrible" instead of an argument over the best. Hunting ore in Valheim's swampy biome was the worst, and stingy Dragonwilds nodes were second worst. </p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/hTcknqrADn4AiGQE5fft9E.jpg" alt="Valheim Draugr fang bow"></p></div><div class="card__content"><h3 class="card__title">Best in deforestation</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇Valheim</strong><br><em>🥈Dragonwilds🥉Enshrouded</em></p></div><div class="card__description"><p>In Valheim,<a href="https://www.pcgamer.com/in-valheim-the-trees-punch-back/"> the trees hit back</a>. Nothing beats getting crushed to death by an entire forest—the other two don't even come close. </p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/qwHsdN8dedvyDwmNbYE4gS.jpg" alt="A premade house made of bricks and wood in Enshrouded"></p></div><div class="card__content"><h3 class="card__title">The one for building sickos</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Enshrouded </strong><br><em>🥈Valheim 🥉Dragonwilds</em></p></div><div class="card__description"><p>Enshrouded is the best set of Legos, hands down. It has blocks in all shapes and sizes, tons of furniture, terraforming, NPC villagers, and even tools for adding a sprinkle of decay to buildings. </p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/qXjjBLVnbV7pv32EueJkML.jpg" alt="RuneScape: Dragonwilds screenshot"></p></div><div class="card__content"><h3 class="card__title">Excellence in hunting you for sport (raids)</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Dragonwilds</strong><br><em>🥈Valheim</em></p></div><div class="card__description"><p>Valheim raids are a close second (a great way to get resources delivered to your front door) but there's something rad about a dragon boss showing up at your house and carpetbombing you with poison while you're trying to get cozy.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/GMqatxWJpKRWMWrUhhXtdC.jpg" alt="A large troll in the snow"></p></div><div class="card__content"><h3 class="card__title">Best &#39;There and back again&#39;  (exploration)</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇Valheim</strong><br><em>🥈Enshrouded🥉Dragonwilds</em></p></div><div class="card__description"><p>The handcrafted worlds of Enshrouded and Dragonwilds are both awesome, but setting out on a voyage into the procedural world of Valheim is a mysterious thrill each and every time, which makes coming home again all the more satisfying.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/5tFa9ArT4UFUugKQ4S73DM.jpg" alt="Warrior in a fantasy world"></p></div><div class="card__content"><h3 class="card__title">Most deserving of a Michelin Star</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇Enshrouded</strong><br><em>🥈Dragonwilds🥉Valheim</em></p></div><div class="card__description"><p>Enshrouded wins us over with its cooking mechanics—holding your own meaty kebabs over an open flame is a nice touch—but this was a close one. The multi-step process in Dragonwilds is fun to micromanage, while Valheim's system feels the most rewarding.</p></div></div></div></div><h2 class="article-body__section" id="section-valheim-vs-enshrouded-vs-dragonwilds-our-picks"><span>Valheim vs Enshrouded vs Dragonwilds: Our picks</span></h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OR9znW"></div>                            </div>                            <script src="https://kwizly.com/embed/OR9znW.js" async></script><div class="product"><a data-dimension112="a49a3cb6-c8da-11f1-b80b-0907568fca8a" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="a49a3cb6-c8da-11f1-b80b-0907568fca8a" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/survival-crafting/valheim-vs-runescape-dragonwilds-vs-enshrouded/</link>
                                                                            <description>
                            <![CDATA[ Three top-tier survival crafting games have entered their 1.0 era. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uCzyP3M2MTKt3iaj2nqr6d</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zzWFitsgpC7sijeUsvAQoE-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 20:54:41 +0000</pubDate>                                                                                                                                <updated>Fri, 16 Oct 2026 00:22:59 +0000</updated>
                                                                                                                                            <category><![CDATA[Survival & Crafting]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andrea Shearon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/qGDcAqeJDHFab8LYduM29E-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Christopher Livingston ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zzWFitsgpC7sijeUsvAQoE-1920-80.jpg">
                                                            <media:credit><![CDATA[Iron Gate, Jagex, Keen Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Left to right: Characters from survival crafting games Valheim, RuneScape: Dragonwilds, and Enshrouded]]></media:description>                                                            <media:text><![CDATA[Left to right: Characters from survival crafting games Valheim, RuneScape: Dragonwilds, and Enshrouded]]></media:text>
                                <media:title type="plain"><![CDATA[Left to right: Characters from survival crafting games Valheim, RuneScape: Dragonwilds, and Enshrouded]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zzWFitsgpC7sijeUsvAQoE-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Attention fellow base-building ghouls and survival masochists, I've got good news and bad news. Starting with the good: Some of the <a href="https://www.pcgamer.com/the-best-survival-games-on-pc/">best survival crafting games</a> are no longer in early access, and have hit their 1.0 milestones. The bad news? Three of them piled into the same one-month window. </p><p>I've seen a million posts all asking the same advice: <strong>"Should I get Valheim, RuneScape Dragonwilds, or Enshrouded first?" </strong>And as someone who can't stop sinking hundreds of hours into mining the same three types of rock, I'm qualified enough to help you decide. I've also recruited my colleague, Chris Livingston, who is always up to in-game riffraff resulting in funny <a href="https://www.pcgamer.com/survival-game-green-hell-made-me-so-mad-i-pummeled-an-innocent-armadillo/">animal encounters</a> or injuries like some sort of bizarre, survival-crafting Jeff Corwin.</p><h2 class="article-body__section" id="section-comparing-valheim-dragonwilds-and-enshrouded"><span>Comparing Valheim, Dragonwilds, and Enshrouded</span></h2><p>We've got our own opinions on who's who among the recent survival crafting 1.0 launches, but maybe you just need something to compare features before getting into recommendations. It's by no means everything included across all three games, but here's a quick comparison of the differences and similarities between features and default settings in Valheim, RuneScape: Dragonwilds, and Enshrouded.</p><div ><table><thead><tr><th class="firstcol " ><p><strong>Feature</strong></p></th><th  ><p><strong>Valheim</strong></p></th><th  ><p><strong>RuneScape Dragonwilds</strong></p></th><th  ><p><strong>Enshrouded</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Map</strong></p></td><td  ><p>Procedurally generated</p></td><td  ><p>Handcrafted</p></td><td  ><p>Handcrafted</p></td></tr><tr><td class="firstcol " ><p><strong>Fast travel</strong></p></td><td  ><p>Player-crafted portals with item limits</p></td><td  ><p>Player-crafted portals that require runes as currency</p></td><td  ><p>Unlockable fast travel points and limited player-crafted bases</p></td></tr><tr><td class="firstcol " ><p><strong>Thirst and starvation</strong></p></td><td  ><p>No thirst or starvation mechanic, but food buffs are vital</p></td><td  ><p>Adjustable thirst and starvation mechanics with food buffs (enabled by default)</p></td><td  ><p>Adjustable thirst and starvation mechanics with food buffs (disabled by default)</p></td></tr><tr><td class="firstcol " ><p><strong>Inventory capacity</strong></p></td><td  ><p>Slots and weight</p></td><td  ><p>Slots and weight</p></td><td  ><p>Slots only</p></td></tr><tr><td class="firstcol " ><p><strong>Death penalties</strong></p></td><td  ><p>Skill XP/levels lost; leave behind a gravestone with inventory to retrieve</p></td><td  ><p>No XP loss; leave behind a gravestone with inventory to retrieve</p></td><td  ><p>No XP loss; leave behind a gravestone with inventory to retrieve</p></td></tr><tr><td class="firstcol " ><p><strong>Item durability</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Crafting from storage</strong></p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Structural integrity</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Sleep through nights</strong></p></td><td  ><p>Skips nighttime</p></td><td  ><p>Skips nighttime</p></td><td  ><p>Speeds up nighttime</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort/Rest</strong></p></td><td  ><p>Provides rested buff through furniture and decor with comfort values</p></td><td  ><p>Requires sleep to replenish rest meter; separate cosiness buff requires a bed</p></td><td  ><p>Provides rested buff through furniture and decor with comfort values</p></td></tr><tr><td class="firstcol " ><p><strong>Dynamic weather</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Grid snap</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Terraforming</strong></p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Stats and leveling</strong></p></td><td  ><p>Gain XP and levels in  various skills and weapon proficiencies upon using relevant tools or crafting benches</p></td><td  ><p>Gain XP and levels in various skills and weapon proficiencies by using relevant tools or by collecting output from crafting benches. Some proficiency levels include stat bonuses or new abilities</p></td><td  ><p>Level up through combat and exploration; each level rewards skill points to spend on additional stats or abilities</p></td></tr><tr><td class="firstcol " ><p><strong>Raids</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Dungeons</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Fishing</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Farming</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Taming and ranching</strong></p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Mounts</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Quests</strong></p></td><td  ><p>A few optional sidequests; progression is instead driven by exploration</p></td><td  ><p>Main story quests drive world progression; sidequests reward optional bonuses</p></td><td  ><p>Main story quests drive world progression; sidequests reward optional bonuses</p></td></tr><tr><td class="firstcol " ><p><strong>Creative Mode</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Photo Mode</strong></p></td><td  ><p>❌<br>(Has option to hide HUD, can control camera with console commands)</p></td><td  ><p>❌</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Custom difficulty</strong></p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td><td  ><p>✔️</p></td></tr><tr><td class="firstcol " ><p><strong>Official mod support</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Multiplayer</strong></p></td><td  ><p>1-10 players</p></td><td  ><p>1-6 players</p></td><td  ><p>1-16 players</p></td></tr><tr><td class="firstcol " ><p><strong>Steam Deck</strong></p></td><td  ><p>Verified</p></td><td  ><p>Playable</p></td><td  ><p>Verified</p></td></tr><tr><td class="firstcol " ><p><strong>Crossplay</strong></p></td><td  ><p>✔️ <br>Available between PC, PS5, Xbox Series X/S (and Switch, pending an update)</p></td><td  ><p>✔️ <br>Available between PC, PS5, Xbox Series X/S (and Switch, pending an update)</p></td><td  ><p>❌ <br>Planned for future update</p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$30/£24 (<a href="https://store.steampowered.com/app/892970/Valheim/">Steam</a>)</p></td><td  ><p>$30/£25 (<a href="https://store.steampowered.com/app/1374490/RuneScape_Dragonwilds/">Steam</a> | <a href="https://store.epicgames.com/p/runescape-dragonwilds-3a24c7">Epic</a>)</p></td><td  ><p>$40/£35 (<a href="https://store.steampowered.com/app/1203620/Enshrouded/">Steam</a>)<br></p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-valheim-vs-enshrouded-vs-runescape-dragonwilds"><span>Valheim vs Enshrouded vs RuneScape: Dragonwilds</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/UMxKj948VSdSVNjii3GhET.jpg" alt="RuneScape: Dragonwilds - A wizard with a staff stands by a crafting table"></p></div><div class="card__content"><h3 class="card__title">Most traditional do-this-or-else survival game</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Dragonwilds</strong><br><em>🥈Valheim🥉Enshrouded</em></p></div><div class="card__description"><p>It's not necessarily the hardest game here, but Dragonwilds is the most punitive. It's the only one with a thirst and hunger system enabled by default, and where sleep is a requirement, not a suggestion.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/iAax9u2Qg4Drsh8eZL7WP3.jpg" alt="Guy with pickaxe looking at village"></p></div><div class="card__content"><h3 class="card__title">Least terrible mining</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Enshrouded </strong><br><em>🥈Dragonwilds🥉Valheim</em></p></div><div class="card__description"><p>Mining sucks, and our debate on a winner here turned into "which is the least terrible" instead of an argument over the best. Hunting ore in Valheim's swampy biome was the worst, and stingy Dragonwilds nodes were second worst. </p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/hTcknqrADn4AiGQE5fft9E.jpg" alt="Valheim Draugr fang bow"></p></div><div class="card__content"><h3 class="card__title">Best in deforestation</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇Valheim</strong><br><em>🥈Dragonwilds🥉Enshrouded</em></p></div><div class="card__description"><p>In Valheim,<a href="https://www.pcgamer.com/in-valheim-the-trees-punch-back/"> the trees hit back</a>. Nothing beats getting crushed to death by an entire forest—the other two don't even come close. </p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/qwHsdN8dedvyDwmNbYE4gS.jpg" alt="A premade house made of bricks and wood in Enshrouded"></p></div><div class="card__content"><h3 class="card__title">The one for building sickos</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Enshrouded </strong><br><em>🥈Valheim 🥉Dragonwilds</em></p></div><div class="card__description"><p>Enshrouded is the best set of Legos, hands down. It has blocks in all shapes and sizes, tons of furniture, terraforming, NPC villagers, and even tools for adding a sprinkle of decay to buildings. </p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/qXjjBLVnbV7pv32EueJkML.jpg" alt="RuneScape: Dragonwilds screenshot"></p></div><div class="card__content"><h3 class="card__title">Excellence in hunting you for sport (raids)</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇 Dragonwilds</strong><br><em>🥈Valheim</em></p></div><div class="card__description"><p>Valheim raids are a close second (a great way to get resources delivered to your front door) but there's something rad about a dragon boss showing up at your house and carpetbombing you with poison while you're trying to get cozy.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/GMqatxWJpKRWMWrUhhXtdC.jpg" alt="A large troll in the snow"></p></div><div class="card__content"><h3 class="card__title">Best &#39;There and back again&#39;  (exploration)</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇Valheim</strong><br><em>🥈Enshrouded🥉Dragonwilds</em></p></div><div class="card__description"><p>The handcrafted worlds of Enshrouded and Dragonwilds are both awesome, but setting out on a voyage into the procedural world of Valheim is a mysterious thrill each and every time, which makes coming home again all the more satisfying.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/5tFa9ArT4UFUugKQ4S73DM.jpg" alt="Warrior in a fantasy world"></p></div><div class="card__content"><h3 class="card__title">Most deserving of a Michelin Star</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>🥇Enshrouded</strong><br><em>🥈Dragonwilds🥉Valheim</em></p></div><div class="card__description"><p>Enshrouded wins us over with its cooking mechanics—holding your own meaty kebabs over an open flame is a nice touch—but this was a close one. The multi-step process in Dragonwilds is fun to micromanage, while Valheim's system feels the most rewarding.</p></div></div></div></div><h2 class="article-body__section" id="section-valheim-vs-enshrouded-vs-dragonwilds-our-picks"><span>Valheim vs Enshrouded vs Dragonwilds: Our picks</span></h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OR9znW"></div>                            </div>                            <script src="https://kwizly.com/embed/OR9znW.js" async></script><div class="product"><a data-dimension112="a49a3cb6-c8da-11f1-b80b-0907568fca8a" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="a49a3cb6-c8da-11f1-b80b-0907568fca8a" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Street Fighter review roundup: sorry, folks, but it sounds like a mess ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I had such high hopes for the Street Fighter movie: The trailers were so promising, the cast so charismatic, and it seemed to <em>get</em> the inherent ridiculousness of the franchise, playing it seriously without ever really taking it too seriously. I mean, you don't put a guy like David Dastmalchian in the role of M. Bison unless you expect him to do <em>something</em> with it, right?</p><p>Alas, it seems that this may be a real <a href="https://www.youtube.com/watch?v=sjZ5I8l32CI" target="_blank">Tuesday</a>, at least for my Street Fighter movie aspirations. The reviews are in, and they are not especially kind. Street Fighter isn't a complete catastrophe, according to the critical consensus, but I don't think JCVD has to worry about having to turn in his "Best Street Fighter Movie" trophy anytime soon, either.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/U6sbm1OaJb8" allowfullscreen></iframe></div></div><p>Here's what they're saying:</p><h2 id="quot-dumber-than-a-box-of-rocks-but-have-you-ever-thrown-rocks-at-things-it-can-be-pretty-fun-quot">"Dumber than a box of rocks, but have you ever thrown rocks at things? It can be pretty fun"</h2><p><a href="https://www.ign.com/articles/street-fighter-movie-2026-review" target="_blank"><strong>IGN</strong></a>: 6/10</p><p>The story is too thin to support its bloated roster, but IGN reckons the Street Fighter film is "all about landing as many punches as it can before the round timer hits zero. Even though there are plenty of misses, the ones it does manage to land hit hard."</p><h2 id="quot-a-garish-and-incoherent-mess-that-amuses-in-fits-and-starts-but-barely-improves-on-the-mortal-kombat-movies-before-it-quot">"A garish and incoherent mess that amuses in fits and starts but barely improves on the Mortal Kombat movies before it"</h2><p><a href="https://www.theguardian.com/film/2026/oct/15/street-fighter-movie-review" target="_blank"><strong>The Guardian</strong></a>: 2/5</p><p>Fans might enjoy the new SF flick, and the performances are "likeable," but its repeated self-knowing acknowledgment of how silly it all is "would land better if the movie ever rose above the stuff it’s making fun of. Instead, Street Fighter is satisfied punching down on itself, and everything that’s cringe about the '90s, while happily being stuck there, in the past, so it could pretend that this is as good as it gets for videogame adaptations."</p><h2 id="quot-not-a-great-adaptation-of-what-is-one-of-the-most-recognizable-brands-in-all-of-gaming-quot">"Not a great adaptation of what is one of the most recognizable brands in all of gaming"</h2><p><a href="https://collider.com/street-fighter-2026-review/" target="_blank"><strong>Collider</strong></a>: 6/10</p><p>"The movie is at its most fun when it truly locks in for those high-octane fights and the surprisingly beautiful and not-much-publicized animated sequences," Collider reviewer Aidan Kelley wrote. "Unfortunately, to get to those, you have to deal with a lot of exposition and unengaging character drama."</p><h2 id="quot-one-of-the-most-overtly-mixed-bags-of-any-movie-this-year-quot">"One of the most overtly mixed bags of any movie this year"</h2><p><a href="https://screenrant.com/street-fighter-movie-2026-review/" target="_blank"><strong>ScreenRant</strong></a><strong>:</strong> 7/10</p><p>Despite calling Street Fighter "a fundamentally flawed movie on an underlying storytelling level," ScreenRant's review is one of the more positive takes floating around out there: The film is "buoyed by the overall 'go for broke' tone" and director Kitao Sakurai's "great work helming the film, working with the cast and crew to deliver consistently entertaining fight scenes that are flush with personality and style."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7AEvKY9uAw3kAc522RUdQc" name="sf1" alt="Chun Li posing" src="https://cdn.mos.cms.futurecdn.net/7AEvKY9uAw3kAc522RUdQc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/7AEvKY9uAw3kAc522RUdQc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-like-a-trip-to-a-90s-mall-arcade-street-fighter-s-pretty-fun-for-about-30-minutes-quot">"Like a trip to a ’90s mall arcade, Street Fighter’s pretty fun — for about 30 minutes"</h2><p><a href="https://screencrush.com/street-fighter-2026-review/" target="_blank"><strong>ScreenCrush</strong></a>: 5/10</p><p>"The sheer absurdity and fevered intensity of the pacing, not to mention some very athletic fight choreography, is good enough to carry things along through the jittery first act," reviewer Matt Singer wrote for ScreenCrush. "But you can only mainline caffeine for so long before it starts to give you a headache."</p><h2 id="quot-a-campy-39-90s-nostalgia-ride-and-a-complete-mess-quot">"A campy '90s nostalgia ride and a complete mess"</h2><p><a href="https://apnews.com/article/street-fighter-movie-review-12e3981dc13cdf4e36033ff84c2f6df9" target="_blank"><strong>Associated Press</strong></a><strong>:</strong> 1/4</p><p>Street Fighter is a "very enthusiastic, weirdly convoluted and jumbled mess of a movie," Jake Coyle wrote for AP. As much as you might think a Street Fighter movie, good or bad, would at least offer up some bluntly entertaining hand-to-hand combat, it’s so messily plotted and chaotically conceived that it makes a game with six buttons seem comparatively artful."</p><h2 id="quot-dull-fight-scenes-and-tonal-whiplash-make-this-mostly-forgettable-videogame-adaptation-work-only-for-superfans-quot">"Dull fight scenes and tonal whiplash make this mostly forgettable videogame adaptation work only for superfans"</h2><p><a href="https://thefilmverdict.com/street-fighter-film-review-2026/" target="_blank"><strong>The Film Verdict</strong></a></p><p>Street Fighter "is a little bit of everything that amounts to a lot of not-much," The Film Verdict declared, comparing it unfavorably to this year's Mortal Kombat and Resident Evil flicks: Street Fighter has all the elements that made those films successful, "but never lands on a formula than functions."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TemaybzeHpFVorpFjtMon9" name="guile dhal" alt="Ken and Ryu getting ready to fight a bunch of goons" src="https://cdn.mos.cms.futurecdn.net/TemaybzeHpFVorpFjtMon9-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/TemaybzeHpFVorpFjtMon9-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-i-m-not-sure-street-fighter-meets-any-conventional-standard-of-quality-but-it-s-undeniably-its-own-thing-quot">"I’m not sure Street Fighter meets any conventional standard of quality, but it’s undeniably its own thing"</h2><p><a href="https://www.thewrap.com/creative-content/movies/street-fighter-review-capcom-noah-centineo-andrew-koji/" target="_blank"><strong>The Wrap</strong></a></p><p>This review takes a more holistic approach to Street Fighter, calling it "an action-packed, hyper-stylized, borderline-nonsensical fever dream with a central storyline that begs to be taken seriously" despite being goofy, horny, largely incoherent, and somehow "even weirder" than the 1990s movie. But hey, maybe that's your thing: As reviewer William Bibbiani wrote, "What even is a 'good movie' anyway?"</p><h2 id="quot-a-jumbled-tonal-mess-that-feels-deadly-serious-one-moment-and-like-parody-the-next-quot">"A jumbled tonal mess that feels deadly serious one moment and like parody the next"</h2><p><a href="https://www.hollywoodreporter.com/movies/movie-reviews/street-fighter-review-noah-centineo-1236730035/" target="_blank"><strong>The Hollywood Reporter</strong></a></p><p>"Featuring so many characters and elements from the games that non-aficionados are left desperately attempting to keep up, Street Fighter tries to thread the needle between fan service and welcoming the uninitiated," THR says. "The result is that neither camp is likely to be fully satisfied."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3182px;"><p class="vanilla-image-block" style="padding-top:49.84%;"><img id="sfTe253Q4iGfinopcVdMZ" name="sf1" alt="Ken about to get suplexed through a taxi by Zangief in the Street Fighter movie" src="https://cdn.mos.cms.futurecdn.net/sfTe253Q4iGfinopcVdMZ-1920-80.jpg" mos="" align="middle" fullscreen="1" width="3182" height="1586" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/sfTe253Q4iGfinopcVdMZ-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-not-even-close-to-coherent-but-it-does-have-some-good-fight-scenes-quot">"Not even close to coherent, but it does have some good fight scenes"</h2><p><a href="https://gizmodo.com/street-fighter-review-movie-noah-centineo-2000826308" target="_blank"><strong>Gizmodo</strong></a></p><p>Gizmodo's review says the Street Fighter film is a bit like its portrayal of Ken Masters, an oafish clown who can actually fight: "The editing choices, scene transitions, and even the basic plot are frequently baffling. And yet, it can throw a punch when it wants to."</p><h2 id="quot-the-closest-any-filmmaker-has-come-to-bringing-the-franchise-s-signature-verve-and-bombast-to-the-big-screen-quot">"The closest any filmmaker has come to bringing the franchise’s signature verve and bombast to the big screen"</h2><p><a href="https://www.inverse.com/entertainment/street-fighter-review" target="_blank"><strong>Inverse</strong></a></p><p>In another relatively positive review, Inverse declares that "Street Fighter might not be a film that sticks in your brain for days afterwards, but while you’re in your seat it feels like a shot of adrenaline to the arm, the kind that you might get from hearing the coveted 'You Win' announcement after the end of a hard-fought match."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:45.78%;"><img id="HCfj9eghzaAFWKedhbTr5n" name="guile dhal" alt="Guile and Dhalsim cruising" src="https://cdn.mos.cms.futurecdn.net/HCfj9eghzaAFWKedhbTr5n-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="879" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/HCfj9eghzaAFWKedhbTr5n-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-something-goes-terribly-awry-in-its-back-half-hinting-at-either-a-troubled-production-or-one-that-was-doomed-from-the-start-quot">"Something goes terribly awry in its back half, hinting at either a troubled production, or one that was doomed from the start"</h2><p><a href="https://variety.com/2026/film/news/street-fighter-review-1236912948/" target="_blank"><strong>Variety</strong></a></p><p>Variety was impressed by Street Fighter's strong start, but says the wheels come off in the second half: "It’s a film at war with itself, in which a straightforward narrative about strained brotherhood is spread far too thin across unconnected snippets of action and comedy that grow increasingly disparate."</p><p>So there you have it: Not a disaster, but definitely a mess. We'll hopefully have our own critical take on the Street Fighter film up eventually, if we can ever talk Mollie Taylor into going to see it; in the meantime, if you've seen it, let us know what you think.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="138e5f8c-c8d9-11f1-bceb-9b1a4b73b44c" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="138e5f8c-c8d9-11f1-bceb-9b1a4b73b44c" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/movies-tv/street-fighter-review-roundup-sorry-folks-but-it-sounds-like-a-mess/</link>
                                                                            <description>
                            <![CDATA[ The general consensus seems to be that Street Fighter isn't a disaster, but it definitely misses a lot more than it hits. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BBpyenSaYinhCdssp7s6Ea</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/8RgfieBNh6Baks7DMQSZsM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 20:51:45 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 21:43:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Movies & TV]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/8RgfieBNh6Baks7DMQSZsM-1920-80.jpg">
                                                            <media:credit><![CDATA[Paramount Pictures]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Ryu from Street Fighter holding his fists up]]></media:description>                                                            <media:text><![CDATA[Ryu from Street Fighter holding his fists up]]></media:text>
                                <media:title type="plain"><![CDATA[Ryu from Street Fighter holding his fists up]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/8RgfieBNh6Baks7DMQSZsM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I had such high hopes for the Street Fighter movie: The trailers were so promising, the cast so charismatic, and it seemed to <em>get</em> the inherent ridiculousness of the franchise, playing it seriously without ever really taking it too seriously. I mean, you don't put a guy like David Dastmalchian in the role of M. Bison unless you expect him to do <em>something</em> with it, right?</p><p>Alas, it seems that this may be a real <a href="https://www.youtube.com/watch?v=sjZ5I8l32CI" target="_blank">Tuesday</a>, at least for my Street Fighter movie aspirations. The reviews are in, and they are not especially kind. Street Fighter isn't a complete catastrophe, according to the critical consensus, but I don't think JCVD has to worry about having to turn in his "Best Street Fighter Movie" trophy anytime soon, either.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/U6sbm1OaJb8" allowfullscreen></iframe></div></div><p>Here's what they're saying:</p><h2 id="quot-dumber-than-a-box-of-rocks-but-have-you-ever-thrown-rocks-at-things-it-can-be-pretty-fun-quot">"Dumber than a box of rocks, but have you ever thrown rocks at things? It can be pretty fun"</h2><p><a href="https://www.ign.com/articles/street-fighter-movie-2026-review" target="_blank"><strong>IGN</strong></a>: 6/10</p><p>The story is too thin to support its bloated roster, but IGN reckons the Street Fighter film is "all about landing as many punches as it can before the round timer hits zero. Even though there are plenty of misses, the ones it does manage to land hit hard."</p><h2 id="quot-a-garish-and-incoherent-mess-that-amuses-in-fits-and-starts-but-barely-improves-on-the-mortal-kombat-movies-before-it-quot">"A garish and incoherent mess that amuses in fits and starts but barely improves on the Mortal Kombat movies before it"</h2><p><a href="https://www.theguardian.com/film/2026/oct/15/street-fighter-movie-review" target="_blank"><strong>The Guardian</strong></a>: 2/5</p><p>Fans might enjoy the new SF flick, and the performances are "likeable," but its repeated self-knowing acknowledgment of how silly it all is "would land better if the movie ever rose above the stuff it’s making fun of. Instead, Street Fighter is satisfied punching down on itself, and everything that’s cringe about the '90s, while happily being stuck there, in the past, so it could pretend that this is as good as it gets for videogame adaptations."</p><h2 id="quot-not-a-great-adaptation-of-what-is-one-of-the-most-recognizable-brands-in-all-of-gaming-quot">"Not a great adaptation of what is one of the most recognizable brands in all of gaming"</h2><p><a href="https://collider.com/street-fighter-2026-review/" target="_blank"><strong>Collider</strong></a>: 6/10</p><p>"The movie is at its most fun when it truly locks in for those high-octane fights and the surprisingly beautiful and not-much-publicized animated sequences," Collider reviewer Aidan Kelley wrote. "Unfortunately, to get to those, you have to deal with a lot of exposition and unengaging character drama."</p><h2 id="quot-one-of-the-most-overtly-mixed-bags-of-any-movie-this-year-quot">"One of the most overtly mixed bags of any movie this year"</h2><p><a href="https://screenrant.com/street-fighter-movie-2026-review/" target="_blank"><strong>ScreenRant</strong></a><strong>:</strong> 7/10</p><p>Despite calling Street Fighter "a fundamentally flawed movie on an underlying storytelling level," ScreenRant's review is one of the more positive takes floating around out there: The film is "buoyed by the overall 'go for broke' tone" and director Kitao Sakurai's "great work helming the film, working with the cast and crew to deliver consistently entertaining fight scenes that are flush with personality and style."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7AEvKY9uAw3kAc522RUdQc" name="sf1" alt="Chun Li posing" src="https://cdn.mos.cms.futurecdn.net/7AEvKY9uAw3kAc522RUdQc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/7AEvKY9uAw3kAc522RUdQc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-like-a-trip-to-a-90s-mall-arcade-street-fighter-s-pretty-fun-for-about-30-minutes-quot">"Like a trip to a ’90s mall arcade, Street Fighter’s pretty fun — for about 30 minutes"</h2><p><a href="https://screencrush.com/street-fighter-2026-review/" target="_blank"><strong>ScreenCrush</strong></a>: 5/10</p><p>"The sheer absurdity and fevered intensity of the pacing, not to mention some very athletic fight choreography, is good enough to carry things along through the jittery first act," reviewer Matt Singer wrote for ScreenCrush. "But you can only mainline caffeine for so long before it starts to give you a headache."</p><h2 id="quot-a-campy-39-90s-nostalgia-ride-and-a-complete-mess-quot">"A campy '90s nostalgia ride and a complete mess"</h2><p><a href="https://apnews.com/article/street-fighter-movie-review-12e3981dc13cdf4e36033ff84c2f6df9" target="_blank"><strong>Associated Press</strong></a><strong>:</strong> 1/4</p><p>Street Fighter is a "very enthusiastic, weirdly convoluted and jumbled mess of a movie," Jake Coyle wrote for AP. As much as you might think a Street Fighter movie, good or bad, would at least offer up some bluntly entertaining hand-to-hand combat, it’s so messily plotted and chaotically conceived that it makes a game with six buttons seem comparatively artful."</p><h2 id="quot-dull-fight-scenes-and-tonal-whiplash-make-this-mostly-forgettable-videogame-adaptation-work-only-for-superfans-quot">"Dull fight scenes and tonal whiplash make this mostly forgettable videogame adaptation work only for superfans"</h2><p><a href="https://thefilmverdict.com/street-fighter-film-review-2026/" target="_blank"><strong>The Film Verdict</strong></a></p><p>Street Fighter "is a little bit of everything that amounts to a lot of not-much," The Film Verdict declared, comparing it unfavorably to this year's Mortal Kombat and Resident Evil flicks: Street Fighter has all the elements that made those films successful, "but never lands on a formula than functions."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TemaybzeHpFVorpFjtMon9" name="guile dhal" alt="Ken and Ryu getting ready to fight a bunch of goons" src="https://cdn.mos.cms.futurecdn.net/TemaybzeHpFVorpFjtMon9-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/TemaybzeHpFVorpFjtMon9-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-i-m-not-sure-street-fighter-meets-any-conventional-standard-of-quality-but-it-s-undeniably-its-own-thing-quot">"I’m not sure Street Fighter meets any conventional standard of quality, but it’s undeniably its own thing"</h2><p><a href="https://www.thewrap.com/creative-content/movies/street-fighter-review-capcom-noah-centineo-andrew-koji/" target="_blank"><strong>The Wrap</strong></a></p><p>This review takes a more holistic approach to Street Fighter, calling it "an action-packed, hyper-stylized, borderline-nonsensical fever dream with a central storyline that begs to be taken seriously" despite being goofy, horny, largely incoherent, and somehow "even weirder" than the 1990s movie. But hey, maybe that's your thing: As reviewer William Bibbiani wrote, "What even is a 'good movie' anyway?"</p><h2 id="quot-a-jumbled-tonal-mess-that-feels-deadly-serious-one-moment-and-like-parody-the-next-quot">"A jumbled tonal mess that feels deadly serious one moment and like parody the next"</h2><p><a href="https://www.hollywoodreporter.com/movies/movie-reviews/street-fighter-review-noah-centineo-1236730035/" target="_blank"><strong>The Hollywood Reporter</strong></a></p><p>"Featuring so many characters and elements from the games that non-aficionados are left desperately attempting to keep up, Street Fighter tries to thread the needle between fan service and welcoming the uninitiated," THR says. "The result is that neither camp is likely to be fully satisfied."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3182px;"><p class="vanilla-image-block" style="padding-top:49.84%;"><img id="sfTe253Q4iGfinopcVdMZ" name="sf1" alt="Ken about to get suplexed through a taxi by Zangief in the Street Fighter movie" src="https://cdn.mos.cms.futurecdn.net/sfTe253Q4iGfinopcVdMZ-1920-80.jpg" mos="" align="middle" fullscreen="1" width="3182" height="1586" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/sfTe253Q4iGfinopcVdMZ-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-not-even-close-to-coherent-but-it-does-have-some-good-fight-scenes-quot">"Not even close to coherent, but it does have some good fight scenes"</h2><p><a href="https://gizmodo.com/street-fighter-review-movie-noah-centineo-2000826308" target="_blank"><strong>Gizmodo</strong></a></p><p>Gizmodo's review says the Street Fighter film is a bit like its portrayal of Ken Masters, an oafish clown who can actually fight: "The editing choices, scene transitions, and even the basic plot are frequently baffling. And yet, it can throw a punch when it wants to."</p><h2 id="quot-the-closest-any-filmmaker-has-come-to-bringing-the-franchise-s-signature-verve-and-bombast-to-the-big-screen-quot">"The closest any filmmaker has come to bringing the franchise’s signature verve and bombast to the big screen"</h2><p><a href="https://www.inverse.com/entertainment/street-fighter-review" target="_blank"><strong>Inverse</strong></a></p><p>In another relatively positive review, Inverse declares that "Street Fighter might not be a film that sticks in your brain for days afterwards, but while you’re in your seat it feels like a shot of adrenaline to the arm, the kind that you might get from hearing the coveted 'You Win' announcement after the end of a hard-fought match."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:45.78%;"><img id="HCfj9eghzaAFWKedhbTr5n" name="guile dhal" alt="Guile and Dhalsim cruising" src="https://cdn.mos.cms.futurecdn.net/HCfj9eghzaAFWKedhbTr5n-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="879" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/HCfj9eghzaAFWKedhbTr5n-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paramount Pictures)</span></figcaption></figure><h2 id="quot-something-goes-terribly-awry-in-its-back-half-hinting-at-either-a-troubled-production-or-one-that-was-doomed-from-the-start-quot">"Something goes terribly awry in its back half, hinting at either a troubled production, or one that was doomed from the start"</h2><p><a href="https://variety.com/2026/film/news/street-fighter-review-1236912948/" target="_blank"><strong>Variety</strong></a></p><p>Variety was impressed by Street Fighter's strong start, but says the wheels come off in the second half: "It’s a film at war with itself, in which a straightforward narrative about strained brotherhood is spread far too thin across unconnected snippets of action and comedy that grow increasingly disparate."</p><p>So there you have it: Not a disaster, but definitely a mess. We'll hopefully have our own critical take on the Street Fighter film up eventually, if we can ever talk Mollie Taylor into going to see it; in the meantime, if you've seen it, let us know what you think.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="138e5f8c-c8d9-11f1-bceb-9b1a4b73b44c" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="138e5f8c-c8d9-11f1-bceb-9b1a4b73b44c" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ World of Warcraft: Forever devs say gear upgrades will stay relevant 'for a long, long time': 'It's very much our intention to try wherever we can to not invalidate old content' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The developers of World of Warcraft: Forever, the venerable MMO's newest 'Classic+' flavor, say that even though the level cap is staying at 60, there will always be new gear to chase, and lower level gear has never been more powerful.</p><p>Blizzard Entertainment developers are wary of the drastic increases in power in WoW's modern version, including the recent Midnight expansion, which render previous seasons of gear irrelevant, require massive resets between expansions and lead to periodic stat "squishes" to avoid players becoming omnipotent gods.</p><p>"Classic wasn't far off from this," vice president and senior game director Ion Hazzikostas said of Forever's approach in a recent PC Gamer interview. "It's gradual. Going from [Classic raids] Blackwing Lair to Ahn'Qiraj that's actually only a couple of item levels higher. Those two largely coexist. C'thun drops are probably better than anything in Blackwing Lair, but that's like one or two items per player. This is a system that can last for a long, long time."</p><p>Associate production director Clay Stone says that's part of what makes gear in Forever—and Classic—meaningful.</p><p>"Your best-in-slot that you pick up from a previous raid tier may continue to be your best in slot for a long time. It's very much our intention to try wherever we can to not invalidate old content."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R2g2nfNeCoSe5bX8wvJYgY" name="World of Warcraft_ Forever _ Gameplay Trailer - 0-1-14" alt="A screenshot of WoW Forever. A group of heroes fight a glowing enemy in an elven city." src="https://cdn.mos.cms.futurecdn.net/R2g2nfNeCoSe5bX8wvJYgY-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/R2g2nfNeCoSe5bX8wvJYgY-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard Entertainment)</span></figcaption></figure><p>Then again, a long time isn't expected to be <em>literally</em> forever, Hazzikostas says.</p><p>"At some point, if you're running the Barrow Deeps raid that's coming out in December, you're going to have all the items that you want. That's fine. You're done with it."</p><p>Forever players will see gear progress at level 60: those modest item level increases, gear that's good in specific niche situations, and rare "chase" pieces should keep people hunting, Forever developers say.</p><p>An item might be especially powerful when fighting in a desert, or against a dragon, for example, making it particularly good in one especially tough fight.</p><p>(And yes, players, developers are aware that this means bag space will be at a premium. "We're already thinking about that," principal designer Kris Zierhut says, mentioning the ideas of more bank space, trinket bags or even garment bags to hold the excess.)</p><h2 id="un-solving-the-game">Un-solving the game</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TWf2yNegExMxJxn3T6vQ9Y" name="WoW_Forever_Announce_Skyborne_Customization_096" alt="WoW Forever screenshot" src="https://cdn.mos.cms.futurecdn.net/TWf2yNegExMxJxn3T6vQ9Y-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/TWf2yNegExMxJxn3T6vQ9Y-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>Forever launches on November 4, and so far players have seen few of the pieces that will entice them at the end game. The current level cap in the beta is 30, and future items have been hidden from view and datamining to keep them guessing.</p><p>"We resurrected some old tech that keeps item stats and properties and tooltips secret, unknown to the client, until the item has actually been obtained by someone on the server," Hazzikostas says. "That's something we can use in modern WoW if we want."</p><p>Essentially a flag on items determines whether they are known, making them visible in the game's data. It trips when someone discovers an item for the first time, making sure that if the player links the item to others, it doesn't cause bugs</p><p>But until that moment, players can't get a sneak peek at what the piece of gear does. It's one reason why Forever doesn't have an Adventure Guide for dungeons; developers want the game to keep its secrets.</p><p>"Every single boss in our raids has some items that are very low percentage drop chase items, kind of like the Dragonspine Trophy was in Gruul's Lair—but for every boss," says Zierhut. "It might be three weeks, four weeks before somebody sees that item drop, and the whole meta is torn up again."</p><p>The goal is to keep the magic of exploration alive, he says.</p><p>"The goal is to un-solve the game, so players have to figure out again what's the best path," Zierhut says. "They don't know what the best items are. They don't know what to get. It's back to 2004 and nobody knows anything and figuring it out all over again."</p><h2 id="hand-crafted-power">Hand-crafted power</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Mxxu8paSa2qdYUVMb398kX" name="WoW_Forever_SCENIC_Announce_Camping_Players_064" alt="WoW Forever screenshot" src="https://cdn.mos.cms.futurecdn.net/Mxxu8paSa2qdYUVMb398kX-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Mxxu8paSa2qdYUVMb398kX-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>To add a layer of complexity—and, again, keep players from gaining power too quickly—items deliberately aren't optimized for players' preferred classes and stats. "Our items are much more idiosyncratic, and you don't get exactly what you want," he says, noting that knowing your class and choosing between gear sets will be one way players express skill in Forever. "None of the gear is perfect."</p><p>That's an old strategy—there are oft-discussed items from WoW's original launch that put strength on cloth gear, for example—but what is new is how much power items can have at a relatively low level.</p><p>Both low-level drops and crafted gear are powerful early, and that's on purpose, developers say.</p><p>"A lot of times tradeskills felt like an afterthought in Classic. Like, 'Oh, I could craft this item, but it's too much work and I'm about to out-level it anyway. Skip it. I'll level up my tailor when I get to level 60,' " Zierhut says. "I made a deliberate effort to make more crafting recipes worthwhile to craft while you are leveling up, including lowering the skill requirement to craft them.</p><p>"The typical item from tailoring, leatherworking, blacksmithing requires 25 fewer skill points than it used to. So you'll be able to craft that item right around the time it's your best-in-slot at that level and get the real value out of doing it."</p><p>Much of the tuning done so far to gear in Forever's beta has been to keep that idea of modest but steady progression across the whole leveling process.</p><p>"It's just a slightly different gradient in terms of power level," lead game designer Tim Jones says.</p><div class="product"><a data-dimension112="40180c92-c8ca-11f1-b3fa-ab6ef731fcc6" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="40180c92-c8ca-11f1-b3fa-ab6ef731fcc6" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/world-of-warcraft/world-of-warcraft-forever-devs-say-gear-upgrades-will-stay-relevant-for-a-long-long-time-its-very-much-our-intention-to-try-wherever-we-can-to-not-invalidate-old-content/</link>
                                                                            <description>
                            <![CDATA[ Blizzard says items won't work like the modern version of the MMO. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Gzk4RAv3s5rcVtNzy9t7RD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4a9oyQdrXFpY6keN5AagHb-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 19:14:30 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[World of Warcraft]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                    <category><![CDATA[MMO]]></category>
                                                                                                                    <dc:creator><![CDATA[ Heather Newman ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/4a9oyQdrXFpY6keN5AagHb-1920-80.png">
                                                            <media:credit><![CDATA[Blizzard]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[WoW Forever screenshot]]></media:description>                                                            <media:text><![CDATA[WoW Forever screenshot]]></media:text>
                                <media:title type="plain"><![CDATA[WoW Forever screenshot]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4a9oyQdrXFpY6keN5AagHb-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The developers of World of Warcraft: Forever, the venerable MMO's newest 'Classic+' flavor, say that even though the level cap is staying at 60, there will always be new gear to chase, and lower level gear has never been more powerful.</p><p>Blizzard Entertainment developers are wary of the drastic increases in power in WoW's modern version, including the recent Midnight expansion, which render previous seasons of gear irrelevant, require massive resets between expansions and lead to periodic stat "squishes" to avoid players becoming omnipotent gods.</p><p>"Classic wasn't far off from this," vice president and senior game director Ion Hazzikostas said of Forever's approach in a recent PC Gamer interview. "It's gradual. Going from [Classic raids] Blackwing Lair to Ahn'Qiraj that's actually only a couple of item levels higher. Those two largely coexist. C'thun drops are probably better than anything in Blackwing Lair, but that's like one or two items per player. This is a system that can last for a long, long time."</p><p>Associate production director Clay Stone says that's part of what makes gear in Forever—and Classic—meaningful.</p><p>"Your best-in-slot that you pick up from a previous raid tier may continue to be your best in slot for a long time. It's very much our intention to try wherever we can to not invalidate old content."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R2g2nfNeCoSe5bX8wvJYgY" name="World of Warcraft_ Forever _ Gameplay Trailer - 0-1-14" alt="A screenshot of WoW Forever. A group of heroes fight a glowing enemy in an elven city." src="https://cdn.mos.cms.futurecdn.net/R2g2nfNeCoSe5bX8wvJYgY-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/R2g2nfNeCoSe5bX8wvJYgY-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard Entertainment)</span></figcaption></figure><p>Then again, a long time isn't expected to be <em>literally</em> forever, Hazzikostas says.</p><p>"At some point, if you're running the Barrow Deeps raid that's coming out in December, you're going to have all the items that you want. That's fine. You're done with it."</p><p>Forever players will see gear progress at level 60: those modest item level increases, gear that's good in specific niche situations, and rare "chase" pieces should keep people hunting, Forever developers say.</p><p>An item might be especially powerful when fighting in a desert, or against a dragon, for example, making it particularly good in one especially tough fight.</p><p>(And yes, players, developers are aware that this means bag space will be at a premium. "We're already thinking about that," principal designer Kris Zierhut says, mentioning the ideas of more bank space, trinket bags or even garment bags to hold the excess.)</p><h2 id="un-solving-the-game">Un-solving the game</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TWf2yNegExMxJxn3T6vQ9Y" name="WoW_Forever_Announce_Skyborne_Customization_096" alt="WoW Forever screenshot" src="https://cdn.mos.cms.futurecdn.net/TWf2yNegExMxJxn3T6vQ9Y-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/TWf2yNegExMxJxn3T6vQ9Y-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>Forever launches on November 4, and so far players have seen few of the pieces that will entice them at the end game. The current level cap in the beta is 30, and future items have been hidden from view and datamining to keep them guessing.</p><p>"We resurrected some old tech that keeps item stats and properties and tooltips secret, unknown to the client, until the item has actually been obtained by someone on the server," Hazzikostas says. "That's something we can use in modern WoW if we want."</p><p>Essentially a flag on items determines whether they are known, making them visible in the game's data. It trips when someone discovers an item for the first time, making sure that if the player links the item to others, it doesn't cause bugs</p><p>But until that moment, players can't get a sneak peek at what the piece of gear does. It's one reason why Forever doesn't have an Adventure Guide for dungeons; developers want the game to keep its secrets.</p><p>"Every single boss in our raids has some items that are very low percentage drop chase items, kind of like the Dragonspine Trophy was in Gruul's Lair—but for every boss," says Zierhut. "It might be three weeks, four weeks before somebody sees that item drop, and the whole meta is torn up again."</p><p>The goal is to keep the magic of exploration alive, he says.</p><p>"The goal is to un-solve the game, so players have to figure out again what's the best path," Zierhut says. "They don't know what the best items are. They don't know what to get. It's back to 2004 and nobody knows anything and figuring it out all over again."</p><h2 id="hand-crafted-power">Hand-crafted power</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Mxxu8paSa2qdYUVMb398kX" name="WoW_Forever_SCENIC_Announce_Camping_Players_064" alt="WoW Forever screenshot" src="https://cdn.mos.cms.futurecdn.net/Mxxu8paSa2qdYUVMb398kX-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Mxxu8paSa2qdYUVMb398kX-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>To add a layer of complexity—and, again, keep players from gaining power too quickly—items deliberately aren't optimized for players' preferred classes and stats. "Our items are much more idiosyncratic, and you don't get exactly what you want," he says, noting that knowing your class and choosing between gear sets will be one way players express skill in Forever. "None of the gear is perfect."</p><p>That's an old strategy—there are oft-discussed items from WoW's original launch that put strength on cloth gear, for example—but what is new is how much power items can have at a relatively low level.</p><p>Both low-level drops and crafted gear are powerful early, and that's on purpose, developers say.</p><p>"A lot of times tradeskills felt like an afterthought in Classic. Like, 'Oh, I could craft this item, but it's too much work and I'm about to out-level it anyway. Skip it. I'll level up my tailor when I get to level 60,' " Zierhut says. "I made a deliberate effort to make more crafting recipes worthwhile to craft while you are leveling up, including lowering the skill requirement to craft them.</p><p>"The typical item from tailoring, leatherworking, blacksmithing requires 25 fewer skill points than it used to. So you'll be able to craft that item right around the time it's your best-in-slot at that level and get the real value out of doing it."</p><p>Much of the tuning done so far to gear in Forever's beta has been to keep that idea of modest but steady progression across the whole leveling process.</p><p>"It's just a slightly different gradient in terms of power level," lead game designer Tim Jones says.</p><div class="product"><a data-dimension112="40180c92-c8ca-11f1-b3fa-ab6ef731fcc6" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="40180c92-c8ca-11f1-b3fa-ab6ef731fcc6" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Control Resonant sells 1 million copies in 3 weeks to become Remedy's fastest-selling game ever ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Remedy announced today that <a href="https://www.pcgamer.com/control-resonant/" target="_blank">Control Resonant</a> has surpassed one million copies sold, moving past Alan Wake 2 to become "the fastest-selling game in Remedy Entertainment's 31-year history."</p><blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:4nci4ly3xu3nau7hzr373bte/app.bsky.feed.post/3mxwgoj4xwf2w" data-bluesky-cid="bafyreibtbpgr7hpnxuwf2y2lj7vrduu6o2x2rpljmxqj2vdam5ek6tpgqe" cite="https://bsky.app/profile/remedygames.com/post/3mxwgoj4xwf2w"><p lang="en">Thank you for the support ❤️ For playing, sharing, and being a part of the community.#CONTROLResonant</p>— @remedygames.com (<a href="https://bsky.app/profile/did:plc:4nci4ly3xu3nau7hzr373bte?ref_src=embed">@remedygames.com.bsky.social</a>) <a href="https://bsky.app/profile/remedygames.com/post/3mxwgoj4xwf2w">2026-10-15T18:14:33.049Z</a></blockquote><p>Three weeks to a million copies isn't exactly a blistering pace by conventional videogame standards: <a href="https://www.pcgamer.com/games/rpg/the-blood-of-dawnwalker-sold-1-million-copies-in-just-3-days/" target="_blank">The Blood of Dawnwalker</a> hit the mark in three days, <a href="https://www.pcgamer.com/games/fps/wardogs-sold-over-1-million-copies-in-its-first-24-hours-making-its-launch-a-bright-spot-in-an-otherwise-tough-year-for-multiplayer-shooters/" target="_blank">Wardogs</a> did it in one, and <a href="https://www.pcgamer.com/games/survival-crafting/subnautica-2-has-sold-2-million-copies-in-12-hours-with-9x-the-players-as-the-first-and-at-this-point-i-figure-that-krafton-ceo-is-already-on-his-second-bottle/" target="_blank">Subnautica 2</a> put out twice that number in just 12 hours.</p><p>But despite producing a string of unique, memorable, and critically acclaimed games, Remedy has never really smashed a massive home run in the sales department. Even Alan Wake 2, which won numerous awards for narrative and art direction in 2023 (and would have claimed <em>so many more</em> if not for the <a href="https://www.pcgamer.com/baldurs-gate-3-and-alan-wake-2-lead-the-game-awards-with-8-nominations-each/" target="_blank">Baldur's Gate 3</a> behemoth) <a href="https://www.pcgamer.com/alan-wake-2-battles-through-the-dark-place-to-become-remedys-fastest-selling-game-with-over-1-million-copies-sold-although-a-happy-ending-remains-unwritten-as-it-is-yet-to-turn-a-profit/" target="_blank">took two months to sell a million copies</a>, significantly outpacing the original Control and making it the studio's fastest-selling game at that time.</p><p>Remedy's more pressing problem, though, is profit: It took more than a year, and two million copies sold, before Alan Wake 2 actually <a href="https://www.pcgamer.com/games/horror/after-more-than-a-year-and-2-million-sales-alan-wake-2-is-finally-turning-a-profit-for-remedy/" target="_blank">started making money</a> for Remedy. Addressing that shortcoming was the top priority for Jean-Charles Gaudechon, who took over as the company's <a href="https://www.pcgamer.com/gaming-industry/remedys-new-ceo-is-a-former-sports-betting-guy-and-ea-executive-who-aims-to-scale-remedy-in-a-way-that-builds-lasting-value/" target="_blank">new CEO</a> in February: Remedy chairman Henri Österlund said at the time that Gaudechon's appointment was intended "to lead Remedy into a phase of profitable growth."</p><p>So far, Gaudechon seems to like what he sees from Control Resonant, calling the million-sold mark "a very strong start."</p><p>"Control Resonant is Remedy's first self-published release of this scale, launched into one of the most competitive windows in years alongside the industry's biggest names. The game is unmistakably Remedy, with the bold ideas and distinctive style our players have come to expect from us," Gaudechon said. "A huge thank you goes to our players and to the team, who have made Control Resonant the incredible game that it is.</p><p>"We have always believed Control deserved an even bigger audience, and this launch shows what's possible: we see the game connecting with long-time fans while bringing a significant number of new players into the world of Control, which strengthens its long-term potential. With Control and Alan Wake, we now have two established franchises. Our focus is to build on what makes them special, support them, and grow them even further. There is a lot more to come from these worlds."</p><p>We'll get a closer look on how Control Resonant's success has impacted Remedy's bottom line in Remedy's Q3 business review, which takes place on November 3.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="7280548e-c8c3-11f1-bf6e-2d50fbc12bf8" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="7280548e-c8c3-11f1-bf6e-2d50fbc12bf8" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/action/control-resonant-sells-1-million-copies-in-3-weeks-to-become-remedys-fastest-selling-game-ever/</link>
                                                                            <description>
                            <![CDATA[ It's not a huge number, but it's big news for Remedy. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Lg2oeQqRmNnxGFnFFva3mF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WcjUWGKChMoMQDoCxmjz3P-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 18:15:22 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Action]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WcjUWGKChMoMQDoCxmjz3P-1920-80.jpg">
                                                            <media:credit><![CDATA[Remedy Entertainment]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dylan Faden looking at a projected film of Casper Darling, which is displaying the caption &quot;FUN!&quot; in large text.]]></media:description>                                                            <media:text><![CDATA[Dylan Faden looking at a projected film of Casper Darling, which is displaying the caption &quot;FUN!&quot; in large text.]]></media:text>
                                <media:title type="plain"><![CDATA[Dylan Faden looking at a projected film of Casper Darling, which is displaying the caption &quot;FUN!&quot; in large text.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WcjUWGKChMoMQDoCxmjz3P-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Remedy announced today that <a href="https://www.pcgamer.com/control-resonant/" target="_blank">Control Resonant</a> has surpassed one million copies sold, moving past Alan Wake 2 to become "the fastest-selling game in Remedy Entertainment's 31-year history."</p><blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:4nci4ly3xu3nau7hzr373bte/app.bsky.feed.post/3mxwgoj4xwf2w" data-bluesky-cid="bafyreibtbpgr7hpnxuwf2y2lj7vrduu6o2x2rpljmxqj2vdam5ek6tpgqe" cite="https://bsky.app/profile/remedygames.com/post/3mxwgoj4xwf2w"><p lang="en">Thank you for the support ❤️ For playing, sharing, and being a part of the community.#CONTROLResonant</p>— @remedygames.com (<a href="https://bsky.app/profile/did:plc:4nci4ly3xu3nau7hzr373bte?ref_src=embed">@remedygames.com.bsky.social</a>) <a href="https://bsky.app/profile/remedygames.com/post/3mxwgoj4xwf2w">2026-10-15T18:14:33.049Z</a></blockquote><p>Three weeks to a million copies isn't exactly a blistering pace by conventional videogame standards: <a href="https://www.pcgamer.com/games/rpg/the-blood-of-dawnwalker-sold-1-million-copies-in-just-3-days/" target="_blank">The Blood of Dawnwalker</a> hit the mark in three days, <a href="https://www.pcgamer.com/games/fps/wardogs-sold-over-1-million-copies-in-its-first-24-hours-making-its-launch-a-bright-spot-in-an-otherwise-tough-year-for-multiplayer-shooters/" target="_blank">Wardogs</a> did it in one, and <a href="https://www.pcgamer.com/games/survival-crafting/subnautica-2-has-sold-2-million-copies-in-12-hours-with-9x-the-players-as-the-first-and-at-this-point-i-figure-that-krafton-ceo-is-already-on-his-second-bottle/" target="_blank">Subnautica 2</a> put out twice that number in just 12 hours.</p><p>But despite producing a string of unique, memorable, and critically acclaimed games, Remedy has never really smashed a massive home run in the sales department. Even Alan Wake 2, which won numerous awards for narrative and art direction in 2023 (and would have claimed <em>so many more</em> if not for the <a href="https://www.pcgamer.com/baldurs-gate-3-and-alan-wake-2-lead-the-game-awards-with-8-nominations-each/" target="_blank">Baldur's Gate 3</a> behemoth) <a href="https://www.pcgamer.com/alan-wake-2-battles-through-the-dark-place-to-become-remedys-fastest-selling-game-with-over-1-million-copies-sold-although-a-happy-ending-remains-unwritten-as-it-is-yet-to-turn-a-profit/" target="_blank">took two months to sell a million copies</a>, significantly outpacing the original Control and making it the studio's fastest-selling game at that time.</p><p>Remedy's more pressing problem, though, is profit: It took more than a year, and two million copies sold, before Alan Wake 2 actually <a href="https://www.pcgamer.com/games/horror/after-more-than-a-year-and-2-million-sales-alan-wake-2-is-finally-turning-a-profit-for-remedy/" target="_blank">started making money</a> for Remedy. Addressing that shortcoming was the top priority for Jean-Charles Gaudechon, who took over as the company's <a href="https://www.pcgamer.com/gaming-industry/remedys-new-ceo-is-a-former-sports-betting-guy-and-ea-executive-who-aims-to-scale-remedy-in-a-way-that-builds-lasting-value/" target="_blank">new CEO</a> in February: Remedy chairman Henri Österlund said at the time that Gaudechon's appointment was intended "to lead Remedy into a phase of profitable growth."</p><p>So far, Gaudechon seems to like what he sees from Control Resonant, calling the million-sold mark "a very strong start."</p><p>"Control Resonant is Remedy's first self-published release of this scale, launched into one of the most competitive windows in years alongside the industry's biggest names. The game is unmistakably Remedy, with the bold ideas and distinctive style our players have come to expect from us," Gaudechon said. "A huge thank you goes to our players and to the team, who have made Control Resonant the incredible game that it is.</p><p>"We have always believed Control deserved an even bigger audience, and this launch shows what's possible: we see the game connecting with long-time fans while bringing a significant number of new players into the world of Control, which strengthens its long-term potential. With Control and Alan Wake, we now have two established franchises. Our focus is to build on what makes them special, support them, and grow them even further. There is a lot more to come from these worlds."</p><p>We'll get a closer look on how Control Resonant's success has impacted Remedy's bottom line in Remedy's Q3 business review, which takes place on November 3.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="7280548e-c8c3-11f1-bf6e-2d50fbc12bf8" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="7280548e-c8c3-11f1-bf6e-2d50fbc12bf8" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ GTA 5 finally measures up to the actual best GTA game now I've added a jetpack ]]></title>
                                                                                                <dc:content><![CDATA[ <div  class="fancy-box"><div class="fancy_box-title">Los Santos Customs</div><div class="fancy_box_body"><p class="fancy-box__body-text">I'm modding GTA 5 every day in a quest to either transform it into a PC version of GTA 6 or break it entirely. Come back tomorrow to find out what new horrible thing I've done to Rockstar's baby, or check out <a data-analytics-id="inline-link" href="https://www.pcgamer.com/games/grand-theft-auto/im-modding-gta-5-every-day-until-it-becomes-gta-6-or-breaks-starting-with-a-new-vehicle-and-enough-missiles-to-level-a-city-block/">what I got up to earlier</a>.</p></div></div><p>World War 2 Canadian air force pilot John Gillespie Magee Jr once wrote, in his poem High Flight:</p><p><em>Oh! I have slipped the surly bonds of Earth</em><br><em>And danced the skies on laughter-silvered wings;</em><br><em>Sunward I've climbed, and joined the tumbling mirth</em><br><em>of sun-split clouds,—and done a hundred things</em></p><p>He was talking about Grand Theft Auto: San Andreas, his favourite game and an icon of the PS2 generation of consoles. In San Andreas, tucked away in the Verdant Meadows Airstrip, the player could locate a jetpack, and tumble through the skies of Las Venturas like a glorious errant star. GTA 5? No jetpack. This is why it's an inferior game.</p><p>Until now. I have installed <a href="https://www.gta5-mods.com/scripts/aerowing-wearable-jet-pack-weapon-system" target="_blank">Aerowing - Wearable Jet Pack & Weapon System</a>. Or, well, I installed it, tried to launch the game, crashed my PC, rebooted, tried to launch the game, crashed the game, rebooted, then launched the game.</p><p>It's a strangely lavish mod, I'll give it that. You don't just tap F and sort of limply ascend, which is mostly how it went in San Andreas. No, you get a whole <em>animation,</em> the camera circles your guy as he does a possibly-copyrighted Iron Man pose and launches himself skywards. </p><p>Then off you go, a speedometer in the corner measuring your courage as you glide along, launching one of three weapons: SMG, plasma, and "tube," which I'm pretty sure is just SMG again.</p><p>It's a rollocking good time, and it'll be even better once I find a way to proc it that doesn't also proc my street golfing mod. Until then, with silent lifting mind I'll tread the high untrespassed sanctity of space, put out my hand, and touch the face of God.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:853px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="qibvxcNsxK3ZYpZvdRgfTL" name="GTAJP" alt="Franklin lays waste to Los Santos using his jetpack. Also the HUD of Doom 2 is on the screen." src="https://cdn.mos.cms.futurecdn.net/qibvxcNsxK3ZYpZvdRgfTL-1920-80.gif" mos="" align="middle" fullscreen="1" width="853" height="480" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/qibvxcNsxK3ZYpZvdRgfTL-1920-80.gif' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Sometimes you hit multiple buttons and things get really confused. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar)</span></figcaption></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="7642ceb6-c8b5-11f1-9dc4-873e918a4730" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1238px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZF5ZJsyvbhJRVSDmd9H3jA" name="gta 6 cover art square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZF5ZJsyvbhJRVSDmd9H3jA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1238" height="1238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="7642ceb6-c8b5-11f1-9dc4-873e918a4730" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The garage lineup<br><strong></strong><a href="https://www.pcgamer.com/games/action/grand-theft-auto/gta6-characters/"><strong>GTA 6 characters</strong></a>: Your anti-hero cast<br><strong></strong><a href="https://www.pcgamer.com/games/grand-theft-auto/gta6-map/" target="_blank"><strong>GTA 6 map</strong>:</a> Confirmed Vice City locales<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?</p></div></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/grand-theft-auto/gta-5-finally-measures-up-to-the-actual-best-gta-game-now-ive-added-a-jetpack/</link>
                                                                            <description>
                            <![CDATA[ Zoom. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">X3f3JPUFKR8azRDwfXFR4P</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ZXJ6aXUqYxt72Zefkog3BL-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 17:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 17:36:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Grand Theft Auto]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                    <category><![CDATA[Action]]></category>
                                                                                                <author><![CDATA[ joshua.wolens@futurenet.com (Joshua Wolens) ]]></author>                    <dc:creator><![CDATA[ Joshua Wolens ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYajqiFjn2Rwz4msxoLFyP-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ZXJ6aXUqYxt72Zefkog3BL-1920-80.jpg">
                                                            <media:credit><![CDATA[Rockstar]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Franklin in a jetpack.]]></media:description>                                                            <media:text><![CDATA[Franklin in a jetpack.]]></media:text>
                                <media:title type="plain"><![CDATA[Franklin in a jetpack.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ZXJ6aXUqYxt72Zefkog3BL-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div  class="fancy-box"><div class="fancy_box-title">Los Santos Customs</div><div class="fancy_box_body"><p class="fancy-box__body-text">I'm modding GTA 5 every day in a quest to either transform it into a PC version of GTA 6 or break it entirely. Come back tomorrow to find out what new horrible thing I've done to Rockstar's baby, or check out <a data-analytics-id="inline-link" href="https://www.pcgamer.com/games/grand-theft-auto/im-modding-gta-5-every-day-until-it-becomes-gta-6-or-breaks-starting-with-a-new-vehicle-and-enough-missiles-to-level-a-city-block/">what I got up to earlier</a>.</p></div></div><p>World War 2 Canadian air force pilot John Gillespie Magee Jr once wrote, in his poem High Flight:</p><p><em>Oh! I have slipped the surly bonds of Earth</em><br><em>And danced the skies on laughter-silvered wings;</em><br><em>Sunward I've climbed, and joined the tumbling mirth</em><br><em>of sun-split clouds,—and done a hundred things</em></p><p>He was talking about Grand Theft Auto: San Andreas, his favourite game and an icon of the PS2 generation of consoles. In San Andreas, tucked away in the Verdant Meadows Airstrip, the player could locate a jetpack, and tumble through the skies of Las Venturas like a glorious errant star. GTA 5? No jetpack. This is why it's an inferior game.</p><p>Until now. I have installed <a href="https://www.gta5-mods.com/scripts/aerowing-wearable-jet-pack-weapon-system" target="_blank">Aerowing - Wearable Jet Pack & Weapon System</a>. Or, well, I installed it, tried to launch the game, crashed my PC, rebooted, tried to launch the game, crashed the game, rebooted, then launched the game.</p><p>It's a strangely lavish mod, I'll give it that. You don't just tap F and sort of limply ascend, which is mostly how it went in San Andreas. No, you get a whole <em>animation,</em> the camera circles your guy as he does a possibly-copyrighted Iron Man pose and launches himself skywards. </p><p>Then off you go, a speedometer in the corner measuring your courage as you glide along, launching one of three weapons: SMG, plasma, and "tube," which I'm pretty sure is just SMG again.</p><p>It's a rollocking good time, and it'll be even better once I find a way to proc it that doesn't also proc my street golfing mod. Until then, with silent lifting mind I'll tread the high untrespassed sanctity of space, put out my hand, and touch the face of God.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:853px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="qibvxcNsxK3ZYpZvdRgfTL" name="GTAJP" alt="Franklin lays waste to Los Santos using his jetpack. Also the HUD of Doom 2 is on the screen." src="https://cdn.mos.cms.futurecdn.net/qibvxcNsxK3ZYpZvdRgfTL-1920-80.gif" mos="" align="middle" fullscreen="1" width="853" height="480" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/qibvxcNsxK3ZYpZvdRgfTL-1920-80.gif' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Sometimes you hit multiple buttons and things get really confused. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar)</span></figcaption></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="7642ceb6-c8b5-11f1-9dc4-873e918a4730" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1238px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZF5ZJsyvbhJRVSDmd9H3jA" name="gta 6 cover art square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZF5ZJsyvbhJRVSDmd9H3jA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1238" height="1238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="7642ceb6-c8b5-11f1-9dc4-873e918a4730" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The garage lineup<br><strong></strong><a href="https://www.pcgamer.com/games/action/grand-theft-auto/gta6-characters/"><strong>GTA 6 characters</strong></a>: Your anti-hero cast<br><strong></strong><a href="https://www.pcgamer.com/games/grand-theft-auto/gta6-map/" target="_blank"><strong>GTA 6 map</strong>:</a> Confirmed Vice City locales<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?</p></div></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Come on Razer what are you doing? This Pokemon-themed mouse is most definitely not the one ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110688724673835173"><p lang="en" dir="ltr">Upcoming Pokemon x Razer Viper V4 Pro https://t.co/qsAKwBhcg8<a href="https://twitter.com/cantworkitout/status/2110688724673835173">October 15, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>For a company that has made the <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best mouse</a> I've ever laid my hands on, it sure seems to be doing its darndest to destroy that mystique. That is, assuming the <a href="https://www.bilibili.com/opus/1259339494184714262" target="_blank">latest images from Razer on Chinese site Billibilli</a> of a Pokemon-themed <a href="https://www.pcgamer.com/hardware/gaming-mice/razer-viper-v4-pro-review/" target="_blank">Viper V4 Pro</a> come to fruition (via <a href="https://x.com/jakeufps/status/2110688724673835173?s=20" target="_blank">Jakeu</a>). You can see it in the Tweet above, in all its glory—what do you think?</p><p>I think it looks bloody awful. There's just something about that peculiar mix of grey, yellow, and green that seems very uncoordinated. That, and the fact that the pixel art and yellow Poke-circle on the body of the mouse seem about as seamless as your average in-game graffiti emote. Just slapped on there without a care in the world.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>I'm being harsh, but to be fair, this is right off the back of hearing about another potential version of the Viper V4 Pro <a href="https://www.pcgamer.com/hardware/gaming-mice/looks-like-a-lighter-carbon-fibre-version-of-the-best-gaming-mouse-ive-held-is-on-its-way-but-dont-look-at-the-price-tag/" target="_blank">that might cost $300</a>. At least, if the currency conversion is relevant and it is indeed listed for sale in the Chinese market, as is claimed.</p><p>Why can't a good thing be left alone? The Viper V4 Pro is fantastic, and that's in part because it looks sleek and simple, and because it's cheaper than other top-end gaming mice from big brands.</p><p>There's a chair, too, and a keyboard, which my colleague James says he prefers the look of to the mouse. I think I agree, but I still think the the grey clashes too much with the green.</p><p>Back to the Viper, though, there could have been a chance here to make a proper red-and-white, pokeball-themed version, but instead we get this grey-and-whatever-else monstrosity.</p><p>I'll just keep hold of the white one, thank you very much.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-mice/come-on-razer-what-are-you-doing-this-pokemon-themed-mouse-is-most-definitely-not-the-one/</link>
                                                                            <description>
                            <![CDATA[ Now listen, I'm no designer, but... ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9MaWpJD3hriWrogu63uRoh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kuJ3C3QsrL8aeyxtifuq39-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 16:30:05 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Mice]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kuJ3C3QsrL8aeyxtifuq39-1920-80.jpg">
                                                            <media:credit><![CDATA[Warner Bros.]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Pikachu crying in Pokemon: The First Movie]]></media:description>                                                            <media:text><![CDATA[Pikachu crying in Pokemon: The First Movie]]></media:text>
                                <media:title type="plain"><![CDATA[Pikachu crying in Pokemon: The First Movie]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kuJ3C3QsrL8aeyxtifuq39-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110688724673835173"><p lang="en" dir="ltr">Upcoming Pokemon x Razer Viper V4 Pro https://t.co/qsAKwBhcg8<a href="https://twitter.com/cantworkitout/status/2110688724673835173">October 15, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>For a company that has made the <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best mouse</a> I've ever laid my hands on, it sure seems to be doing its darndest to destroy that mystique. That is, assuming the <a href="https://www.bilibili.com/opus/1259339494184714262" target="_blank">latest images from Razer on Chinese site Billibilli</a> of a Pokemon-themed <a href="https://www.pcgamer.com/hardware/gaming-mice/razer-viper-v4-pro-review/" target="_blank">Viper V4 Pro</a> come to fruition (via <a href="https://x.com/jakeufps/status/2110688724673835173?s=20" target="_blank">Jakeu</a>). You can see it in the Tweet above, in all its glory—what do you think?</p><p>I think it looks bloody awful. There's just something about that peculiar mix of grey, yellow, and green that seems very uncoordinated. That, and the fact that the pixel art and yellow Poke-circle on the body of the mouse seem about as seamless as your average in-game graffiti emote. Just slapped on there without a care in the world.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>I'm being harsh, but to be fair, this is right off the back of hearing about another potential version of the Viper V4 Pro <a href="https://www.pcgamer.com/hardware/gaming-mice/looks-like-a-lighter-carbon-fibre-version-of-the-best-gaming-mouse-ive-held-is-on-its-way-but-dont-look-at-the-price-tag/" target="_blank">that might cost $300</a>. At least, if the currency conversion is relevant and it is indeed listed for sale in the Chinese market, as is claimed.</p><p>Why can't a good thing be left alone? The Viper V4 Pro is fantastic, and that's in part because it looks sleek and simple, and because it's cheaper than other top-end gaming mice from big brands.</p><p>There's a chair, too, and a keyboard, which my colleague James says he prefers the look of to the mouse. I think I agree, but I still think the the grey clashes too much with the green.</p><p>Back to the Viper, though, there could have been a chance here to make a proper red-and-white, pokeball-themed version, but instead we get this grey-and-whatever-else monstrosity.</p><p>I'll just keep hold of the white one, thank you very much.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The AI bubble may not have burst yet, but $1 trillion worth of air appears to have escaped ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Many of tech's heaviest hitters have seen their share prices decrease significantly this week. For instance, <a href="https://www.google.com/search?q=nvidia+share+price&oq=nvidia+share+price&gs_lcrp=EgZjaHJvbWUqDQgAEAAYgwEYsQMYgAQyDQgAEAAYgwEYsQMYgAQyDQgBEAAYgwEYsQMYgAQyDQgCEAAYgwEYsQMYgAQyBwgDEAAYgAQyBwgEEAAYgAQyBwgFEAAYgAQyBwgGEAAYgAQyBwgHEAAYgAQyBwgIEAAYgAQyBwgJEAAYgATSAQgyMjY4ajBqNKgCAbACAfEFcdwQuup9QWs&sourceid=chrome&source=chrome.ob&ie=UTF-8&sec_src=docs" target="_blank">Nvidia has seen a decrease of about 8%</a> over the last five days—and <a href="https://www.pcgamer.com/software/ai/i-barely-remember-the-last-time-nvidia-mentioned-gaming-at-all-in-an-earnings-call/" target="_blank">this AI company</a> is far from the only one seeing such a dip.</p><p>Over the last five days, we've seen share prices fall by 13% for AMD, and nearly 15% for Intel. Looking more broadly across the AI and semiconductor industries, <a href="https://www.cnbc.com/2026/10/15/sk-hynix-samsung-softbank-stocks-asia-tech-rout-ai-funding-worries.html" target="_blank">CNBC reports 20 of the most valuable players have shed more than $1 trillion in value</a> as investors sell off stock.</p><p>The bigger picture doesn't look any better: over the last five days, Samsung Electronics has seen its share price decrease by nearly 20%, SK hynix is down 18%, and Micron has seen a dip of over 15%. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>A combination of factors have likely triggered this big chip stock sell off, including concerns that the memory supply crisis may actually reverse into oversupply come 2029, <a href="https://www.mk.co.kr/en/columnists/12176394" target="_blank">according to a recent column in South Korea's Maeil Business Newspaper</a>.</p><p>There's more going on than just the CEO of Acer insisting "<a href="https://www.pcgamer.com/hardware/memory/woah-heres-a-tech-ceo-saying-the-memory-crisis-wont-be-as-bad-as-everyone-expects/" target="_blank">It's impossible for the shortage to last until 2030</a>!" We also know that many chip manufacturers have already been working to boost their production capacity, though <a href="https://www.pcgamer.com/hardware/tsmc-is-reportedly-sold-out-until-2028-and-even-its-next-gen-arizona-fab-is-fully-booked-before-it-has-even-been-built/" target="_blank">TSMC's next-gen Arizona fab is fully booked before it has even been built</a>.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gZVF2aBShFnje6vinn5PvR" name="(33) TSMC Arizona_ A Journey of Innovation and Collaboration - YouTube - 0-1-20" alt="The outside of TSMC Arizona, showing the desert and the mountains in the distance next to the TSMC logo" src="https://cdn.mos.cms.futurecdn.net/gZVF2aBShFnje6vinn5PvR-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TSMC)</span></figcaption></figure><p>Chinese manufacturer CXMT is also growing, which is likely to go at least some way towards putting a dampener on the western market's aspirations. It's been <a href="https://www.pcgamer.com/hardware/chinese-memory-makers-have-reportedly-stocked-up-on-enough-western-duv-machines-for-the-next-three-years-of-expansion/" target="_blank">stocking up on western DUV machines</a> and is <a href="https://www.pcgamer.com/hardware/memory/so-this-is-why-component-makers-have-started-validating-their-products-for-chinese-memory/" target="_blank">estimated to match Micron in terms of DRAM manufacturing capabilities this year</a>. The chip manufacturer also recently <a href="https://www.bloomberg.com/news/articles/2026-10-13/china-s-cxmt-claims-memory-breakthrough-ahead-of-samsung-hynix" target="_blank">claimed it had created breakthrough chip architecture that increases memory density</a>. Make no mistake, CXMT is one to watch.</p><p>On top of that, The CEOs of both Intel and Broadcom recently claimed that <a href="https://www.cnbc.com/2026/10/12/intel-broadcom-ceos-warn-capital-crunch-could-become-ai-bottleneck.html" target="_blank">financing could become a bigger hurdle to overcome for the AI industry</a> than even securing memory or electricity supply. The uptick in interest rates means that investors may feel the balance between borrowing and the return on investment for big tech's data centre build out is looking increasingly lopsided.</p><p>So, is the AI bubble finally popping? Even as air is clearly escaping, it's still hard to say. The resulting lower share prices from this widespread stock sell-off may inspire some investors to buy, for one thing.</p><p>Despite the high price of these infrastructure projects, the demand for AI computing remains robust according to tech analyst Dan Ives for merchant bank Yorkville Ives. Ives told CNBC, "What would change our view is a demand signal, not [an increased interest] rate signal." </p><p>As such, big tech likely won't be ditching data centres any time soon, and the AI bubble may once again reach for something more party-balloon shaped in the future.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/ai/the-ai-bubble-may-not-have-burst-yet-but-usd1-trillion-worth-of-air-appears-to-have-escaped/</link>
                                                                            <description>
                            <![CDATA[ Not so much 'going out with a bang' as 'anticlimactic party balloon deflation'. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kgRA2JGKcxL8ncqn4XHRE7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ScA4hWZiaXtX6nTERoaMZf-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 16:26:16 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ScA4hWZiaXtX6nTERoaMZf-1920-80.jpg">
                                                            <media:credit><![CDATA[saulgranda via Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A pink balloon deflated lying on a tiled floor.]]></media:description>                                                            <media:text><![CDATA[A pink balloon deflated lying on a tiled floor.]]></media:text>
                                <media:title type="plain"><![CDATA[A pink balloon deflated lying on a tiled floor.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ScA4hWZiaXtX6nTERoaMZf-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Many of tech's heaviest hitters have seen their share prices decrease significantly this week. For instance, <a href="https://www.google.com/search?q=nvidia+share+price&oq=nvidia+share+price&gs_lcrp=EgZjaHJvbWUqDQgAEAAYgwEYsQMYgAQyDQgAEAAYgwEYsQMYgAQyDQgBEAAYgwEYsQMYgAQyDQgCEAAYgwEYsQMYgAQyBwgDEAAYgAQyBwgEEAAYgAQyBwgFEAAYgAQyBwgGEAAYgAQyBwgHEAAYgAQyBwgIEAAYgAQyBwgJEAAYgATSAQgyMjY4ajBqNKgCAbACAfEFcdwQuup9QWs&sourceid=chrome&source=chrome.ob&ie=UTF-8&sec_src=docs" target="_blank">Nvidia has seen a decrease of about 8%</a> over the last five days—and <a href="https://www.pcgamer.com/software/ai/i-barely-remember-the-last-time-nvidia-mentioned-gaming-at-all-in-an-earnings-call/" target="_blank">this AI company</a> is far from the only one seeing such a dip.</p><p>Over the last five days, we've seen share prices fall by 13% for AMD, and nearly 15% for Intel. Looking more broadly across the AI and semiconductor industries, <a href="https://www.cnbc.com/2026/10/15/sk-hynix-samsung-softbank-stocks-asia-tech-rout-ai-funding-worries.html" target="_blank">CNBC reports 20 of the most valuable players have shed more than $1 trillion in value</a> as investors sell off stock.</p><p>The bigger picture doesn't look any better: over the last five days, Samsung Electronics has seen its share price decrease by nearly 20%, SK hynix is down 18%, and Micron has seen a dip of over 15%. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>A combination of factors have likely triggered this big chip stock sell off, including concerns that the memory supply crisis may actually reverse into oversupply come 2029, <a href="https://www.mk.co.kr/en/columnists/12176394" target="_blank">according to a recent column in South Korea's Maeil Business Newspaper</a>.</p><p>There's more going on than just the CEO of Acer insisting "<a href="https://www.pcgamer.com/hardware/memory/woah-heres-a-tech-ceo-saying-the-memory-crisis-wont-be-as-bad-as-everyone-expects/" target="_blank">It's impossible for the shortage to last until 2030</a>!" We also know that many chip manufacturers have already been working to boost their production capacity, though <a href="https://www.pcgamer.com/hardware/tsmc-is-reportedly-sold-out-until-2028-and-even-its-next-gen-arizona-fab-is-fully-booked-before-it-has-even-been-built/" target="_blank">TSMC's next-gen Arizona fab is fully booked before it has even been built</a>.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gZVF2aBShFnje6vinn5PvR" name="(33) TSMC Arizona_ A Journey of Innovation and Collaboration - YouTube - 0-1-20" alt="The outside of TSMC Arizona, showing the desert and the mountains in the distance next to the TSMC logo" src="https://cdn.mos.cms.futurecdn.net/gZVF2aBShFnje6vinn5PvR-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TSMC)</span></figcaption></figure><p>Chinese manufacturer CXMT is also growing, which is likely to go at least some way towards putting a dampener on the western market's aspirations. It's been <a href="https://www.pcgamer.com/hardware/chinese-memory-makers-have-reportedly-stocked-up-on-enough-western-duv-machines-for-the-next-three-years-of-expansion/" target="_blank">stocking up on western DUV machines</a> and is <a href="https://www.pcgamer.com/hardware/memory/so-this-is-why-component-makers-have-started-validating-their-products-for-chinese-memory/" target="_blank">estimated to match Micron in terms of DRAM manufacturing capabilities this year</a>. The chip manufacturer also recently <a href="https://www.bloomberg.com/news/articles/2026-10-13/china-s-cxmt-claims-memory-breakthrough-ahead-of-samsung-hynix" target="_blank">claimed it had created breakthrough chip architecture that increases memory density</a>. Make no mistake, CXMT is one to watch.</p><p>On top of that, The CEOs of both Intel and Broadcom recently claimed that <a href="https://www.cnbc.com/2026/10/12/intel-broadcom-ceos-warn-capital-crunch-could-become-ai-bottleneck.html" target="_blank">financing could become a bigger hurdle to overcome for the AI industry</a> than even securing memory or electricity supply. The uptick in interest rates means that investors may feel the balance between borrowing and the return on investment for big tech's data centre build out is looking increasingly lopsided.</p><p>So, is the AI bubble finally popping? Even as air is clearly escaping, it's still hard to say. The resulting lower share prices from this widespread stock sell-off may inspire some investors to buy, for one thing.</p><p>Despite the high price of these infrastructure projects, the demand for AI computing remains robust according to tech analyst Dan Ives for merchant bank Yorkville Ives. Ives told CNBC, "What would change our view is a demand signal, not [an increased interest] rate signal." </p><p>As such, big tech likely won't be ditching data centres any time soon, and the AI bubble may once again reach for something more party-balloon shaped in the future.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Shogun 2 remaster is so bad, Sega is removing it from sale and bringing back the original ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Just two days after the disastrous release of Total War: Shogun 2 - Complete Edition, Sega says it is removing the game from sale and putting the original back until it gets things sorted out.</p><h2 id="what-happened">WHAT HAPPENED:</h2><ul><li><em><strong>In September, Sega announced a </strong></em><a href="https://www.pcgamer.com/games/strategy/the-best-total-war-game-is-getting-a-remaster-with-50-newly-playable-factions-modern-visuals-and-a-full-japanese-voiceover/" target="_blank"><em><strong>remaster of Total War: Shogun 2</strong></em></a><em><strong>, set to launch just a month later. Sean Martin, PC Gamer's number one shogunner, was very excited.</strong></em></li><li><em><strong>In October, Shogun Sean took the remastered version for a test run and </strong></em><a href="https://www.pcgamer.com/games/strategy/shogun-2-deserved-better/" target="_blank"><em><strong>was not entirely impressed</strong></em></a><em><strong>: "Any reason to return to Shogun 2 in 2026 is something to be celebrated, but I just wish Complete Edition felt more extensive and essential versus leaving so much undone."</strong></em></li><li><em><strong>The next day, Shogun 2 Complete Edition launched on </strong></em><a href="https://store.steampowered.com/app/3846830/Total_War_SHOGUN_2__Complete_Edition/" target="_blank"><em><strong>Steam</strong></em></a><em><strong>, and it was ugly: Thousands of negative user reviews spurred by old bugs, ignored quality of life complaints, and maybe worst of all, accusations—thus far unconfirmed—of undisclosed generative AI use.</strong></em></li><li><em><strong>Adding insult to injury, before the Compete Edition launched, Sega pulled the original from sale.</strong></em></li></ul><p>Which brings us to now: After two days of silence, Sega has finally made a move: It says "the current experience is not where it needs to be," and is thus "working with platform holders to remove the game from sale and to reinstate the original game while we investigate the issues."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:125.00%;"><img id="YbBwxHQxXATzJ6j5GUCZv7" name="sega" alt="We’re aware that Total War: Shogun 2 – Complete Edition has fallen short of both your expectations and our own standards. We’ve seen your feedback, comments, and reviews. We agree that the current experience is not where it needs to be.As a result we are working with platform holders to remove the game from sale and to reinstate the original game while we investigate the issues. Existing owners will still be able to access and play the game.We are working closely with our development partner to identify the causes of these problems, deliver improvements, and ensure Shogun 2 – Complete Edition meets the quality standards players expect from Total War.SEGA & Creative Assembly" src="https://cdn.mos.cms.futurecdn.net/YbBwxHQxXATzJ6j5GUCZv7-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1080" height="1350" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/YbBwxHQxXATzJ6j5GUCZv7-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sega)</span></figcaption></figure><p>Anyone who purchased Shogun 2 - Complete Edition will still have access to it, but how (or if) Sega will enable them to go back to playing the original version wasn't clarified. </p><p>Pulling Shogun 2 - Complete Edition from sale and restoring the original is obviously the right move, and today's message promises improvements to the game to bring it more in-line with expectations, so hopefully we'll see some of the more glaring bugs and QoL issues resolved.</p><p>But all of this is still a very bad look for Creative Assembly, which has had something of an <a href="https://www.pcgamer.com/games/strategy/with-total-war-warhammer-40-000-creative-assembly-is-resurrecting-a-16-year-old-experiment-which-didnt-exactly-go-to-plan-last-time/" target="_blank">up-and-down history</a> with its games and players over the years. It's a particular shame coming so soon after the company's successful launch of the <a href="https://www.pcgamer.com/games/strategy/lords-of-the-end-times-greatest-fantasy-is-letting-us-rewrite-the-most-hated-lore-in-warhammers-history/" target="_blank">Lords of the End Times</a> expansion for Total War: Warhammer, which has been widely praised.</p><p>The announcement of <a href="https://www.pcgamer.com/total-war-warhammer-40-000/" target="_blank">Total War: Warhammer 40k</a> also has a lot of RTS fans, and WH40K sickos, very excited, and nonsense like this really takes the wind out of those sails: If Shogun 2 - Complete Edition allowed out the door in this condition, how are fans supposed to expect better in the future?</p><p>A few fans have also pointed out that in 2024, Sega's Aegis-CWA union accused the company of <a href="https://x.com/takesAEGIS/status/1752576083478847694" target="_blank">outsourcing Q&A</a> and some localization services, resulting in the layoffs of 61 people.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:991px;"><p class="vanilla-image-block" style="padding-top:149.04%;"><img id="6qKFAEnvbfR8eLZSsFcSoS" name="union" alt="A few months ago, Sega management announced their plan to outsource QA and part of Localization in a move that would significantly impact our workforce. We’ve been fighting back on these terms since then, but today the layoff that will result in the loss of 61 jobs across these two departments was made public. Through our union efforts, we’ve been able to more than double the number of saved jobs, and to offer severance to our temp workers. This, however, does not take away from the fact that many of our coworkers are being laid off in a decision we believe will have a negative impact on the working conditions of those who remain with the company, and in the quality of our future games. In spite of this, we remain committed to fighting for our coworkers, and for the betterment of our industry. In the face of mass layoffs that continue to happen across gaming companies, we stand united and in solidarity with those affected." src="https://cdn.mos.cms.futurecdn.net/6qKFAEnvbfR8eLZSsFcSoS-1920-80.png" mos="" align="middle" fullscreen="1" width="991" height="1477" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/6qKFAEnvbfR8eLZSsFcSoS-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aegis-CWA)</span></figcaption></figure><p>As I write this, Shogun 2 - Complete Edition remains available for purchase on <a href="https://store.steampowered.com/app/3846830/Total_War_SHOGUN_2__Complete_Edition/" target="_blank">Steam</a>, <a href="https://www.gog.com/en/game/total_war_shogun_2_complete_edition" target="_blank">GOG</a>, and the <a href="https://store.epicgames.com/p/total-war-shogun-2-complete-edition-7c956c" target="_blank">Epic Games Store</a>—Sega has not specified when it will be removed. It has also not yet responded to the accusations of gen AI usage in Shogun 2 - Complete Edition—I've reached out to ask about that and will update if I receive a reply.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="c7931eda-c8ae-11f1-a3b6-29a7b7259141" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="c7931eda-c8ae-11f1-a3b6-29a7b7259141" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/strategy/the-shogun-2-remaster-is-so-bad-sega-is-removing-it-from-sale-and-bringing-back-the-original/</link>
                                                                            <description>
                            <![CDATA[ Sega admits Shogun 2 - Complete Edition "has fallen short of both your expectations and our own standards," so it's going back to the drawing board. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UcA6USdpWrfxf6GJiSUZaj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zWDtXy8tgeArpGeCpqVRpU-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 15:50:41 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 17:37:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Strategy]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zWDtXy8tgeArpGeCpqVRpU-1920-80.jpg">
                                                            <media:credit><![CDATA[Sega/Creative Assembly]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Total War: Shogun 2 - Complete Edition trailer still - dude catching a knife in the back]]></media:description>                                                            <media:text><![CDATA[Total War: Shogun 2 - Complete Edition trailer still - dude catching a knife in the back]]></media:text>
                                <media:title type="plain"><![CDATA[Total War: Shogun 2 - Complete Edition trailer still - dude catching a knife in the back]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zWDtXy8tgeArpGeCpqVRpU-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Just two days after the disastrous release of Total War: Shogun 2 - Complete Edition, Sega says it is removing the game from sale and putting the original back until it gets things sorted out.</p><h2 id="what-happened">WHAT HAPPENED:</h2><ul><li><em><strong>In September, Sega announced a </strong></em><a href="https://www.pcgamer.com/games/strategy/the-best-total-war-game-is-getting-a-remaster-with-50-newly-playable-factions-modern-visuals-and-a-full-japanese-voiceover/" target="_blank"><em><strong>remaster of Total War: Shogun 2</strong></em></a><em><strong>, set to launch just a month later. Sean Martin, PC Gamer's number one shogunner, was very excited.</strong></em></li><li><em><strong>In October, Shogun Sean took the remastered version for a test run and </strong></em><a href="https://www.pcgamer.com/games/strategy/shogun-2-deserved-better/" target="_blank"><em><strong>was not entirely impressed</strong></em></a><em><strong>: "Any reason to return to Shogun 2 in 2026 is something to be celebrated, but I just wish Complete Edition felt more extensive and essential versus leaving so much undone."</strong></em></li><li><em><strong>The next day, Shogun 2 Complete Edition launched on </strong></em><a href="https://store.steampowered.com/app/3846830/Total_War_SHOGUN_2__Complete_Edition/" target="_blank"><em><strong>Steam</strong></em></a><em><strong>, and it was ugly: Thousands of negative user reviews spurred by old bugs, ignored quality of life complaints, and maybe worst of all, accusations—thus far unconfirmed—of undisclosed generative AI use.</strong></em></li><li><em><strong>Adding insult to injury, before the Compete Edition launched, Sega pulled the original from sale.</strong></em></li></ul><p>Which brings us to now: After two days of silence, Sega has finally made a move: It says "the current experience is not where it needs to be," and is thus "working with platform holders to remove the game from sale and to reinstate the original game while we investigate the issues."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:125.00%;"><img id="YbBwxHQxXATzJ6j5GUCZv7" name="sega" alt="We’re aware that Total War: Shogun 2 – Complete Edition has fallen short of both your expectations and our own standards. We’ve seen your feedback, comments, and reviews. We agree that the current experience is not where it needs to be.As a result we are working with platform holders to remove the game from sale and to reinstate the original game while we investigate the issues. Existing owners will still be able to access and play the game.We are working closely with our development partner to identify the causes of these problems, deliver improvements, and ensure Shogun 2 – Complete Edition meets the quality standards players expect from Total War.SEGA & Creative Assembly" src="https://cdn.mos.cms.futurecdn.net/YbBwxHQxXATzJ6j5GUCZv7-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1080" height="1350" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/YbBwxHQxXATzJ6j5GUCZv7-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sega)</span></figcaption></figure><p>Anyone who purchased Shogun 2 - Complete Edition will still have access to it, but how (or if) Sega will enable them to go back to playing the original version wasn't clarified. </p><p>Pulling Shogun 2 - Complete Edition from sale and restoring the original is obviously the right move, and today's message promises improvements to the game to bring it more in-line with expectations, so hopefully we'll see some of the more glaring bugs and QoL issues resolved.</p><p>But all of this is still a very bad look for Creative Assembly, which has had something of an <a href="https://www.pcgamer.com/games/strategy/with-total-war-warhammer-40-000-creative-assembly-is-resurrecting-a-16-year-old-experiment-which-didnt-exactly-go-to-plan-last-time/" target="_blank">up-and-down history</a> with its games and players over the years. It's a particular shame coming so soon after the company's successful launch of the <a href="https://www.pcgamer.com/games/strategy/lords-of-the-end-times-greatest-fantasy-is-letting-us-rewrite-the-most-hated-lore-in-warhammers-history/" target="_blank">Lords of the End Times</a> expansion for Total War: Warhammer, which has been widely praised.</p><p>The announcement of <a href="https://www.pcgamer.com/total-war-warhammer-40-000/" target="_blank">Total War: Warhammer 40k</a> also has a lot of RTS fans, and WH40K sickos, very excited, and nonsense like this really takes the wind out of those sails: If Shogun 2 - Complete Edition allowed out the door in this condition, how are fans supposed to expect better in the future?</p><p>A few fans have also pointed out that in 2024, Sega's Aegis-CWA union accused the company of <a href="https://x.com/takesAEGIS/status/1752576083478847694" target="_blank">outsourcing Q&A</a> and some localization services, resulting in the layoffs of 61 people.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:991px;"><p class="vanilla-image-block" style="padding-top:149.04%;"><img id="6qKFAEnvbfR8eLZSsFcSoS" name="union" alt="A few months ago, Sega management announced their plan to outsource QA and part of Localization in a move that would significantly impact our workforce. We’ve been fighting back on these terms since then, but today the layoff that will result in the loss of 61 jobs across these two departments was made public. Through our union efforts, we’ve been able to more than double the number of saved jobs, and to offer severance to our temp workers. This, however, does not take away from the fact that many of our coworkers are being laid off in a decision we believe will have a negative impact on the working conditions of those who remain with the company, and in the quality of our future games. In spite of this, we remain committed to fighting for our coworkers, and for the betterment of our industry. In the face of mass layoffs that continue to happen across gaming companies, we stand united and in solidarity with those affected." src="https://cdn.mos.cms.futurecdn.net/6qKFAEnvbfR8eLZSsFcSoS-1920-80.png" mos="" align="middle" fullscreen="1" width="991" height="1477" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/6qKFAEnvbfR8eLZSsFcSoS-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aegis-CWA)</span></figcaption></figure><p>As I write this, Shogun 2 - Complete Edition remains available for purchase on <a href="https://store.steampowered.com/app/3846830/Total_War_SHOGUN_2__Complete_Edition/" target="_blank">Steam</a>, <a href="https://www.gog.com/en/game/total_war_shogun_2_complete_edition" target="_blank">GOG</a>, and the <a href="https://store.epicgames.com/p/total-war-shogun-2-complete-edition-7c956c" target="_blank">Epic Games Store</a>—Sega has not specified when it will be removed. It has also not yet responded to the accusations of gen AI usage in Shogun 2 - Complete Edition—I've reached out to ask about that and will update if I receive a reply.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="c7931eda-c8ae-11f1-a3b6-29a7b7259141" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="c7931eda-c8ae-11f1-a3b6-29a7b7259141" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 79% of you think Razer's new gaming mouse feature counts as cheating ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Last week, I asked whether Razer's "Perfect 180" feature on its new <a href="https://www.pcgamer.com/hardware/gaming-mice/new-razer-basilisk-v4-executes-perfect-180-degree-turns-at-the-click-of-a-button-all-while-looking-like-a-power-rangers-foot/" target="_blank">Basilisk V4 Pro</a> gaming mouse <a href="https://www.pcgamer.com/hardware/gaming-mice/does-razers-perfect-180-insta-turning-mouse-feature-count-as-cheating-you-decide/" target="_blank">counts as cheating</a>. For the unaware, said feature allows a near-instant 180-degree spin to be mapped within the software to a single mouse button. In other words, one click, one insta-turn to face whatever (or whoever) is behind you.</p><p>316 of you responded to the poll (where were the rest, asleep?), and the results are... unsurprising. 79% of respondents said yes, while 21% said no, it's totally fine.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792074401027-1aphbi792 *, #fv-chart-1792074401027-1aphbi792 *:before, #fv-chart-1792074401027-1aphbi792 *:after, #fv-chart-1792074401027-1aphbi792-slideshow *, #fv-chart-1792074401027-1aphbi792-slideshow *:before, #fv-chart-1792074401027-1aphbi792-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792074401027-1aphbi792, #fv-chart-1792074401027-1aphbi792-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792074401027-1aphbi792 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792074401027-1aphbi792 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792074401027-1aphbi792 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792074401027-1aphbi792.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792074401027-1aphbi792.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792074401027-1aphbi792 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792074401027-1aphbi792-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn.disabled, #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792074401027-1aphbi792 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792074401027-1aphbi792 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792074401027-1aphbi792 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792074401027-1aphbi792 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792074401027-1aphbi792 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792074401027-1aphbi792 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792074401027-1aphbi792 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792074401027-1aphbi792 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792074401027-1aphbi792 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792074401027-1aphbi792 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792074401027-1aphbi792 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792074401027-1aphbi792 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792074401027-1aphbi792 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-row, #fv-chart-1792074401027-1aphbi792 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792074401027-1aphbi792.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792074401027-1aphbi792 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792074401027-1aphbi792 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792074401027-1aphbi792 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792074401027-1aphbi792 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-pie-container, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stacked-product, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-grouped-bar-product, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stacked-product, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-label, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-grouped-product-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-label, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-container, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-cluster, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-container, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-x-axis-wrapper, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-x-axis-label-space, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-x-axis-chart-space, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-benchmark-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-dropdown-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-carousel-nav-btn, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-chart-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-chart-subhead, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-header, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-wrapper, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-vs, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-container, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792074401027-1aphbi792 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-row, #fv-chart-1792074401027-1aphbi792 .fv-stacked-product, #fv-chart-1792074401027-1aphbi792 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label, #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-container, #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792074401027-1aphbi792 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-logo, #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792074401027-1aphbi792.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Does Razer's \"Perfect 180\" gaming mouse feature count as cheating?",  "description": "Out of 316 poll respondents, here are the results expressed as percentages:",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:26:41.027Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Yes",    "No",    "Votes (%)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "No – Votes (%)",      "value": 21,      "unitText": "Votes (%)"    },    {      "@type": "PropertyValue",      "name": "Yes – Votes (%)",      "value": 79,      "unitText": "Votes (%)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T14:26:41.027Z","state":{"data":[{"productName":"No","attribute":"Votes (%)","value":21,"unit":"Votes (%)","color":"","site":"PC Gamer"},{"productName":"Yes","attribute":"Votes (%)","value":79,"unit":"Votes (%)","color":"","site":"PC Gamer"}],"products":["No","Yes"],"attributes":["Votes (%)"],"selectedProducts":["Yes","No"],"selectedPrimaryProduct":null,"selectedAttributes":["Votes (%)"],"productColors":[{"productName":"No","color":"#E33235"},{"productName":"Yes","color":"#FE9F58"}],"initialProductColors":[{"productName":"No","color":"#E33235"},{"productName":"Yes","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{"bar-Votes (%)":100},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Does Razer's \"Perfect 180\" gaming mouse feature count as cheating?","subhead":"Out of 316 poll respondents, here are the results expressed as percentages:","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792074401027-1aphbi792" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Does Razer's "Perfect 180" gaming mouse feature count as cheating?</h3><p class="fv-chart-subhead">Out of 316 poll respondents, here are the results expressed as percentages:</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792074401027-1aphbi792-bar-Votes (%)" data-chart-type="Bar" data-title="Votes (%)" data-subhead="Out of 316 poll respondents, here are the results expressed as percentages:" data-caption="" data-bar-max-value-override="100" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Votes (%)</h4><div class="fv-bar-row"><div class="fv-bar-label ">Yes</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #FE9F58;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">No</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 21%; background-color: #E33235;" data-target-width="21" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div></div><table class="sr-only"><caption>Votes (%) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Yes</td><td>79</td></tr><tr><td>No</td><td>21</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792074401027-1aphbi792', false); });      } else {        initialize('fv-chart-1792074401027-1aphbi792', false);      }    })();      </script></div><p>Or just "no." I'm adding a bit of flavour to that one. Looking through the comments, many seemed to echo the sentiments of TrexLaser, who says: "Anything that moves the mouse for you is cheating."</p><p>However, some took a more nuanced approach. Terito697174 says the real issue might be in the determination of cheaters, as overly snappy aiming is often the only way for another player to reasonably assess whether they're up against an opponent with an unfair advantage.</p><p>Salvador Pardiñas makes a good point: "I can sort of understand it as an accessibility option for people who can't normally do a 180 by themselves, but other than that it's just plain cheating."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ujo3PEQou798FVRe7VgoMD" name="Razer Perfect 180" alt="A screenshot of Razer Synapse showing its Perfect 180 gaming mouse feature" src="https://cdn.mos.cms.futurecdn.net/Ujo3PEQou798FVRe7VgoMD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Razer)</span></figcaption></figure><p>Certainly, those with differing abilities might find a 180 turn on a mouse button a very useful thing indeed. However, that doesn't seem to be the way Razer is currently pitching it, as the feature blurb on the Basilisk V4 Pro product page describes it as "built for low-sensitivity gaming," rather than as an accessibility option.</p><p>Commenter Fojacko brings up a real blast from the past: "Welcome to the 2000s, Razer. The Intellipoint software says hi."</p><p>I'd forgotten all about Microsoft's SideWinder gaming mice from back in the day, which, via the <a href="https://en.wikipedia.org/wiki/IntelliPoint" target="_blank">Intellipoint mouse software</a>, could reassign a side button to perform 180-degree or full 360-degree turns. "Quick turn never took off back then for a reason," says Fojacko. Erm, I'm not quite sure why. Was it not as useful as we might think?</p><p>Anyway, the feelings of the majority have been made clear. I doubt Razer will rescind the feature regardless, but I will definitely be looking out for insta-turning players in multiplayer games from now on.</p><p>"I know what mouse you use," I'll think to myself. Also, "How on earth am I supposed to compete with that?"</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-mice/79-percent-of-you-think-razers-new-gaming-mouse-feature-counts-as-cheating/</link>
                                                                            <description>
                            <![CDATA[ I doubt it will do a 180, though. Hey-hey! ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">txpkLSpZevTQVpDn6NgUuh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WCWEkMPXSJjjqpqAA4mqt-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 15:42:42 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 15:42:55 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Mice]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WCWEkMPXSJjjqpqAA4mqt-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Razer Basilisk V4 Pro gaming mouse shot from various angles at Gamescom 2026]]></media:description>                                                            <media:text><![CDATA[The Razer Basilisk V4 Pro gaming mouse shot from various angles at Gamescom 2026]]></media:text>
                                <media:title type="plain"><![CDATA[The Razer Basilisk V4 Pro gaming mouse shot from various angles at Gamescom 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WCWEkMPXSJjjqpqAA4mqt-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Last week, I asked whether Razer's "Perfect 180" feature on its new <a href="https://www.pcgamer.com/hardware/gaming-mice/new-razer-basilisk-v4-executes-perfect-180-degree-turns-at-the-click-of-a-button-all-while-looking-like-a-power-rangers-foot/" target="_blank">Basilisk V4 Pro</a> gaming mouse <a href="https://www.pcgamer.com/hardware/gaming-mice/does-razers-perfect-180-insta-turning-mouse-feature-count-as-cheating-you-decide/" target="_blank">counts as cheating</a>. For the unaware, said feature allows a near-instant 180-degree spin to be mapped within the software to a single mouse button. In other words, one click, one insta-turn to face whatever (or whoever) is behind you.</p><p>316 of you responded to the poll (where were the rest, asleep?), and the results are... unsurprising. 79% of respondents said yes, while 21% said no, it's totally fine.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792074401027-1aphbi792 *, #fv-chart-1792074401027-1aphbi792 *:before, #fv-chart-1792074401027-1aphbi792 *:after, #fv-chart-1792074401027-1aphbi792-slideshow *, #fv-chart-1792074401027-1aphbi792-slideshow *:before, #fv-chart-1792074401027-1aphbi792-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792074401027-1aphbi792, #fv-chart-1792074401027-1aphbi792-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792074401027-1aphbi792 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792074401027-1aphbi792 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792074401027-1aphbi792 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792074401027-1aphbi792.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792074401027-1aphbi792.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792074401027-1aphbi792 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792074401027-1aphbi792-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn.disabled, #fv-chart-1792074401027-1aphbi792-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792074401027-1aphbi792-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792074401027-1aphbi792 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792074401027-1aphbi792 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792074401027-1aphbi792 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792074401027-1aphbi792 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792074401027-1aphbi792 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792074401027-1aphbi792 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792074401027-1aphbi792 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792074401027-1aphbi792 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792074401027-1aphbi792 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792074401027-1aphbi792 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792074401027-1aphbi792 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792074401027-1aphbi792 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792074401027-1aphbi792 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792074401027-1aphbi792 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792074401027-1aphbi792 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792074401027-1aphbi792 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-row, #fv-chart-1792074401027-1aphbi792 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792074401027-1aphbi792.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792074401027-1aphbi792 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792074401027-1aphbi792 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792074401027-1aphbi792 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792074401027-1aphbi792 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792074401027-1aphbi792 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-pie-container, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stacked-product, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-grouped-bar-product, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stacked-product, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-label, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-grouped-product-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-label, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-container, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-cluster, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-container, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-x-axis-wrapper, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-x-axis-label-space, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-x-axis-chart-space, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-benchmark-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-dropdown-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-carousel-nav-btn, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-chart-title, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-chart-subhead, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-header, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-wrapper, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-vs, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select-container, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-versus-select, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792074401027-1aphbi792.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792074401027-1aphbi792 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-row, #fv-chart-1792074401027-1aphbi792 .fv-stacked-product, #fv-chart-1792074401027-1aphbi792 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-label, #fv-chart-1792074401027-1aphbi792 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-container, #fv-chart-1792074401027-1aphbi792 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792074401027-1aphbi792 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792074401027-1aphbi792 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792074401027-1aphbi792 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792074401027-1aphbi792 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792074401027-1aphbi792 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-logo, #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792074401027-1aphbi792 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792074401027-1aphbi792 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792074401027-1aphbi792 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792074401027-1aphbi792.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Does Razer's \"Perfect 180\" gaming mouse feature count as cheating?",  "description": "Out of 316 poll respondents, here are the results expressed as percentages:",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:26:41.027Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Yes",    "No",    "Votes (%)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "No – Votes (%)",      "value": 21,      "unitText": "Votes (%)"    },    {      "@type": "PropertyValue",      "name": "Yes – Votes (%)",      "value": 79,      "unitText": "Votes (%)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T14:26:41.027Z","state":{"data":[{"productName":"No","attribute":"Votes (%)","value":21,"unit":"Votes (%)","color":"","site":"PC Gamer"},{"productName":"Yes","attribute":"Votes (%)","value":79,"unit":"Votes (%)","color":"","site":"PC Gamer"}],"products":["No","Yes"],"attributes":["Votes (%)"],"selectedProducts":["Yes","No"],"selectedPrimaryProduct":null,"selectedAttributes":["Votes (%)"],"productColors":[{"productName":"No","color":"#E33235"},{"productName":"Yes","color":"#FE9F58"}],"initialProductColors":[{"productName":"No","color":"#E33235"},{"productName":"Yes","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{"bar-Votes (%)":100},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Does Razer's \"Perfect 180\" gaming mouse feature count as cheating?","subhead":"Out of 316 poll respondents, here are the results expressed as percentages:","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792074401027-1aphbi792" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Does Razer's "Perfect 180" gaming mouse feature count as cheating?</h3><p class="fv-chart-subhead">Out of 316 poll respondents, here are the results expressed as percentages:</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792074401027-1aphbi792-bar-Votes (%)" data-chart-type="Bar" data-title="Votes (%)" data-subhead="Out of 316 poll respondents, here are the results expressed as percentages:" data-caption="" data-bar-max-value-override="100" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Votes (%)</h4><div class="fv-bar-row"><div class="fv-bar-label ">Yes</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #FE9F58;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">No</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 21%; background-color: #E33235;" data-target-width="21" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div></div><table class="sr-only"><caption>Votes (%) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Yes</td><td>79</td></tr><tr><td>No</td><td>21</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792074401027-1aphbi792', false); });      } else {        initialize('fv-chart-1792074401027-1aphbi792', false);      }    })();      </script></div><p>Or just "no." I'm adding a bit of flavour to that one. Looking through the comments, many seemed to echo the sentiments of TrexLaser, who says: "Anything that moves the mouse for you is cheating."</p><p>However, some took a more nuanced approach. Terito697174 says the real issue might be in the determination of cheaters, as overly snappy aiming is often the only way for another player to reasonably assess whether they're up against an opponent with an unfair advantage.</p><p>Salvador Pardiñas makes a good point: "I can sort of understand it as an accessibility option for people who can't normally do a 180 by themselves, but other than that it's just plain cheating."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ujo3PEQou798FVRe7VgoMD" name="Razer Perfect 180" alt="A screenshot of Razer Synapse showing its Perfect 180 gaming mouse feature" src="https://cdn.mos.cms.futurecdn.net/Ujo3PEQou798FVRe7VgoMD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Razer)</span></figcaption></figure><p>Certainly, those with differing abilities might find a 180 turn on a mouse button a very useful thing indeed. However, that doesn't seem to be the way Razer is currently pitching it, as the feature blurb on the Basilisk V4 Pro product page describes it as "built for low-sensitivity gaming," rather than as an accessibility option.</p><p>Commenter Fojacko brings up a real blast from the past: "Welcome to the 2000s, Razer. The Intellipoint software says hi."</p><p>I'd forgotten all about Microsoft's SideWinder gaming mice from back in the day, which, via the <a href="https://en.wikipedia.org/wiki/IntelliPoint" target="_blank">Intellipoint mouse software</a>, could reassign a side button to perform 180-degree or full 360-degree turns. "Quick turn never took off back then for a reason," says Fojacko. Erm, I'm not quite sure why. Was it not as useful as we might think?</p><p>Anyway, the feelings of the majority have been made clear. I doubt Razer will rescind the feature regardless, but I will definitely be looking out for insta-turning players in multiplayer games from now on.</p><p>"I know what mouse you use," I'll think to myself. Also, "How on earth am I supposed to compete with that?"</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ It's taken its sweet time, but Intel's response to AMD's X3D chips is starting to look tasty ]]></title>
                                                                                                <dc:content><![CDATA[ <p>With little sign of new and exciting GPUs, and with rising memory prices affecting just about everything in a less than positive manner, it's new CPUs that I'll be keeping my optimistic eyes peeled for. That's doubly so now that we're getting wind of the specs for Intel's upcoming Nova Lake generation.</p><p>According to tech leaker <a href="https://x.com/laurentschoice/status/2105765356098720177?s=20" target="_blank">Laurent's Choice on X</a>, we can expect a range of next-gen Intel CPUs to use a 4000-series naming scheme—though still following Core Ultra nomenclature—and three of these will be 'BFC' chips featuring bLLC ('big last-level cache'). 'BFC' presumably means 'big friendly cache' or... something to that, err, effect. I'll let you fill in the blanks.</p><p>This will be Intel's answer to the 3D V-Cache we see in AMD X3D chips such as the current <a href="https://www.pcgamer.com/best-cpu-for-gaming/" target="_blank">best CPU</a> on the market, the <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a>. Games love chomping through cache, so the more merrier. Intel's bLLC, however, is <a href="https://www.pcgamer.com/hardware/processors/more-details-of-an-extra-big-intel-nova-lake-bllc-cpu-die-with-added-cache-and-designed-to-take-on-amds-x3d-chips-emerge/" target="_blank">said to be built into the die</a> rather than slapped on top or underneath like AMD's 3D V-Cache solution. It's about time we see sign of this, too, if you ask me, given we've had AMD X3D chips since 2022 and no equivalent from Intel.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>We've seen rumoured specs similar to these <a href="https://www.pcgamer.com/hardware/processors/fresh-intel-nova-lake-leak-fills-out-the-details-on-the-range-of-core-ultra-400-series-cpus-we-can-expect-to-see-later-this-year/" target="_blank">earlier in the year</a>, but there are some extra models here, plus the naming to go with it. Apparently the top-end model will be the Core Ultra 9 4970K BFC, and this will run down to the Core Ultra 5 4650KF.</p><div ><table><caption>Intel Nova Lake specs (rumoured)</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>P/E/LP-E Cores</p></th><th  ><p>GPU EUs</p></th><th  ><p>TDP (PL1)</p></th><th  ><p>bLLC cache</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Core Ultra 9 4970K BFC</strong></p></td><td  ><p>8/16/4</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 9 4950K</strong></p></td><td  ><p>8/16</p></td><td  ><p>23</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 9 4900 BFC</strong></p></td><td  ><p>6/12/4</p></td><td  ><p>32</p></td><td  ><p>65</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 7 4870K BFC</strong></p></td><td  ><p>8/12/4</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 7 4850K</strong></p></td><td  ><p>8/12</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 5 4650K</strong></p></td><td  ><p>6/12</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 5 4650KF</strong></p></td><td  ><p>6/12</p></td><td  ><p>0</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr></tbody></table></div><p>The most interesting of the supposed bunch, and one we hadn't seen before, is the Core Ultra 9 4900 BFC (note the lack of a 'K'). This will apparently have two fewer P-Cores and run with a base TDP of 65 W, compared to the 125 W of the rest of the line-up, but it will still have the big cache. </p><p>Presumably this will be for specific professional workloads in smaller machines, given the lower TDP. Or perhaps for SFF gaming rigs. Unless it's just that there's a mix-up in the specs here, and the 65 W should be for another CPU in the line-up.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2370px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="4wTd8fVYEqLLe4hqhhb3f9" name="amd-ryzen-7-9800x3d-review-06" alt="AMD Ryzen 7 9800X3D processor" src="https://cdn.mos.cms.futurecdn.net/4wTd8fVYEqLLe4hqhhb3f9-1920-80.jpg" mos="" align="middle" fullscreen="" width="2370" height="1334" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">This is the AMD Ryzen 7 9800X3D, which feature's AMD's 3D V-Cache. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Early in the year we heard rumour that some hefty <a href="https://www.pcgamer.com/hardware/processors/the-rumour-that-intels-next-gen-nova-lake-chips-will-consume-up-to-700-w-of-power-is-nothing-to-worry-about-core-ultra-400-gaming-pcs-arent-going-to-be-melting-your-house-down/" target="_blank">Nova Lake chips could consume up to 700 W of power</a>, but only as a kind of theoretical limit on a many-cored processor. This was corroborated by <a href="https://www.pcgamer.com/hardware/processors/intels-mega-core-nova-lake-desktop-processors-look-all-but-confirmed-to-have-sustained-full-boost-power-limits-at-least-220-w-higher-than-arrow-lake/" target="_blank">further rumour a few months later</a> that the PL2 limit—sustained power limit—will be double current Intel CPU limits and will require an extra 8-pin connector to power the processor.</p><p>This was only said to be the case for the <a href="https://www.pcgamer.com/hardware/processors/fresh-intel-nova-lake-leak-fills-out-the-details-on-the-range-of-core-ultra-400-series-cpus-we-can-expect-to-see-later-this-year/" target="_blank">rumoured big boi, two-tiled, 44- and 52-core Nova Lake chips</a>, however, not the regular Core Ultra ones that will feature in our gaming PCs. Which tracks here, given this latest rumour has all but one of the listed models running at a 125 W (PL1) TDP just like current-gen, where a similar 250 W PL2 will also be likely.</p><p>At any rate, it's exciting to see more mention of upcoming cache-heavy processors. That's most certainly where it's at for gaming. We're <a href="https://www.tomshardware.com/pc-components/cpus/intels-core-ultra-400-nova-lake-launch-schedule-leaks-out-mass-production-in-q4-first-nova-lake-cpus-in-q1-2027" target="_blank">expecting the processors to launch at the start of next year</a>, so hopefully there won't be long to wait. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/processors/its-taken-its-sweet-time-but-intels-response-to-amds-x3d-chips-is-starting-to-look-tasty/</link>
                                                                            <description>
                            <![CDATA[ A 65 W Ultra 9 Nova Lake chip with BLLC is reportedly on the way. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2ZJwFLqyzMkSBLWiBAcSek</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/xNPHqUrH9cAL7uimaVYGoG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 15:34:33 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 15:37:12 +0000</updated>
                                                                                                                                            <category><![CDATA[Processors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/xNPHqUrH9cAL7uimaVYGoG-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A photo of an Intel Core Ultra 7 270K Plus processor, resting against a colorful, Intel-branded box]]></media:description>                                                            <media:text><![CDATA[A photo of an Intel Core Ultra 7 270K Plus processor, resting against a colorful, Intel-branded box]]></media:text>
                                <media:title type="plain"><![CDATA[A photo of an Intel Core Ultra 7 270K Plus processor, resting against a colorful, Intel-branded box]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/xNPHqUrH9cAL7uimaVYGoG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>With little sign of new and exciting GPUs, and with rising memory prices affecting just about everything in a less than positive manner, it's new CPUs that I'll be keeping my optimistic eyes peeled for. That's doubly so now that we're getting wind of the specs for Intel's upcoming Nova Lake generation.</p><p>According to tech leaker <a href="https://x.com/laurentschoice/status/2105765356098720177?s=20" target="_blank">Laurent's Choice on X</a>, we can expect a range of next-gen Intel CPUs to use a 4000-series naming scheme—though still following Core Ultra nomenclature—and three of these will be 'BFC' chips featuring bLLC ('big last-level cache'). 'BFC' presumably means 'big friendly cache' or... something to that, err, effect. I'll let you fill in the blanks.</p><p>This will be Intel's answer to the 3D V-Cache we see in AMD X3D chips such as the current <a href="https://www.pcgamer.com/best-cpu-for-gaming/" target="_blank">best CPU</a> on the market, the <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a>. Games love chomping through cache, so the more merrier. Intel's bLLC, however, is <a href="https://www.pcgamer.com/hardware/processors/more-details-of-an-extra-big-intel-nova-lake-bllc-cpu-die-with-added-cache-and-designed-to-take-on-amds-x3d-chips-emerge/" target="_blank">said to be built into the die</a> rather than slapped on top or underneath like AMD's 3D V-Cache solution. It's about time we see sign of this, too, if you ask me, given we've had AMD X3D chips since 2022 and no equivalent from Intel.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>We've seen rumoured specs similar to these <a href="https://www.pcgamer.com/hardware/processors/fresh-intel-nova-lake-leak-fills-out-the-details-on-the-range-of-core-ultra-400-series-cpus-we-can-expect-to-see-later-this-year/" target="_blank">earlier in the year</a>, but there are some extra models here, plus the naming to go with it. Apparently the top-end model will be the Core Ultra 9 4970K BFC, and this will run down to the Core Ultra 5 4650KF.</p><div ><table><caption>Intel Nova Lake specs (rumoured)</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>P/E/LP-E Cores</p></th><th  ><p>GPU EUs</p></th><th  ><p>TDP (PL1)</p></th><th  ><p>bLLC cache</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Core Ultra 9 4970K BFC</strong></p></td><td  ><p>8/16/4</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 9 4950K</strong></p></td><td  ><p>8/16</p></td><td  ><p>23</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 9 4900 BFC</strong></p></td><td  ><p>6/12/4</p></td><td  ><p>32</p></td><td  ><p>65</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 7 4870K BFC</strong></p></td><td  ><p>8/12/4</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 7 4850K</strong></p></td><td  ><p>8/12</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 5 4650K</strong></p></td><td  ><p>6/12</p></td><td  ><p>32</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Core Ultra 5 4650KF</strong></p></td><td  ><p>6/12</p></td><td  ><p>0</p></td><td  ><p>125</p></td><td  ><p>No</p></td></tr></tbody></table></div><p>The most interesting of the supposed bunch, and one we hadn't seen before, is the Core Ultra 9 4900 BFC (note the lack of a 'K'). This will apparently have two fewer P-Cores and run with a base TDP of 65 W, compared to the 125 W of the rest of the line-up, but it will still have the big cache. </p><p>Presumably this will be for specific professional workloads in smaller machines, given the lower TDP. Or perhaps for SFF gaming rigs. Unless it's just that there's a mix-up in the specs here, and the 65 W should be for another CPU in the line-up.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2370px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="4wTd8fVYEqLLe4hqhhb3f9" name="amd-ryzen-7-9800x3d-review-06" alt="AMD Ryzen 7 9800X3D processor" src="https://cdn.mos.cms.futurecdn.net/4wTd8fVYEqLLe4hqhhb3f9-1920-80.jpg" mos="" align="middle" fullscreen="" width="2370" height="1334" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">This is the AMD Ryzen 7 9800X3D, which feature's AMD's 3D V-Cache. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Early in the year we heard rumour that some hefty <a href="https://www.pcgamer.com/hardware/processors/the-rumour-that-intels-next-gen-nova-lake-chips-will-consume-up-to-700-w-of-power-is-nothing-to-worry-about-core-ultra-400-gaming-pcs-arent-going-to-be-melting-your-house-down/" target="_blank">Nova Lake chips could consume up to 700 W of power</a>, but only as a kind of theoretical limit on a many-cored processor. This was corroborated by <a href="https://www.pcgamer.com/hardware/processors/intels-mega-core-nova-lake-desktop-processors-look-all-but-confirmed-to-have-sustained-full-boost-power-limits-at-least-220-w-higher-than-arrow-lake/" target="_blank">further rumour a few months later</a> that the PL2 limit—sustained power limit—will be double current Intel CPU limits and will require an extra 8-pin connector to power the processor.</p><p>This was only said to be the case for the <a href="https://www.pcgamer.com/hardware/processors/fresh-intel-nova-lake-leak-fills-out-the-details-on-the-range-of-core-ultra-400-series-cpus-we-can-expect-to-see-later-this-year/" target="_blank">rumoured big boi, two-tiled, 44- and 52-core Nova Lake chips</a>, however, not the regular Core Ultra ones that will feature in our gaming PCs. Which tracks here, given this latest rumour has all but one of the listed models running at a 125 W (PL1) TDP just like current-gen, where a similar 250 W PL2 will also be likely.</p><p>At any rate, it's exciting to see more mention of upcoming cache-heavy processors. That's most certainly where it's at for gaming. We're <a href="https://www.tomshardware.com/pc-components/cpus/intels-core-ultra-400-nova-lake-launch-schedule-leaks-out-mass-production-in-q4-first-nova-lake-cpus-in-q1-2027" target="_blank">expecting the processors to launch at the start of next year</a>, so hopefully there won't be long to wait. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I jammed Nvidia's new DLSS 5 October update model into the RTX Spark and it's 25% faster at 1440p ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Pumpkin month is here and it has brought us bountiful PC tech, too. Along with the launch of the new <a href="https://www.pcgamer.com/hardware/gaming-laptops/nvidias-rtx-spark-makes-for-an-impressive-arm-based-gaming-laptop-but-not-one-id-recommend-you-buy-just-for-pc-gaming/" target="_blank">Nvidia RTX Spark</a> platform—bringing us all-Nvidia powered laptops and mini PCs for a pretty penny—we've also now got the latest update to DLSS 5, or DLSS Neural Rendering, or DLSS NR. I'm still not 100% sure how we should be referring to this, but I'm certainly not convinced by the whole '3D-guided Neural Rendering' moniker. </p><p>Whatever, <a href="https://www.pcgamer.com/hardware/graphics-cards/hogwarts-legacys-dlss-5-update-shows-devs-have-been-listening-to-pc-gamers-about-keeping-it-the-hell-away-from-game-characters/" target="_blank">we've got a new model to play with</a> in the one game that has been officially released with the tech inside it: NBA 2K27. And, almost definitely from now on in any of the <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-be-jammed-into-almost-any-game-now-so-ive-been-playing-fm26-with-neural-rendered-little-computer-people-because-thats-just-what-i-do/" target="_blank">myriad modding platforms</a> that have baked DLSS 5 into any game you could imagine, on any GPU architecture.</p><p>The new model is promising to be half as demanding of your hardware than the previous model—so a nominal 30% hit rather than 60%—and Nvidia says it has done this by refining the training data and reducing the model size itself down to around 118 million parameters, which makes it roughly 24% smaller. In terms of its impact on your GPU's VRAM, Nvidia gives the example of a reduction in VRAM usage at 4K of 20%.</p><h4 id="nba-2k27-running-on-the-nvidia-rtx-spark-with-the-dlss-5-oct-update">NBA 2K27 running on the Nvidia RTX Spark with the DLSS 5 Oct update</h4><iframe src="https://content.jwplatform.com/players/20lVbf0f.html" id="20lVbf0f" title="DLSS 5 Oct Update" width="1920" height="1080" frameborder="0" scrolling="auto" allowfullscreen></iframe><p>Which is all well and good for Nvidia's numbers, but what happens in the real world? I've got hold of a preview version of the .dll files, specifically created for the RTX Spark hardware I'm testing right now (probably so we couldn't drop the files onto a repo somewhere and have the new model leaked early), and have been playing around with NBA 2K27 once more on the Asus ProArt P16. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792071675869-i5h5x9bn7 *, #fv-chart-1792071675869-i5h5x9bn7 *:before, #fv-chart-1792071675869-i5h5x9bn7 *:after, #fv-chart-1792071675869-i5h5x9bn7-slideshow *, #fv-chart-1792071675869-i5h5x9bn7-slideshow *:before, #fv-chart-1792071675869-i5h5x9bn7-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792071675869-i5h5x9bn7, #fv-chart-1792071675869-i5h5x9bn7-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792071675869-i5h5x9bn7 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792071675869-i5h5x9bn7.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn.disabled, #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792071675869-i5h5x9bn7 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792071675869-i5h5x9bn7 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792071675869-i5h5x9bn7.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792071675869-i5h5x9bn7 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-pie-container, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stacked-product, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-grouped-bar-product, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stacked-product, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-label, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-grouped-product-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-label, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-container, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-cluster, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-container, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-x-axis-wrapper, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-x-axis-label-space, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-x-axis-chart-space, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-benchmark-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-dropdown-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-carousel-nav-btn, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-chart-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-chart-subhead, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-header, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-wrapper, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-vs, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-container, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792071675869-i5h5x9bn7 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-product, #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label, #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-container, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-logo, #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792071675869-i5h5x9bn7.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "DLSS 5 October Update",  "description": "Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T13:41:15.870Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "DLSS 5 Off",    "DLSS 5 On (original)",    "DLSS On (Oct update)",    "NBA 2K27 (1080p High)",    "NBA 2K27 (1440p High)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "DLSS 5 Off – NBA 2K27 (1080p High)",      "value": 227,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS 5 On (original) – NBA 2K27 (1080p High)",      "value": 143,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS On (Oct update) – NBA 2K27 (1080p High)",      "value": 168,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS 5 Off – NBA 2K27 (1440p High)",      "value": 200,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS 5 On (original) – NBA 2K27 (1440p High)",      "value": 107,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS On (Oct update) – NBA 2K27 (1440p High)",      "value": 134,      "unitText": "Avg FPS"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T13:41:15.870Z","state":{"data":[{"productName":"DLSS 5 Off","attribute":"NBA 2K27 (1080p High)","value":227,"unit":"Avg FPS","multiValues":[{"value":227,"unit":"Avg FPS"},{"value":93,"unit":"1% Low FPS"},{"value":68,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS 5 Off","attribute":"NBA 2K27 (1440p High)","value":200,"unit":"Avg FPS","multiValues":[{"value":200,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"},{"value":76,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS 5 On (original)","attribute":"NBA 2K27 (1080p High)","value":143,"unit":"Avg FPS","multiValues":[{"value":143,"unit":"Avg FPS"},{"value":63,"unit":"1% Low FPS"},{"value":88,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS 5 On (original)","attribute":"NBA 2K27 (1440p High)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":47,"unit":"1% Low FPS"},{"value":117,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS On (Oct update)","attribute":"NBA 2K27 (1080p High)","value":168,"unit":"Avg FPS","multiValues":[{"value":168,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"},{"value":85,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS On (Oct update)","attribute":"NBA 2K27 (1440p High)","value":134,"unit":"Avg FPS","multiValues":[{"value":134,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"},{"value":92,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"}],"products":["DLSS 5 Off","DLSS 5 On (original)","DLSS On (Oct update)"],"attributes":["NBA 2K27 (1080p High)","NBA 2K27 (1440p High)"],"selectedProducts":["DLSS 5 Off","DLSS 5 On (original)","DLSS On (Oct update)"],"selectedPrimaryProduct":"DLSS On (Oct update)","selectedAttributes":["NBA 2K27 (1080p High)","NBA 2K27 (1440p High)"],"productColors":[{"productName":"DLSS 5 Off","color":"#E33235"},{"productName":"DLSS 5 On (original)","color":"#FE9F58"},{"productName":"DLSS On (Oct update)","color":"#1CA9C4"}],"initialProductColors":[{"productName":"DLSS 5 Off","color":"#E33235"},{"productName":"DLSS 5 On (original)","color":"#FE9F58"},{"productName":"DLSS On (Oct update)","color":"#1CA9C4"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"DLSS 5 October Update","subhead":"Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792071675869-i5h5x9bn7" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">DLSS 5 October Update</h3><p class="fv-chart-subhead">Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">NBA 2K27 (1080p High)</option><option value="1">NBA 2K27 (1440p High)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792071675869-i5h5x9bn7-bar-NBA 2K27 (1080p High)" data-chart-type="Bar" data-title="NBA 2K27 (1080p High)" data-subhead="Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>PC Latency (ms)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 Off</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.66666666666667%; background-color: #E33235;" data-target-width="75.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">227</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31%; background-color: #FE9F58;" data-target-width="31" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">93</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.666666666666664%; background-color: #1CA9C4;" data-target-width="22.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 On (original)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.66666666666667%; background-color: #E33235;" data-target-width="47.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">143</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21%; background-color: #FE9F58;" data-target-width="21" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.333333333333332%; background-color: #1CA9C4;" data-target-width="29.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">88</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">DLSS On (Oct update)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.00000000000001%; background-color: #E33235;" data-target-width="56.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">168</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20.333333333333332%; background-color: #FE9F58;" data-target-width="20.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.333333333333332%; background-color: #1CA9C4;" data-target-width="28.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div></div></div><table class="sr-only"><caption>NBA 2K27 (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>DLSS 5 Off</td><td>227 Avg FPS, 93 1% Low FPS, 68 PC Latency (ms)</td></tr><tr><td>DLSS 5 On (original)</td><td>143 Avg FPS, 63 1% Low FPS, 88 PC Latency (ms)</td></tr><tr><td>DLSS On (Oct update)</td><td>168 Avg FPS, 61 1% Low FPS, 85 PC Latency (ms)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792071675869-i5h5x9bn7-bar-NBA 2K27 (1440p High)" data-chart-type="Bar" data-title="NBA 2K27 (1440p High)" data-subhead="Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>PC Latency (ms)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 Off</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">200</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30.5%; background-color: #FE9F58;" data-target-width="30.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 38%; background-color: #1CA9C4;" data-target-width="38" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 On (original)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.5%; background-color: #E33235;" data-target-width="53.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">107</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 23.5%; background-color: #FE9F58;" data-target-width="23.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.5%; background-color: #1CA9C4;" data-target-width="58.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">117</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">DLSS On (Oct update)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67%; background-color: #E33235;" data-target-width="67" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">134</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25.5%; background-color: #FE9F58;" data-target-width="25.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46%; background-color: #1CA9C4;" data-target-width="46" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92</span></div></div></div></div></div><table class="sr-only"><caption>NBA 2K27 (1440p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>DLSS 5 Off</td><td>200 Avg FPS, 61 1% Low FPS, 76 PC Latency (ms)</td></tr><tr><td>DLSS 5 On (original)</td><td>107 Avg FPS, 47 1% Low FPS, 117 PC Latency (ms)</td></tr><tr><td>DLSS On (Oct update)</td><td>134 Avg FPS, 51 1% Low FPS, 92 PC Latency (ms)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792071675869-i5h5x9bn7', false); });      } else {        initialize('fv-chart-1792071675869-i5h5x9bn7', false);      }    })();      </script></div><p>And the results are pretty impressive to be honest. First, that I can get this RTX Spark machine to run at over 200 fps anyways, but also that at 1080p it still sits around the 170 fps mark with DLSS 5 enabled. </p><p>Looking at the more intensive 1440p result, you can see what a <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-slash-performance-by-up-to-73-percent-on-an-rtx-5080-gaming-pc-in-nba-2k27-and-im-left-wondering-what-kind-of-mega-rig-youd-need-to-justify-the-hit/" target="_blank">massive hit the original model delivered</a> to the game when DLSS 5 and Neural Rendering were enabled. Going from a healthy 200 fps down to effectively half that is a brutal performance hit that no-one is going to be happy with.</p><p>Especially when, in all honesty, the extra lighting and tonal improvements are only really visible during the game's many cutscenes. When you're zoomed out, actually playing the game, then the extra fidelity doesn't really add a whole lot to the experience, as you can see in the video above. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792072061836-l9i3m6eet *, #fv-chart-1792072061836-l9i3m6eet *:before, #fv-chart-1792072061836-l9i3m6eet *:after, #fv-chart-1792072061836-l9i3m6eet-slideshow *, #fv-chart-1792072061836-l9i3m6eet-slideshow *:before, #fv-chart-1792072061836-l9i3m6eet-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792072061836-l9i3m6eet, #fv-chart-1792072061836-l9i3m6eet-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072061836-l9i3m6eet { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792072061836-l9i3m6eet .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792072061836-l9i3m6eet.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072061836-l9i3m6eet .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn.disabled, #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792072061836-l9i3m6eet .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792072061836-l9i3m6eet .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792072061836-l9i3m6eet .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792072061836-l9i3m6eet .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792072061836-l9i3m6eet .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792072061836-l9i3m6eet.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792072061836-l9i3m6eet .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072061836-l9i3m6eet .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1792072061836-l9i3m6eet.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-expand-btn, #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-expand-btn:hover, #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-pie-container, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stacked-product, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-grouped-bar-product, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stacked-product, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-label, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-grouped-product-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-label, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-container, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-cluster, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-container, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-x-axis-wrapper, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-x-axis-label-space, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-x-axis-chart-space, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-benchmark-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-dropdown-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-carousel-nav-btn, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-chart-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-chart-subhead, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-header, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-wrapper, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-vs, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-container, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792072061836-l9i3m6eet .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet .fv-stacked-product, #fv-chart-1792072061836-l9i3m6eet .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label, #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-container, #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-logo, #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072061836-l9i3m6eet.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "DLSS 5 October Update",  "description": "Showing the difference between DLSS 5 off and on with the new October update model.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T13:47:41.836Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T13:47:41.836Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"DLSS 5 October Update","subhead":"Showing the difference between DLSS 5 off and on with the new October update model.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/LqVeF2F48rx5mPZi9c7gkd.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/UrCbuUPVrCVNgYvJParokd.jpg","label1":"DLSS 5 off","label2":"DLSS 5 Oct Update","showTitle":true,"showSubhead":true}},"slides":[]}</script><div id="fv-chart-1792072061836-l9i3m6eet" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">DLSS 5 October Update</h3><p class="fv-chart-subhead">Showing the difference between DLSS 5 off and on with the new October update model.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792072061836-l9i3m6eet-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Showing the difference between DLSS 5 off and on with the new October update model." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/UrCbuUPVrCVNgYvJParokd.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/UrCbuUPVrCVNgYvJParokd.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/LqVeF2F48rx5mPZi9c7gkd.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/LqVeF2F48rx5mPZi9c7gkd.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle fv-image-compare-handle-square"><img src="https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">DLSS 5 off</div><div class="fv-image-compare-label fv-image-compare-label-right">DLSS 5 Oct Update</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792072061836-l9i3m6eet', false); });      } else {        initialize('fv-chart-1792072061836-l9i3m6eet', false);      }    })();      </script></div><p>It's still quite a hit going from 200 fps down to 134 fps—a 33% drop in performance—but that's in line with what Nvidia has been suggesting would be the case with this updated model. And when you're still getting that sort of frame rate at 1440p on a relatively thin and light laptop (running an Arm CPU, too) then I'll admit I'm impressed with the technical achievements all round here.</p><p>Of course we are running all the Nvidia bells and whistly things here, so I've got 4x MFG enabled and DLSS Super Resolution running on Balanced mode, but I'd still say the motion looks grand on the small screen of this Asus ProArt P16 laptop. </p><p>Though it really didn't before I disabled VSync. That was enabled by default when I first booted the game, dragging performance down to 60 fps despite the 120 Hz refresh rate of the OLED panel. And, oh boy, the Frame Gen artifacting was nuts. That all went away once I disabled it and the frame rate shot up, but it sure wasn't pretty...</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792072210504-3yfg5ud2l *, #fv-chart-1792072210504-3yfg5ud2l *:before, #fv-chart-1792072210504-3yfg5ud2l *:after, #fv-chart-1792072210504-3yfg5ud2l-slideshow *, #fv-chart-1792072210504-3yfg5ud2l-slideshow *:before, #fv-chart-1792072210504-3yfg5ud2l-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792072210504-3yfg5ud2l, #fv-chart-1792072210504-3yfg5ud2l-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072210504-3yfg5ud2l { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792072210504-3yfg5ud2l .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn.disabled, #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792072210504-3yfg5ud2l .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792072210504-3yfg5ud2l .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792072210504-3yfg5ud2l .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792072210504-3yfg5ud2l.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792072210504-3yfg5ud2l .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-expand-btn, #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-expand-btn:hover, #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-pie-container, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stacked-product, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-grouped-bar-product, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stacked-product, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-label, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-grouped-product-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-label, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-container, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-cluster, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-container, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-x-axis-wrapper, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-x-axis-label-space, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-x-axis-chart-space, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-benchmark-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-dropdown-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-carousel-nav-btn, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-chart-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-chart-subhead, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-header, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-wrapper, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-vs, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-container, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792072210504-3yfg5ud2l .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-product, #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label, #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-container, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-logo, #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "DLSS 5 October Update",  "description": "Showing the difference between DLSS 5 off and on with the new October update model.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T13:50:10.504Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T13:50:10.505Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"DLSS 5 October Update","subhead":"Showing the difference between DLSS 5 off and on with the new October update model.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/t4LkeggvsB6fLkWpQjVRn6.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6.jpg","label1":"DLSS 5 off","label2":"DLSS 5 October update","showTitle":true,"showSubhead":true}},"slides":[]}</script><div id="fv-chart-1792072210504-3yfg5ud2l" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">DLSS 5 October Update</h3><p class="fv-chart-subhead">Showing the difference between DLSS 5 off and on with the new October update model.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792072210504-3yfg5ud2l-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Showing the difference between DLSS 5 off and on with the new October update model." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/t4LkeggvsB6fLkWpQjVRn6.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/t4LkeggvsB6fLkWpQjVRn6.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle fv-image-compare-handle-square"><img src="https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">DLSS 5 off</div><div class="fv-image-compare-label fv-image-compare-label-right">DLSS 5 October update</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792072210504-3yfg5ud2l', false); });      } else {        initialize('fv-chart-1792072210504-3yfg5ud2l', false);      }    })();      </script></div><p>But while this is <em>the </em>showpiece for DLSS Neural Rendering right now, NBA 2K27 is absolutely not the game that's going to show the tech off to its best. Sure, it has a lot of cutscenes, but for the most part you're watching the game from high above where the extra lighting pretties don't matter one jot. So really, why would you turn it on?</p><p>At least now, when it appears in new games—and when this updated model goes into the DLSS 5 modding tools—it's not going to have the same sort of performance hit that made it a struggle before. But there does need to be some sort of positive 'wow' moment for the feature. </p><p>Fingers crossed they can keep pushing the model further to bring that performance hit down even further, and fingers crossed some engaged devs get on board to make something impressive.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/i-jammed-nvidias-new-dlss-5-october-update-model-into-the-rtx-spark-and-its-25-percent-faster-at-1440p/</link>
                                                                            <description>
                            <![CDATA[ The performance hit you get from enabling DLSS Neural Rendering is now significantly lower, but NBA 2K27 is still not going to convince anyone. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Mo2nzfQdAHCEKaB5LLa7BL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 15:26:59 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6-1920-80.jpg">
                                                            <media:credit><![CDATA[2K]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[NBA 2K27 with DLSS 5]]></media:description>                                                            <media:text><![CDATA[NBA 2K27 with DLSS 5]]></media:text>
                                <media:title type="plain"><![CDATA[NBA 2K27 with DLSS 5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Pumpkin month is here and it has brought us bountiful PC tech, too. Along with the launch of the new <a href="https://www.pcgamer.com/hardware/gaming-laptops/nvidias-rtx-spark-makes-for-an-impressive-arm-based-gaming-laptop-but-not-one-id-recommend-you-buy-just-for-pc-gaming/" target="_blank">Nvidia RTX Spark</a> platform—bringing us all-Nvidia powered laptops and mini PCs for a pretty penny—we've also now got the latest update to DLSS 5, or DLSS Neural Rendering, or DLSS NR. I'm still not 100% sure how we should be referring to this, but I'm certainly not convinced by the whole '3D-guided Neural Rendering' moniker. </p><p>Whatever, <a href="https://www.pcgamer.com/hardware/graphics-cards/hogwarts-legacys-dlss-5-update-shows-devs-have-been-listening-to-pc-gamers-about-keeping-it-the-hell-away-from-game-characters/" target="_blank">we've got a new model to play with</a> in the one game that has been officially released with the tech inside it: NBA 2K27. And, almost definitely from now on in any of the <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-be-jammed-into-almost-any-game-now-so-ive-been-playing-fm26-with-neural-rendered-little-computer-people-because-thats-just-what-i-do/" target="_blank">myriad modding platforms</a> that have baked DLSS 5 into any game you could imagine, on any GPU architecture.</p><p>The new model is promising to be half as demanding of your hardware than the previous model—so a nominal 30% hit rather than 60%—and Nvidia says it has done this by refining the training data and reducing the model size itself down to around 118 million parameters, which makes it roughly 24% smaller. In terms of its impact on your GPU's VRAM, Nvidia gives the example of a reduction in VRAM usage at 4K of 20%.</p><h4 id="nba-2k27-running-on-the-nvidia-rtx-spark-with-the-dlss-5-oct-update">NBA 2K27 running on the Nvidia RTX Spark with the DLSS 5 Oct update</h4><iframe src="https://content.jwplatform.com/players/20lVbf0f.html" id="20lVbf0f" title="DLSS 5 Oct Update" width="1920" height="1080" frameborder="0" scrolling="auto" allowfullscreen></iframe><p>Which is all well and good for Nvidia's numbers, but what happens in the real world? I've got hold of a preview version of the .dll files, specifically created for the RTX Spark hardware I'm testing right now (probably so we couldn't drop the files onto a repo somewhere and have the new model leaked early), and have been playing around with NBA 2K27 once more on the Asus ProArt P16. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792071675869-i5h5x9bn7 *, #fv-chart-1792071675869-i5h5x9bn7 *:before, #fv-chart-1792071675869-i5h5x9bn7 *:after, #fv-chart-1792071675869-i5h5x9bn7-slideshow *, #fv-chart-1792071675869-i5h5x9bn7-slideshow *:before, #fv-chart-1792071675869-i5h5x9bn7-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792071675869-i5h5x9bn7, #fv-chart-1792071675869-i5h5x9bn7-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792071675869-i5h5x9bn7 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792071675869-i5h5x9bn7.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn.disabled, #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792071675869-i5h5x9bn7-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792071675869-i5h5x9bn7 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792071675869-i5h5x9bn7 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792071675869-i5h5x9bn7.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792071675869-i5h5x9bn7 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-pie-container, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stacked-product, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-grouped-bar-product, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stacked-product, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-label, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-grouped-product-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-label, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-container, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-cluster, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-container, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-x-axis-wrapper, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-x-axis-label-space, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-x-axis-chart-space, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-benchmark-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-dropdown-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-carousel-nav-btn, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-chart-title, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-chart-subhead, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-header, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-wrapper, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-vs, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select-container, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-versus-select, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792071675869-i5h5x9bn7.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792071675869-i5h5x9bn7 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row, #fv-chart-1792071675869-i5h5x9bn7 .fv-stacked-product, #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-label, #fv-chart-1792071675869-i5h5x9bn7 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-container, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-logo, #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792071675869-i5h5x9bn7 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792071675869-i5h5x9bn7.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "DLSS 5 October Update",  "description": "Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T13:41:15.870Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "DLSS 5 Off",    "DLSS 5 On (original)",    "DLSS On (Oct update)",    "NBA 2K27 (1080p High)",    "NBA 2K27 (1440p High)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "DLSS 5 Off – NBA 2K27 (1080p High)",      "value": 227,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS 5 On (original) – NBA 2K27 (1080p High)",      "value": 143,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS On (Oct update) – NBA 2K27 (1080p High)",      "value": 168,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS 5 Off – NBA 2K27 (1440p High)",      "value": 200,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS 5 On (original) – NBA 2K27 (1440p High)",      "value": 107,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "DLSS On (Oct update) – NBA 2K27 (1440p High)",      "value": 134,      "unitText": "Avg FPS"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T13:41:15.870Z","state":{"data":[{"productName":"DLSS 5 Off","attribute":"NBA 2K27 (1080p High)","value":227,"unit":"Avg FPS","multiValues":[{"value":227,"unit":"Avg FPS"},{"value":93,"unit":"1% Low FPS"},{"value":68,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS 5 Off","attribute":"NBA 2K27 (1440p High)","value":200,"unit":"Avg FPS","multiValues":[{"value":200,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"},{"value":76,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS 5 On (original)","attribute":"NBA 2K27 (1080p High)","value":143,"unit":"Avg FPS","multiValues":[{"value":143,"unit":"Avg FPS"},{"value":63,"unit":"1% Low FPS"},{"value":88,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS 5 On (original)","attribute":"NBA 2K27 (1440p High)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":47,"unit":"1% Low FPS"},{"value":117,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS On (Oct update)","attribute":"NBA 2K27 (1080p High)","value":168,"unit":"Avg FPS","multiValues":[{"value":168,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"},{"value":85,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"},{"productName":"DLSS On (Oct update)","attribute":"NBA 2K27 (1440p High)","value":134,"unit":"Avg FPS","multiValues":[{"value":134,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"},{"value":92,"unit":"PC Latency (ms)"}],"color":"","site":"PC Gamer"}],"products":["DLSS 5 Off","DLSS 5 On (original)","DLSS On (Oct update)"],"attributes":["NBA 2K27 (1080p High)","NBA 2K27 (1440p High)"],"selectedProducts":["DLSS 5 Off","DLSS 5 On (original)","DLSS On (Oct update)"],"selectedPrimaryProduct":"DLSS On (Oct update)","selectedAttributes":["NBA 2K27 (1080p High)","NBA 2K27 (1440p High)"],"productColors":[{"productName":"DLSS 5 Off","color":"#E33235"},{"productName":"DLSS 5 On (original)","color":"#FE9F58"},{"productName":"DLSS On (Oct update)","color":"#1CA9C4"}],"initialProductColors":[{"productName":"DLSS 5 Off","color":"#E33235"},{"productName":"DLSS 5 On (original)","color":"#FE9F58"},{"productName":"DLSS On (Oct update)","color":"#1CA9C4"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"DLSS 5 October Update","subhead":"Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792071675869-i5h5x9bn7" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">DLSS 5 October Update</h3><p class="fv-chart-subhead">Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">NBA 2K27 (1080p High)</option><option value="1">NBA 2K27 (1440p High)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792071675869-i5h5x9bn7-bar-NBA 2K27 (1080p High)" data-chart-type="Bar" data-title="NBA 2K27 (1080p High)" data-subhead="Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>PC Latency (ms)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 Off</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.66666666666667%; background-color: #E33235;" data-target-width="75.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">227</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31%; background-color: #FE9F58;" data-target-width="31" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">93</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.666666666666664%; background-color: #1CA9C4;" data-target-width="22.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 On (original)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.66666666666667%; background-color: #E33235;" data-target-width="47.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">143</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21%; background-color: #FE9F58;" data-target-width="21" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.333333333333332%; background-color: #1CA9C4;" data-target-width="29.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">88</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">DLSS On (Oct update)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.00000000000001%; background-color: #E33235;" data-target-width="56.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">168</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20.333333333333332%; background-color: #FE9F58;" data-target-width="20.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.333333333333332%; background-color: #1CA9C4;" data-target-width="28.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div></div></div><table class="sr-only"><caption>NBA 2K27 (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>DLSS 5 Off</td><td>227 Avg FPS, 93 1% Low FPS, 68 PC Latency (ms)</td></tr><tr><td>DLSS 5 On (original)</td><td>143 Avg FPS, 63 1% Low FPS, 88 PC Latency (ms)</td></tr><tr><td>DLSS On (Oct update)</td><td>168 Avg FPS, 61 1% Low FPS, 85 PC Latency (ms)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792071675869-i5h5x9bn7-bar-NBA 2K27 (1440p High)" data-chart-type="Bar" data-title="NBA 2K27 (1440p High)" data-subhead="Testing the new DLSS 5 model in NBA 2K27. Using DLSS Balanced and 4x Multi Frame Gen." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>PC Latency (ms)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 Off</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">200</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30.5%; background-color: #FE9F58;" data-target-width="30.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 38%; background-color: #1CA9C4;" data-target-width="38" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">DLSS 5 On (original)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.5%; background-color: #E33235;" data-target-width="53.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">107</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 23.5%; background-color: #FE9F58;" data-target-width="23.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.5%; background-color: #1CA9C4;" data-target-width="58.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">117</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">DLSS On (Oct update)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67%; background-color: #E33235;" data-target-width="67" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">134</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25.5%; background-color: #FE9F58;" data-target-width="25.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46%; background-color: #1CA9C4;" data-target-width="46" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92</span></div></div></div></div></div><table class="sr-only"><caption>NBA 2K27 (1440p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>DLSS 5 Off</td><td>200 Avg FPS, 61 1% Low FPS, 76 PC Latency (ms)</td></tr><tr><td>DLSS 5 On (original)</td><td>107 Avg FPS, 47 1% Low FPS, 117 PC Latency (ms)</td></tr><tr><td>DLSS On (Oct update)</td><td>134 Avg FPS, 51 1% Low FPS, 92 PC Latency (ms)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792071675869-i5h5x9bn7', false); });      } else {        initialize('fv-chart-1792071675869-i5h5x9bn7', false);      }    })();      </script></div><p>And the results are pretty impressive to be honest. First, that I can get this RTX Spark machine to run at over 200 fps anyways, but also that at 1080p it still sits around the 170 fps mark with DLSS 5 enabled. </p><p>Looking at the more intensive 1440p result, you can see what a <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-slash-performance-by-up-to-73-percent-on-an-rtx-5080-gaming-pc-in-nba-2k27-and-im-left-wondering-what-kind-of-mega-rig-youd-need-to-justify-the-hit/" target="_blank">massive hit the original model delivered</a> to the game when DLSS 5 and Neural Rendering were enabled. Going from a healthy 200 fps down to effectively half that is a brutal performance hit that no-one is going to be happy with.</p><p>Especially when, in all honesty, the extra lighting and tonal improvements are only really visible during the game's many cutscenes. When you're zoomed out, actually playing the game, then the extra fidelity doesn't really add a whole lot to the experience, as you can see in the video above. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792072061836-l9i3m6eet *, #fv-chart-1792072061836-l9i3m6eet *:before, #fv-chart-1792072061836-l9i3m6eet *:after, #fv-chart-1792072061836-l9i3m6eet-slideshow *, #fv-chart-1792072061836-l9i3m6eet-slideshow *:before, #fv-chart-1792072061836-l9i3m6eet-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792072061836-l9i3m6eet, #fv-chart-1792072061836-l9i3m6eet-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072061836-l9i3m6eet { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792072061836-l9i3m6eet .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792072061836-l9i3m6eet.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072061836-l9i3m6eet .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn.disabled, #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792072061836-l9i3m6eet-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792072061836-l9i3m6eet .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792072061836-l9i3m6eet .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792072061836-l9i3m6eet .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792072061836-l9i3m6eet .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792072061836-l9i3m6eet .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792072061836-l9i3m6eet.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792072061836-l9i3m6eet .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792072061836-l9i3m6eet .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072061836-l9i3m6eet .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1792072061836-l9i3m6eet.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-expand-btn, #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-expand-btn:hover, #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1792072061836-l9i3m6eet .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-pie-container, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stacked-product, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-grouped-bar-product, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stacked-product, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-label, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-grouped-product-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-label, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-container, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-cluster, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-container, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-x-axis-wrapper, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-x-axis-label-space, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-x-axis-chart-space, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-benchmark-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-dropdown-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-carousel-nav-btn, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-chart-title, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-chart-subhead, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-header, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-wrapper, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-vs, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select-container, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-versus-select, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072061836-l9i3m6eet.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792072061836-l9i3m6eet .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-row, #fv-chart-1792072061836-l9i3m6eet .fv-stacked-product, #fv-chart-1792072061836-l9i3m6eet .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-label, #fv-chart-1792072061836-l9i3m6eet .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-container, #fv-chart-1792072061836-l9i3m6eet .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072061836-l9i3m6eet .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072061836-l9i3m6eet .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072061836-l9i3m6eet .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-logo, #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072061836-l9i3m6eet .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072061836-l9i3m6eet .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072061836-l9i3m6eet .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072061836-l9i3m6eet.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "DLSS 5 October Update",  "description": "Showing the difference between DLSS 5 off and on with the new October update model.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T13:47:41.836Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T13:47:41.836Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"DLSS 5 October Update","subhead":"Showing the difference between DLSS 5 off and on with the new October update model.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/LqVeF2F48rx5mPZi9c7gkd.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/UrCbuUPVrCVNgYvJParokd.jpg","label1":"DLSS 5 off","label2":"DLSS 5 Oct Update","showTitle":true,"showSubhead":true}},"slides":[]}</script><div id="fv-chart-1792072061836-l9i3m6eet" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">DLSS 5 October Update</h3><p class="fv-chart-subhead">Showing the difference between DLSS 5 off and on with the new October update model.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792072061836-l9i3m6eet-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Showing the difference between DLSS 5 off and on with the new October update model." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/UrCbuUPVrCVNgYvJParokd.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/UrCbuUPVrCVNgYvJParokd.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/LqVeF2F48rx5mPZi9c7gkd.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/LqVeF2F48rx5mPZi9c7gkd.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle fv-image-compare-handle-square"><img src="https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">DLSS 5 off</div><div class="fv-image-compare-label fv-image-compare-label-right">DLSS 5 Oct Update</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792072061836-l9i3m6eet', false); });      } else {        initialize('fv-chart-1792072061836-l9i3m6eet', false);      }    })();      </script></div><p>It's still quite a hit going from 200 fps down to 134 fps—a 33% drop in performance—but that's in line with what Nvidia has been suggesting would be the case with this updated model. And when you're still getting that sort of frame rate at 1440p on a relatively thin and light laptop (running an Arm CPU, too) then I'll admit I'm impressed with the technical achievements all round here.</p><p>Of course we are running all the Nvidia bells and whistly things here, so I've got 4x MFG enabled and DLSS Super Resolution running on Balanced mode, but I'd still say the motion looks grand on the small screen of this Asus ProArt P16 laptop. </p><p>Though it really didn't before I disabled VSync. That was enabled by default when I first booted the game, dragging performance down to 60 fps despite the 120 Hz refresh rate of the OLED panel. And, oh boy, the Frame Gen artifacting was nuts. That all went away once I disabled it and the frame rate shot up, but it sure wasn't pretty...</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792072210504-3yfg5ud2l *, #fv-chart-1792072210504-3yfg5ud2l *:before, #fv-chart-1792072210504-3yfg5ud2l *:after, #fv-chart-1792072210504-3yfg5ud2l-slideshow *, #fv-chart-1792072210504-3yfg5ud2l-slideshow *:before, #fv-chart-1792072210504-3yfg5ud2l-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792072210504-3yfg5ud2l, #fv-chart-1792072210504-3yfg5ud2l-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072210504-3yfg5ud2l { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792072210504-3yfg5ud2l .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn.disabled, #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792072210504-3yfg5ud2l-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792072210504-3yfg5ud2l .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792072210504-3yfg5ud2l .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792072210504-3yfg5ud2l .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792072210504-3yfg5ud2l.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792072210504-3yfg5ud2l .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-expand-btn, #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-expand-btn:hover, #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-pie-container, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stacked-product, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-grouped-bar-product, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stacked-product, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-label, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-grouped-product-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-label, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-container, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-cluster, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-container, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-x-axis-wrapper, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-x-axis-label-space, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-x-axis-chart-space, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-benchmark-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-dropdown-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-carousel-nav-btn, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-chart-title, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-chart-subhead, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-header, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-wrapper, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-vs, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select-container, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-versus-select, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072210504-3yfg5ud2l.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792072210504-3yfg5ud2l .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row, #fv-chart-1792072210504-3yfg5ud2l .fv-stacked-product, #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-label, #fv-chart-1792072210504-3yfg5ud2l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-container, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-cluster { width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792072210504-3yfg5ud2l .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-label-space { display: none !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-logo, #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792072210504-3yfg5ud2l .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792072210504-3yfg5ud2l.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "DLSS 5 October Update",  "description": "Showing the difference between DLSS 5 off and on with the new October update model.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T13:50:10.504Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T13:50:10.505Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"DLSS 5 October Update","subhead":"Showing the difference between DLSS 5 off and on with the new October update model.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/t4LkeggvsB6fLkWpQjVRn6.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6.jpg","label1":"DLSS 5 off","label2":"DLSS 5 October update","showTitle":true,"showSubhead":true}},"slides":[]}</script><div id="fv-chart-1792072210504-3yfg5ud2l" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">DLSS 5 October Update</h3><p class="fv-chart-subhead">Showing the difference between DLSS 5 off and on with the new October update model.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792072210504-3yfg5ud2l-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Showing the difference between DLSS 5 off and on with the new October update model." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/9gFcHJrxmo3sAmPLHpcum6.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/t4LkeggvsB6fLkWpQjVRn6.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/t4LkeggvsB6fLkWpQjVRn6.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle fv-image-compare-handle-square"><img src="https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">DLSS 5 off</div><div class="fv-image-compare-label fv-image-compare-label-right">DLSS 5 October update</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792072210504-3yfg5ud2l', false); });      } else {        initialize('fv-chart-1792072210504-3yfg5ud2l', false);      }    })();      </script></div><p>But while this is <em>the </em>showpiece for DLSS Neural Rendering right now, NBA 2K27 is absolutely not the game that's going to show the tech off to its best. Sure, it has a lot of cutscenes, but for the most part you're watching the game from high above where the extra lighting pretties don't matter one jot. So really, why would you turn it on?</p><p>At least now, when it appears in new games—and when this updated model goes into the DLSS 5 modding tools—it's not going to have the same sort of performance hit that made it a struggle before. But there does need to be some sort of positive 'wow' moment for the feature. </p><p>Fingers crossed they can keep pushing the model further to bring that performance hit down even further, and fingers crossed some engaged devs get on board to make something impressive.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Where to find the Takashiro region Treasure Hunt in Forza Horizon 6 ]]></title>
                                                                                                <dc:content><![CDATA[ <figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1829px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Rkwimc8DZXMVcavYLLhBx5" name="forza-6-takashiro-treasure-hunt-1" alt="Forza Horizon 6 - Takashiro Treasure Hunt location" src="https://cdn.mos.cms.futurecdn.net/Rkwimc8DZXMVcavYLLhBx5-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1829" height="1029" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Rkwimc8DZXMVcavYLLhBx5-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Playground Games)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Key deets</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HDu7yeGoTdWjD7osXXyToD" name="forza-6-takashiro-treasure-hunt" caption="" alt="Forza 6 - Takashiro treasure hunt chest" src="https://cdn.mos.cms.futurecdn.net/HDu7yeGoTdWjD7osXXyToD-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Playground Games)</span></figcaption></figure><p class="fancy-box__body-text"><strong>🚘 </strong>The treasure chest is in east Takashiro at a rest area surrounded by pampas grass, southeast of Soni Circuit.</p></div></div><p>Autumn is here in <a href="https://www.pcgamer.com/forza-horizon-6/" target="_blank">Forza Horizon 6</a>'s Horizon Meets series and that means a new Treasure Hunt to track down for some season points. These points will let you earn the new seasonal cars  that are currently on offer.</p><p>This week's chest is in the east of the Takashiro region, at a rest area surrounded by long pampas grass southeast of Soni Circuit, pictured on the map above. To reach this chest, you need to:</p><ol start="1"><li>When passing the entrance to Soni Circuit going west to east, turn right down the winding road.</li><li>Take a left down the road into the fields of long pampas grass.</li><li>Keep an eye out for the rest area on your left side close to the pool on the map.</li></ol><p>You could also look for the brown spot on the map with the pond in east Takashiro (which marks the long grass) to find it. </p><p>Smash the chest to get 100,000 credits, 5,000 XP, and three Season Progress. Also make sure to complete the new photo challenge, too, if you're looking for extra points.</p><div class="product"><a data-dimension112="8bde2438-c887-11f1-92e4-c9568a80646c" data-action="Deal Block" data-label="Forza Horizon 6 car list" data-dimension48="Forza Horizon 6 car list" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XGqaMWAZJwWt5niuFeWgNB" name="forza horizon 6 boxout" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XGqaMWAZJwWt5niuFeWgNB-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-car-list/" target="_blank" data-dimension112="8bde2438-c887-11f1-92e4-c9568a80646c" data-action="Deal Block" data-label="Forza Horizon 6 car list" data-dimension48="Forza Horizon 6 car list" data-dimension25=""><strong>Forza Horizon 6 car list</strong></a>: All the rides you can collect.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-best-cars" target="_blank"><strong>Forza Horizon 6 best cars</strong></a>: What to buy and tune.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-treasure-car-locations/" target="_blank"><strong>Forza Horizon 6 Treasure Cars</strong></a>: Skip the clues.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-barn-finds/" target="_blank"><strong>Forza Horizon 6 Barn Finds</strong></a>: Track down these relics.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-review/" target="_blank"><strong>Forza Horizon 6 review</strong></a>: What we think.</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/racing/forza-horizon-6-treasure-hunt-takashiro-region-location/</link>
                                                                            <description>
                            <![CDATA[ Track this chest to a field of long grass. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7uEHnyUG22fSAF5DHocjtS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HDu7yeGoTdWjD7osXXyToD-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 14:33:44 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 14:35:33 +0000</updated>
                                                                                                                                            <category><![CDATA[Racing]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sean Martin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rw7hUY3Y2mxZJtwx3ePdwF-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/HDu7yeGoTdWjD7osXXyToD-1920-80.jpg">
                                                            <media:credit><![CDATA[Playground Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Forza 6 - Takashiro treasure hunt chest]]></media:description>                                                            <media:text><![CDATA[Forza 6 - Takashiro treasure hunt chest]]></media:text>
                                <media:title type="plain"><![CDATA[Forza 6 - Takashiro treasure hunt chest]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HDu7yeGoTdWjD7osXXyToD-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1829px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Rkwimc8DZXMVcavYLLhBx5" name="forza-6-takashiro-treasure-hunt-1" alt="Forza Horizon 6 - Takashiro Treasure Hunt location" src="https://cdn.mos.cms.futurecdn.net/Rkwimc8DZXMVcavYLLhBx5-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1829" height="1029" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Rkwimc8DZXMVcavYLLhBx5-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Playground Games)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Key deets</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HDu7yeGoTdWjD7osXXyToD" name="forza-6-takashiro-treasure-hunt" caption="" alt="Forza 6 - Takashiro treasure hunt chest" src="https://cdn.mos.cms.futurecdn.net/HDu7yeGoTdWjD7osXXyToD-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Playground Games)</span></figcaption></figure><p class="fancy-box__body-text"><strong>🚘 </strong>The treasure chest is in east Takashiro at a rest area surrounded by pampas grass, southeast of Soni Circuit.</p></div></div><p>Autumn is here in <a href="https://www.pcgamer.com/forza-horizon-6/" target="_blank">Forza Horizon 6</a>'s Horizon Meets series and that means a new Treasure Hunt to track down for some season points. These points will let you earn the new seasonal cars  that are currently on offer.</p><p>This week's chest is in the east of the Takashiro region, at a rest area surrounded by long pampas grass southeast of Soni Circuit, pictured on the map above. To reach this chest, you need to:</p><ol start="1"><li>When passing the entrance to Soni Circuit going west to east, turn right down the winding road.</li><li>Take a left down the road into the fields of long pampas grass.</li><li>Keep an eye out for the rest area on your left side close to the pool on the map.</li></ol><p>You could also look for the brown spot on the map with the pond in east Takashiro (which marks the long grass) to find it. </p><p>Smash the chest to get 100,000 credits, 5,000 XP, and three Season Progress. Also make sure to complete the new photo challenge, too, if you're looking for extra points.</p><div class="product"><a data-dimension112="8bde2438-c887-11f1-92e4-c9568a80646c" data-action="Deal Block" data-label="Forza Horizon 6 car list" data-dimension48="Forza Horizon 6 car list" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XGqaMWAZJwWt5niuFeWgNB" name="forza horizon 6 boxout" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XGqaMWAZJwWt5niuFeWgNB-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-car-list/" target="_blank" data-dimension112="8bde2438-c887-11f1-92e4-c9568a80646c" data-action="Deal Block" data-label="Forza Horizon 6 car list" data-dimension48="Forza Horizon 6 car list" data-dimension25=""><strong>Forza Horizon 6 car list</strong></a>: All the rides you can collect.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-best-cars" target="_blank"><strong>Forza Horizon 6 best cars</strong></a>: What to buy and tune.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-treasure-car-locations/" target="_blank"><strong>Forza Horizon 6 Treasure Cars</strong></a>: Skip the clues.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-barn-finds/" target="_blank"><strong>Forza Horizon 6 Barn Finds</strong></a>: Track down these relics.<br><a href="https://www.pcgamer.com/games/racing/forza-horizon-6-review/" target="_blank"><strong>Forza Horizon 6 review</strong></a>: What we think.</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Finally: Our favorite roguelike for sickos will let me play as a sapient tree ]]></title>
                                                                                                <dc:content><![CDATA[ <p>What do you add to the game that has everything? We named Caves of Qud the <a href="https://www.pcgamer.com/games/roguelike/best-roguelike-2024-caves-of-qud/" target="_blank">best roguelike of 2024</a> due in part to its sheer density of simulated, deep-future, science-fantasy <em>stuff: </em>You can begin a playthrough as a fairly normal guy, and by the end of your run could be playing a clone of yourself who later became a psionic four-armed turtle man wielding a gun that uses blood for ammo and fires vacuum pulses that <em>eat life.</em></p><p>With a tapestry of potential interactions already so profoundly, magnificently weird, what could Caves of Qud possibly be adding in Diaspora, an expansion that will be entering early access in December? Well, playable trees is a good start.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/L3hDMe8B3Vk" allowfullscreen></iframe></div></div><p>According to publisher Kitfox, Diaspora "includes several new feature arcs centered around the influx of riotous life and culture into marsh-moated ruins of Qud." Chief among them is the ability to start a playthrough as a mutated animal or plant. Those among you with Qud experience might be thinking, <em>'Aren't there already animal- and plant-themed mutations?'</em></p><p>And there are. But where before you could begin as a human and mutate into beast-shape or plant-form, now—in a sort of beautiful symmetry—you can begin as a tree <em>and mutate into a man. </em>Or, you know, a progressively weirder tree. A tree with wings. And a scorpion tail, maybe. Who can say?</p><p>Alongside the new mutant animal and plant stocks—and an accompanying expansion to the catalog of potential player mutations—Diaspora's early access launch will also seed new creatures and artifacts throughout Qud. These will surely bring with them their own new and exciting forms of existential peril. The camelfolk trade caravans are getting some love, too—and their saltback tortoise steeds will, for the first time, be mountable.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/3Mk2UdQswavb3eequYFjgd-1920-80.png" alt="A sapient tree cooks a meal while adventuring in Caves of Qud: Diaspora." /><figcaption><small role="credit">Kitfox Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/h3yLfqxSBqCnrE28iYiDn3-1920-80.png" alt="A bear tinkerer approaches a dromad trade caravan in Caves of Qud: Diaspora." /><figcaption><small role="credit">Kitfox Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gfLrVw3VLZUs5ufvFhwnsB-1920-80.png" alt="The character creation screen in Caves of Qud: Diaspora, showing the selection of potential base animal stocks that can be chosen while customizing a mutated animal character." /><figcaption><small role="credit">Kitfox Games</small></figcaption></figure></figure><p>As it's an early access launch, those are just the initial offerings. Throughout the course of its continuing development—expected to last "on the order of one year"—Qud's creators plan on adding a new multi-step questline, new factions and underground villages, "roaming, seasonal mega-caravans," more items, creatures, mutant stocks, and (take a deep breath) <em>new fungal infections.</em></p><p>If that last bit doesn't sound exciting to you, you've clearly never enjoyed hosting <a href="https://wiki.cavesofqud.com/wiki/Mumble_mouth" target="_blank">a sentient skin infection of tiny mouths</a> which occasionally "harmonizes into sensible speech" to reveal a secret about the in-game world. You can see why I'm excited, right? Hello?</p><p>Caves of Qud: Diaspora launches in early access on Steam on December 9.</p><div class="product"><a data-dimension112="402023b6-c710-11f1-96d4-5796961d3849" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="402023b6-c710-11f1-96d4-5796961d3849" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/roguelike/finally-our-favorite-roguelike-for-sickos-will-let-me-play-as-a-sapient-tree/</link>
                                                                            <description>
                            <![CDATA[ Diaspora, Caves of Qud's first expansion, enters early access in December. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">TophoSbgnbN7PyobvZAURD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/td7D8ntMUxQc2U8exs4rNX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 14:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 16:59:42 +0000</updated>
                                                                                                                                            <category><![CDATA[Roguelike]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ lincoln.carpenter@futurenet.com (Lincoln Carpenter) ]]></author>                    <dc:creator><![CDATA[ Lincoln Carpenter ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/FPyrdqJC7WX382U9Ubt8Ee-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/td7D8ntMUxQc2U8exs4rNX-1920-80.jpg">
                                                            <media:credit><![CDATA[Kitfox Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Caves of Qud character creation genotype selection screen, showing Mutated Animal and Mutated Plant stocks added by the Diaspora expansion.]]></media:description>                                                            <media:text><![CDATA[The Caves of Qud character creation genotype selection screen, showing Mutated Animal and Mutated Plant stocks added by the Diaspora expansion.]]></media:text>
                                <media:title type="plain"><![CDATA[The Caves of Qud character creation genotype selection screen, showing Mutated Animal and Mutated Plant stocks added by the Diaspora expansion.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/td7D8ntMUxQc2U8exs4rNX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>What do you add to the game that has everything? We named Caves of Qud the <a href="https://www.pcgamer.com/games/roguelike/best-roguelike-2024-caves-of-qud/" target="_blank">best roguelike of 2024</a> due in part to its sheer density of simulated, deep-future, science-fantasy <em>stuff: </em>You can begin a playthrough as a fairly normal guy, and by the end of your run could be playing a clone of yourself who later became a psionic four-armed turtle man wielding a gun that uses blood for ammo and fires vacuum pulses that <em>eat life.</em></p><p>With a tapestry of potential interactions already so profoundly, magnificently weird, what could Caves of Qud possibly be adding in Diaspora, an expansion that will be entering early access in December? Well, playable trees is a good start.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/L3hDMe8B3Vk" allowfullscreen></iframe></div></div><p>According to publisher Kitfox, Diaspora "includes several new feature arcs centered around the influx of riotous life and culture into marsh-moated ruins of Qud." Chief among them is the ability to start a playthrough as a mutated animal or plant. Those among you with Qud experience might be thinking, <em>'Aren't there already animal- and plant-themed mutations?'</em></p><p>And there are. But where before you could begin as a human and mutate into beast-shape or plant-form, now—in a sort of beautiful symmetry—you can begin as a tree <em>and mutate into a man. </em>Or, you know, a progressively weirder tree. A tree with wings. And a scorpion tail, maybe. Who can say?</p><p>Alongside the new mutant animal and plant stocks—and an accompanying expansion to the catalog of potential player mutations—Diaspora's early access launch will also seed new creatures and artifacts throughout Qud. These will surely bring with them their own new and exciting forms of existential peril. The camelfolk trade caravans are getting some love, too—and their saltback tortoise steeds will, for the first time, be mountable.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/3Mk2UdQswavb3eequYFjgd-1920-80.png" alt="A sapient tree cooks a meal while adventuring in Caves of Qud: Diaspora." /><figcaption><small role="credit">Kitfox Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/h3yLfqxSBqCnrE28iYiDn3-1920-80.png" alt="A bear tinkerer approaches a dromad trade caravan in Caves of Qud: Diaspora." /><figcaption><small role="credit">Kitfox Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gfLrVw3VLZUs5ufvFhwnsB-1920-80.png" alt="The character creation screen in Caves of Qud: Diaspora, showing the selection of potential base animal stocks that can be chosen while customizing a mutated animal character." /><figcaption><small role="credit">Kitfox Games</small></figcaption></figure></figure><p>As it's an early access launch, those are just the initial offerings. Throughout the course of its continuing development—expected to last "on the order of one year"—Qud's creators plan on adding a new multi-step questline, new factions and underground villages, "roaming, seasonal mega-caravans," more items, creatures, mutant stocks, and (take a deep breath) <em>new fungal infections.</em></p><p>If that last bit doesn't sound exciting to you, you've clearly never enjoyed hosting <a href="https://wiki.cavesofqud.com/wiki/Mumble_mouth" target="_blank">a sentient skin infection of tiny mouths</a> which occasionally "harmonizes into sensible speech" to reveal a secret about the in-game world. You can see why I'm excited, right? Hello?</p><p>Caves of Qud: Diaspora launches in early access on Steam on December 9.</p><div class="product"><a data-dimension112="402023b6-c710-11f1-96d4-5796961d3849" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="402023b6-c710-11f1-96d4-5796961d3849" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Razer Wolverine V4 Pro wireless gaming controller review ]]></title>
                                                                                                <dc:content><![CDATA[ <div data-widget-type="review" data-model-name="Razer Wolverine V4 Pro" data-widget-title=""></div><p>I use my <a href="https://www.pcgamer.com/hardware/controllers/razer-wolverine-v3-pro-review/" target="_blank">Razer Wolverine V3 Pro</a> several times a week. It's become my go-to wireless controller (among many different options on my shelves), thanks to its shape, stickfeel, and build quality. It's plenty quick to react, it's got excellent triggers and face buttons, and is one of my favourite bits of gaming gear. Ever, in fact.<br><br>Then came the <a href="https://www.pcgamer.com/hardware/controllers/razer-wolverine-v3-pro-8k-pc-review/" target="_blank">Wolverine V3 Pro 8K</a>, and I wasn't too fussed. Sure, 8K polling is a nice thing to have, but it wasn't enough to sway me towards spending $200 on another controller. Now, however, I have a Wolverine V4 Pro review sample in my hands, and I have to admit—I'm sorely tempted to upgrade.<br><br>Razer hasn't messed with the core recipe that made the V3 Pro great. It's still got the same comfortable chassis shape, fantastic heavyweight, dual-action triggers, and all the right controls in all the right places. What it has done, though, is upgrade the hardware underneath, while adding a heavy sprinkle of customisation options that improve the experience considerably.<br><br>I thought I wouldn't get on with the slightly lighter stickfeel compared to the previous model, but I was wrong. It's still got a highly-controllable resistance, now combined with superb snap-motion accuracy from the new contactless sensors. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hfsDc5R8AbyahT8jvdtMY7" name="RazerWolverineV4Profronton" alt="A Razer Wolverine V4 Pro gaming controller shot from above on a desk, below a gaming keyboard" src="https://cdn.mos.cms.futurecdn.net/hfsDc5R8AbyahT8jvdtMY7-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It feels sharper, without losing its smooth, slightly weighty movement. The battery life has been upped to a maximum of 27 hours. You can pull off the rear buttons and block the holes off with flush-fit magnetic plates. <em>And </em>you get 8K polling support, complete with wrist-shaking haptic rumble. Individually, these might seem like small changes. Together, they make one of the best controllers I've ever used… well, even better.<br><br>We do need to talk about the price. <a href="https://www.razer.com/console-controllers/razer-wolverine-v4-pro" target="_blank">$200</a>/<a href="https://www.razer.com/gb-en/console-controllers/razer-wolverine-v4-pro" target="_blank">£200</a> is an awful lot to ask for a gaming controller, especially when there are so many good options on the market for fractions of that sum. But the Wolverine V4 Pro has a kitchen sink-worthy list of features, all of which combine to create a brilliant gaming device—even if your bank account may disagree.</p><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy if...</h3><div class="card__description-wrapper"><div class="card__description"><p>✅ <strong>You want the tippety-top of controller tech: </strong>You name it, the Razer Wolverine V4 Pro probably has it. Other than TMR or Hall effect sticks, which have been replaced with Razer's new (and rather excellent) capacitive sensor tech.<br><br>✅ <strong>You want modular customisation that works:</strong> I've used enough modular gear to know it can sometimes feel a bit… half baked. Not so here, where everything clunks and clicks together seamlessly.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy if</h3><div class="card__description-wrapper"><div class="card__description"><p>❌ <strong>You're on a budget: </strong>There are plenty of excellent gaming controllers out there for much less money than the Wolverine V4 Pro.<br><br>❌ <strong>You won't use the extras: </strong>If the customisation features, 8K polling, and all the rest leave you cold, the Wolverine V4 Pro may be overkill.</p></div></div></div></div><h2 class="article-body__section" id="section-razer-wolverine-v4-pro-features"><span>Razer Wolverine V4 Pro features</span></h2><div ><table><caption>Razer Wolverine V4 Pro specs</caption><tbody><tr><td class="firstcol " ><p><strong>Layout</strong></p></td><td  ><p>Asymmetric</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>Windows 10/11, Xbox Series X/S</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>2.4 GHz w/included dongle, wired</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>USB Type-C</p></td></tr><tr><td class="firstcol " ><p><strong>Thumbsticks</strong></p></td><td  ><p>High-resolution capacitive sensors, swappable caps</p></td></tr><tr><td class="firstcol " ><p><strong>Polling rate</strong></p></td><td  ><p>Up to 8,000 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>Up to 26 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>305 g</p></td></tr><tr><td class="firstcol " ><p><strong>Extras</strong></p></td><td  ><p>Adjustable triggers, removable magnetic rear buttons, faceplate, and bumpers, mecha-tactile action buttons, magnetic blocking plates </p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.razer.com/console-controllers/razer-wolverine-v4-pro" target="_blank">$200</a>/<a href="https://www.razer.com/gb-en/console-controllers/razer-wolverine-v4-pro" target="_blank">£200</a></p></td></tr></tbody></table></div><p>Take a deep breath, because there's a whole lot to go through here. At its core, the Razer Wolverine V4 Pro is an asymmetrical, Xbox-style controller with 2.4 GHz wireless and USB Type-C wired connectivity, alongside a maximum 8K polling rate over both wireless and wired connections. Razer says the Wolverine V4 Pro achieves sub-1 ms response times, thanks in part to the speedy polling.</p><p>Beyond the usual controls, there are also two extra configurable buttons between the bumpers and the triggers on the top side, alongside four extra "mouse click" paddle buttons on the underside. The triggers can also be locked with two toggle switches on the back, which means they can be switched between a full-throw action and a precise click on the fly. </p><p>On the front, you get a set of PBT face buttons with clicky, mecha-tactile switches underneath, which have a slightly shorter action than those found on the bog-standard V3 Pro. Diagonally opposite sits a very clicky D-pad.</p><p>Then there are the new thumbsticks. These feel slightly lighter and snappier than the V3 Pro's versions, although they still have a touch of weight to the action. Razer has imbued these sticks with what it calls "next-generation" capacitive sensors, which represent "<a href="https://www.razer.com/newsroom/product-news/wolverine-v4-line?srsltid=AU7gw4XLS0bwYSpO-8Yrtf7NoWo6U3cYGcfz6DvSJWhxFvbrZfABTPYW#:~:text=The%20Pinnacle%20of%20Precision" target="_blank">the next step in contactless sensor design</a>."</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Z3o4dZiNFTgVXL9cVqn2F5-1920-80.jpg" alt="A Razer Wolverine V4 Pro gaming controller in close up" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Zb4iGAFbYt2iqwSDmzq7M5-1920-80.jpg" alt="A Razer Wolverine V4 Pro gaming controller in close up" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wSxgboWkURcVH5bHr32FL5-1920-80.jpg" alt="A Razer Wolverine V4 Pro gaming controller in close up" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>According to the company, these sensors offer superior resolution and are more resistant to magnetic interference when compared to the TMR and Hall effect models found in other high-spec controllers, while still avoiding stick drift. When paired with the 16-bit ADC chip inside, the new tracking results in around 3,000 steps of movement tracking per sensor.</p><p>Still with me? Good, because I haven't got to the customisation options yet. The front faceplate of the V4 Pro is now magnetic, and can be removed by wedging your fingernails underneath a hidden groove on the topside and giving it a sharp pull. Razer says more faceplate options are coming soon—so prepare yourself for the inevitable Minecraft tie-in, I guess.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VobnXVYmn9aUj3wNcu4dfC" name="20261012_150543" alt="A Razer Wolverine V4 Pro, disassembled, with the magnetic faceplate removed and the extra thumbsticks and paddle button covers alongside" src="https://cdn.mos.cms.futurecdn.net/VobnXVYmn9aUj3wNcu4dfC-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>You also get six interchangeable thumbstick caps to choose from. By default, it comes with your standard short concave models installed, but there are also a pair of taller versions, and a pair of convex replacements for weirdos. I mean, those who prefer a totally different thumbstick experience. </p><p>The rear paddle buttons are also removable, and the holes can be filled in with magnetic-locking plates that fit flush with the frame. All of these magnetic additions explain the switch to interference-resistant capacitive thumbstick sensors, that's for sure. You can also switch between software profiles on the fly with an assigned button combo. Phew.</p><p>What's left? Oh yes, the battery life. Razer reckons you'll get a maximum of 27 hours out of the V4 Pro, a seven-hour improvement over the old model. That depends on polling rate and haptic settings, though. Charging from empty to full is quoted at three hours via the USB Type-C connection.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6bSWqozfzpCJP49LpTPvMN" name="20261012_145845" alt="The topside controls of the Razer Wolverine V4 Pro, either side of the protruding USB Type-C port" src="https://cdn.mos.cms.futurecdn.net/6bSWqozfzpCJP49LpTPvMN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The last change is a pronounced lip around the USB Type-C port on the rear. This is to prevent a flexed cable from damaging the port over time, although my old V3 Pro sits on charge regularly and has never had an issue. The raised section is a bit…  over-pronounced, if you ask me. The lip stands out on what is otherwise a seamless design. Still, I appreciate the concession towards durability, if nothing else.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-ergonomics"><span>Razer Wolverine V4 Pro ergonomics</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="45Tb2k7yd2tkU6v8Y8xV5a" name="20261012_150022" alt="A Razer Wolverine V4 Pro nestled within the embrace of a Razer Wolverine V3 Pro. Aww." src="https://cdn.mos.cms.futurecdn.net/45Tb2k7yd2tkU6v8Y8xV5a-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I've been holding the V4 Pro up against my V3 model for some time now, and it looks (and feels) like exactly the same chassis shape to me. This is a very good thing. If I look <em>ever so closely, </em>I would say the textured grip on the rear of the V4 Pro is slightly finer, although this could be down to wear on my older version.</p><p>It's the differing textures underneath the various controls that stand out, though. The triggers still have a weighty resistance to them, with a deliciously smooth action. The main bumpers click with precision, whereas the taller macro buttons underneath them have a longer, "snippier" sort of click. You won't mix them up easily while staring at a screen, I've found.</p><p>The matte-finish PBT used on face buttons is plenty grippy under the fingertips, and while the switches underneath feel roughly the same, there does seem to be a slightly faster action when placing them side-by-side with my V3 Pro. Again, that could be down to wear on my used model, but there's definitely an improvement under my right thumb here that I appreciate.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Be9GTUyNqYDKiJEwsPk3Pk" name="20261012_150051" alt="The face controls of the Razer Wolverine V4 Pro, with the Razer Wolverine V3 Pro in the background" src="https://cdn.mos.cms.futurecdn.net/Be9GTUyNqYDKiJEwsPk3Pk-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>And as for the snappier thumbsticks, I didn't think they were much of an improvement when I tried them out in a Gamescom booth earlier this year. However, having now spent some quality time with them, the lighter stick resistance really does make a difference to my aiming speed. There's still a little bit of aim-steadying pushback, alongside a quicker snap back to center.</p><p>Speaking of the sticks, I can't help but be impressed by the robustness of the V4 Pro's customisation system. The thumbsticks themselves can be pulled off with a reasonable amount of force, and pressed back on firmly without incident. The faceplate is similarly secure, but it's still easy enough to remove once you know where to put your fingernail. </p><p>You don't have to remove the faceplate to replace the sticks, but I thought I'd try both together to see if I could disassemble the front of the controller with one hand:</p><iframe src="https://content.jwplatform.com/players/eYXfZ9Hq.html" id="eYXfZ9Hq" title="Razer Wolverine V4 Pro Disassembly" width="1920" height="1080" frameborder="0" scrolling="auto" allowfullscreen></iframe><p>And yes, I can. But the biggest boon to customisation happens round the back, where any (or all) of the rear paddle buttons can be removed and replaced with magnetic-locking plates. These snap into place to create a remarkably flush fit, which makes the plates practically disappear underneath my fingers. </p><p>I've got used to resting my ring and pinky digits on the rear paddles of my V3, but if you're not using them all the time, they can feel a little obstructive. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="huyS6MzLNPHQX4QpsG9jD7" name="20261012_150720" alt="The rear of the Razer Wolverine V4 Pro, with half the rear paddle buttons blocked off" src="https://cdn.mos.cms.futurecdn.net/huyS6MzLNPHQX4QpsG9jD7-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>No such worries here. Block them all off individually, or keep one or two around for specific tasks if you so wish. </p><p>Despite all these modular features, the V4 Pro feels like a rock solid, totally finished product. There are no rattles, no rough edges, no fiddly bits of cheap plastic. It might be expensive, but this controller really does feel like you've bought a ticket to the executive lounge.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-performance"><span>Razer Wolverine V4 Pro performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nxYY9vgF7AMsqJd2prpDGF" name="20261012_145735" alt="Close ups of the various controls on the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/nxYY9vgF7AMsqJd2prpDGF-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>To test the Wolverine V4 Pro, I booted up three controller-favouring games from my Steam library: <a href="https://www.pcgamer.com/elden-ring-review/" target="_blank">Elden Ring</a>, <a href="https://www.pcgamer.com/games/action/crimson-desert-review/" target="_blank">Crimson Desert</a>, and <a href="https://www.pcgamer.com/games/action/control-resonant-review/" target="_blank">Control Resonant</a>. I have many hours in each, much of which has been spent with either the V3 Pro, or the standard Xbox Wireless controller. I also had a knock around in Apex Legends to test its shooter capabilities.</p><p>And to my genuine surprise, I could feel the difference immediately. Control Resonant in particular, a game with much target switching and button juggling, actually feels a touch easier with the new Wolverine. The snappier thumbsticks make a real difference to fast direction changes, and while I'm no expert judge of 8K polling and sub-1ms latency times, the V4 Pro definitely feels quicker to respond. </p><p>The haptic responses are also super-powerful. So much so, I think most people will probably turn them down—but vibration fans are in for a buzz. Turning this controller on for the first time actually made me jump, as it jiggled my desk with such force.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/QtJREuc3vnYoRm5qiLAcBF-1920-80.jpg" alt="Close ups of the various controls on the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KyictqMtbJpRJRwS3GQAGF-1920-80.jpg" alt="Close ups of the various controls on the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The face buttons are quick to press and slightly more positive, too, which adds to the feeling of snappy responsiveness. And I really enjoy the heavyweight triggers, which make firing an arrow in Crimson Desert feel more purposeful than most. My Elden Ring performance has also felt the benefit, although I still suck at it overall. No fancy controller is going to change that. </p><p>And while I'd personally never pick a controller over keyboard and mouse controls in a shooter, the Wolverine V4 Pro is plenty responsive in Apex Legends, too. If I had to use my thumbs for precision shooting? I'll take one of these, please. It's better than any other controller I've tried for speedy first-person aiming, put it that way.</p><p>There's a feeling of extra precision to the Wolverine V4 Pro that I didn't realise the previous version lacked. It's subtle, but very much there. One feels like a luxury item with a touch of padding, while the other is sharper, lighter under the fingertips, and slightly more eager. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GRJt4996uXfaA2PD4oQ9Xe-1920-80.jpg" alt="The right thumbstick of the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NrL3ynTePrYKRAVcaqxLVX-1920-80.jpg" alt="The Razer Wolverine V4 Pro with its front magnetic faceplate removed" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ccyULpCAncrqfhceLxpXzN-1920-80.jpg" alt="The blocked off rear paddles of the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Plus, being able to individually remove the rear paddles (I quite like dropping them down to two, ring fingers only) makes for a more comfortable gaming experience.</p><p>I'd expected to forget about the internal upgrades once my brain was focussed on a game, but I was wrong. It's easy to tell that improvements have been made. And switching back to a standard Xbox Wireless controller afterwards definitely feels like a major downgrade. Still, you can pick one up for around a quarter of the price—so I can't knock it too badly.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-aesthetics"><span>Razer Wolverine V4 Pro aesthetics</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SudqnEfbiuiGyJHiFR2KBm" name="20261015_112024" alt="A close-up of the now RGB-less Razer text on the front of the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/SudqnEfbiuiGyJHiFR2KBm-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Razer has ditched the RGB-lit lettering on the front of the new Wolverine, but I doubt many will miss it. I've turned mine off on the older model, as while it looks good in photos, it can be a touch distracting. Instead, what you get here is a stealthed out, grown-up-looking device.</p><p>Not very Razer, is it? Still, I'm definitely a fan of the all-black aesthetic. The matte finish on the PBT face buttons doesn't just feel good, but looks the part, too. I suppose it's not the best controller for beginners, or those who still hunt for the Y button in a panic during a QTE event. There are no multi-coloured buttons or white letters to help you out here. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7HTY8goP4SZEGQWCTdFtS4" name="20261015_112109" alt="The stick-out USB Type-C port on the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/7HTY8goP4SZEGQWCTdFtS4-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>My major bugbear, though, is the protruding USB Type-C cable port, which sticks out more than I'd like and makes for an ugly blemish on what is otherwise a very refined design. At least it's round the back, ey?</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-software"><span>Razer Wolverine V4 Pro software</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:54.38%;"><img id="QFrbJzv6zjVdbGa7haMkY8" name="Screenshot 2026-10-15 123843" alt="A screenshot of the Razer Synapse settings menu for the Razer Wolverine V4 Pro gaming controller" src="https://cdn.mos.cms.futurecdn.net/QFrbJzv6zjVdbGa7haMkY8-1920-80.png" mos="" align="middle" fullscreen="1" width="2560" height="1392" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/QFrbJzv6zjVdbGa7haMkY8-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Razer)</span></figcaption></figure><p>The Wolverine V4 Pro is configured via Razer Synapse, which will be a benefit for those of you with Razer devices already—and perhaps a downside for those who don't. Still, Synapse is very workable<em> </em>these days, and the menu system for this particular controller is pretty straightforward.</p><p>Alongside the profile switching options at the top (which can also be cycled using on-controller button combos) there are five main tabs: Customize, Triggers, Thumbsticks, Power, and Calibration. The first gives you the most useful settings, these being polling rate, haptic intensity, and communication switching modes, alongside button configurations. </p><p>There are also options for the SOCD feature, which allow you to configure what happens when you press and hold two opposite directions at once.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8sNdx44D5Mcf8gGNhYTjuQ-1920-80.jpg" alt="The Synapse settings of the Razer Wolverine V4 Pro gaming controller, showing trigger adjustments" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vE5jgLrEYuPosdpMTjvH2a-1920-80.png" alt="The power settings (yes they're in that otherwise-blank page if you squint) of the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Razer</small></figcaption></figure></figure><p>You can adjust the trigger ranges in the second tab, and fiddle with the sensitivity and dead zones of the thumbsticks in the third. Honestly, I feel like a lot of these options could be boiled down to a single page, but at least it's not a labyrinth of poorly worded menus like some others I could name.</p><p>A case in point is the fourth tab, Power, which has exactly one thing you can adjust—the length of time the controller stays on when inactive. And the fifth tab handles individual control calibration, which I guess is worthy of its own section. Overall, though, the software is perfectly acceptable. Better than most, even.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro"><span>Razer Wolverine V4 Pro</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XqCjxe7Qc8Tzvb5Ee7EC9U" name="20261015_114344" alt="A Razer Wolverine V4 Pro connected to a charging cable, on a desk" src="https://cdn.mos.cms.futurecdn.net/XqCjxe7Qc8Tzvb5Ee7EC9U-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Razer quotes a 27-hour battery life for the new Wolverine, although I'd imagine that's at lower-than-8K polling rates. What I can say from my own testing, though, is that my review sample came out of the box with a 65% charge and I've only just plugged it in. That's after several days of on/off gaming.</p><p>Those weren't 24-hour sessions, of course. But several eight-hour sprints without reaching for the USB cable certainly seem possible. I'm still old-school enough to want to plug my controller in after I've finished, but it's a habit I'm starting to break.</p><p>What would be nice though, for the cash, would be an included charging stand. It's something we're starting to see more often these days—even with some of the more affordable controllers, like the <a href="https://www.pcgamer.com/hardware/controllers/easysmx-d05-review/" target="_blank">EasySMX D05</a>. Food for thought, Razer?</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-value"><span>Razer Wolverine V4 Pro value</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MwAXohJnk8VzJEtrxBxmBM" name="20261015_114747" alt="A Razer Wolverine V4 Pro stood up on a desk, in front of a controller and a gaming keyboard" src="https://cdn.mos.cms.futurecdn.net/MwAXohJnk8VzJEtrxBxmBM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Do we have to talk money? I'm afraid so. The Wolverine V4 Pro is expensive, and there's no getting around it. When the <a href="https://www.pcgamer.com/hardware/controllers/gamesir-g7-pro-tri-mode-review/" target="_blank">GameSir G7 Pro Tri-Mode</a> costs $80, the $200 price tag of Razer's new baby looks more than a little excessive.</p><p>The G7 Pro also has customisation options similar to the Razer, with its removable faceplate and swappable controls. You can't get rid of the rear paddle buttons, though, a feature I find most handy on the new Wolverine. The GameSir model also has TMR thumbsticks, which should be in the same ballpark as the Razer's. They won't stick drift, put it that way.</p><p>In terms of value, it's clear that the GameSir G7 Pro Tri-Mode wins the day. It's less than half the price, for goodness sake, and it comes with a charging cradle. But I don't think the heavyweight price tag spoils the Wolverine V4 Pro, either.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sGz8giRp9pdSrzw2KxeF9U" name="20261015_114950" alt="The front controls of the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/sGz8giRp9pdSrzw2KxeF9U-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Yes, it's a lot of money to pay for a controller. But if you're the sort of gamer who sits for hours every weekend with one in your hands, the Razer really does feel like the final boss. It's got pretty much every feature you really need (and many extra niceties you might not expect), alongside a smorgasbord of delicious controls and switches that feel like the cat's pyjamas<em>. </em>And when it comes to speedy inputs? Fuggedaboutit.</p><p>Plus, being able to individually block off those rear paddle buttons and swap out thumbsticks on the fly makes more difference than you think. Whatever your setup, whatever your odd combination of control preferences, the Razer is likely ready for you. And it's even managed to avoid any overblown gamer flair while it's at it. This is a grown-up device for adults, not an RGB-covered piece of frippery.</p><p>Pricey? You bet, and I wish it was significantly cheaper. But, in the same way I'd happily recommend spending a lot of money on something brilliant you're going to use all the time, like a great gaming chair, TV, or headset, I do think the Wolverine V4 Pro makes a very good case for justifying the expense.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/controllers/razer-wolverine-v4-pro-review/</link>
                                                                            <description>
                            <![CDATA[ Claws, sharpened. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xApgAh9kheZ4FmQRcBvGpN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MS5LSq9EcZLQBQa6Kw8VLY-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:43:35 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 13:43:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Controllers]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/MS5LSq9EcZLQBQa6Kw8VLY-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A Razer Wolverine V4 Pro gaming controller on top an RGB-lit gaming keyboard]]></media:description>                                                            <media:text><![CDATA[A Razer Wolverine V4 Pro gaming controller on top an RGB-lit gaming keyboard]]></media:text>
                                <media:title type="plain"><![CDATA[A Razer Wolverine V4 Pro gaming controller on top an RGB-lit gaming keyboard]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MS5LSq9EcZLQBQa6Kw8VLY-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div data-widget-type="review" data-model-name="Razer Wolverine V4 Pro" data-widget-title=""></div><p>I use my <a href="https://www.pcgamer.com/hardware/controllers/razer-wolverine-v3-pro-review/" target="_blank">Razer Wolverine V3 Pro</a> several times a week. It's become my go-to wireless controller (among many different options on my shelves), thanks to its shape, stickfeel, and build quality. It's plenty quick to react, it's got excellent triggers and face buttons, and is one of my favourite bits of gaming gear. Ever, in fact.<br><br>Then came the <a href="https://www.pcgamer.com/hardware/controllers/razer-wolverine-v3-pro-8k-pc-review/" target="_blank">Wolverine V3 Pro 8K</a>, and I wasn't too fussed. Sure, 8K polling is a nice thing to have, but it wasn't enough to sway me towards spending $200 on another controller. Now, however, I have a Wolverine V4 Pro review sample in my hands, and I have to admit—I'm sorely tempted to upgrade.<br><br>Razer hasn't messed with the core recipe that made the V3 Pro great. It's still got the same comfortable chassis shape, fantastic heavyweight, dual-action triggers, and all the right controls in all the right places. What it has done, though, is upgrade the hardware underneath, while adding a heavy sprinkle of customisation options that improve the experience considerably.<br><br>I thought I wouldn't get on with the slightly lighter stickfeel compared to the previous model, but I was wrong. It's still got a highly-controllable resistance, now combined with superb snap-motion accuracy from the new contactless sensors. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hfsDc5R8AbyahT8jvdtMY7" name="RazerWolverineV4Profronton" alt="A Razer Wolverine V4 Pro gaming controller shot from above on a desk, below a gaming keyboard" src="https://cdn.mos.cms.futurecdn.net/hfsDc5R8AbyahT8jvdtMY7-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It feels sharper, without losing its smooth, slightly weighty movement. The battery life has been upped to a maximum of 27 hours. You can pull off the rear buttons and block the holes off with flush-fit magnetic plates. <em>And </em>you get 8K polling support, complete with wrist-shaking haptic rumble. Individually, these might seem like small changes. Together, they make one of the best controllers I've ever used… well, even better.<br><br>We do need to talk about the price. <a href="https://www.razer.com/console-controllers/razer-wolverine-v4-pro" target="_blank">$200</a>/<a href="https://www.razer.com/gb-en/console-controllers/razer-wolverine-v4-pro" target="_blank">£200</a> is an awful lot to ask for a gaming controller, especially when there are so many good options on the market for fractions of that sum. But the Wolverine V4 Pro has a kitchen sink-worthy list of features, all of which combine to create a brilliant gaming device—even if your bank account may disagree.</p><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy if...</h3><div class="card__description-wrapper"><div class="card__description"><p>✅ <strong>You want the tippety-top of controller tech: </strong>You name it, the Razer Wolverine V4 Pro probably has it. Other than TMR or Hall effect sticks, which have been replaced with Razer's new (and rather excellent) capacitive sensor tech.<br><br>✅ <strong>You want modular customisation that works:</strong> I've used enough modular gear to know it can sometimes feel a bit… half baked. Not so here, where everything clunks and clicks together seamlessly.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy if</h3><div class="card__description-wrapper"><div class="card__description"><p>❌ <strong>You're on a budget: </strong>There are plenty of excellent gaming controllers out there for much less money than the Wolverine V4 Pro.<br><br>❌ <strong>You won't use the extras: </strong>If the customisation features, 8K polling, and all the rest leave you cold, the Wolverine V4 Pro may be overkill.</p></div></div></div></div><h2 class="article-body__section" id="section-razer-wolverine-v4-pro-features"><span>Razer Wolverine V4 Pro features</span></h2><div ><table><caption>Razer Wolverine V4 Pro specs</caption><tbody><tr><td class="firstcol " ><p><strong>Layout</strong></p></td><td  ><p>Asymmetric</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>Windows 10/11, Xbox Series X/S</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>2.4 GHz w/included dongle, wired</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>USB Type-C</p></td></tr><tr><td class="firstcol " ><p><strong>Thumbsticks</strong></p></td><td  ><p>High-resolution capacitive sensors, swappable caps</p></td></tr><tr><td class="firstcol " ><p><strong>Polling rate</strong></p></td><td  ><p>Up to 8,000 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>Up to 26 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>305 g</p></td></tr><tr><td class="firstcol " ><p><strong>Extras</strong></p></td><td  ><p>Adjustable triggers, removable magnetic rear buttons, faceplate, and bumpers, mecha-tactile action buttons, magnetic blocking plates </p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.razer.com/console-controllers/razer-wolverine-v4-pro" target="_blank">$200</a>/<a href="https://www.razer.com/gb-en/console-controllers/razer-wolverine-v4-pro" target="_blank">£200</a></p></td></tr></tbody></table></div><p>Take a deep breath, because there's a whole lot to go through here. At its core, the Razer Wolverine V4 Pro is an asymmetrical, Xbox-style controller with 2.4 GHz wireless and USB Type-C wired connectivity, alongside a maximum 8K polling rate over both wireless and wired connections. Razer says the Wolverine V4 Pro achieves sub-1 ms response times, thanks in part to the speedy polling.</p><p>Beyond the usual controls, there are also two extra configurable buttons between the bumpers and the triggers on the top side, alongside four extra "mouse click" paddle buttons on the underside. The triggers can also be locked with two toggle switches on the back, which means they can be switched between a full-throw action and a precise click on the fly. </p><p>On the front, you get a set of PBT face buttons with clicky, mecha-tactile switches underneath, which have a slightly shorter action than those found on the bog-standard V3 Pro. Diagonally opposite sits a very clicky D-pad.</p><p>Then there are the new thumbsticks. These feel slightly lighter and snappier than the V3 Pro's versions, although they still have a touch of weight to the action. Razer has imbued these sticks with what it calls "next-generation" capacitive sensors, which represent "<a href="https://www.razer.com/newsroom/product-news/wolverine-v4-line?srsltid=AU7gw4XLS0bwYSpO-8Yrtf7NoWo6U3cYGcfz6DvSJWhxFvbrZfABTPYW#:~:text=The%20Pinnacle%20of%20Precision" target="_blank">the next step in contactless sensor design</a>."</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Z3o4dZiNFTgVXL9cVqn2F5-1920-80.jpg" alt="A Razer Wolverine V4 Pro gaming controller in close up" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Zb4iGAFbYt2iqwSDmzq7M5-1920-80.jpg" alt="A Razer Wolverine V4 Pro gaming controller in close up" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wSxgboWkURcVH5bHr32FL5-1920-80.jpg" alt="A Razer Wolverine V4 Pro gaming controller in close up" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>According to the company, these sensors offer superior resolution and are more resistant to magnetic interference when compared to the TMR and Hall effect models found in other high-spec controllers, while still avoiding stick drift. When paired with the 16-bit ADC chip inside, the new tracking results in around 3,000 steps of movement tracking per sensor.</p><p>Still with me? Good, because I haven't got to the customisation options yet. The front faceplate of the V4 Pro is now magnetic, and can be removed by wedging your fingernails underneath a hidden groove on the topside and giving it a sharp pull. Razer says more faceplate options are coming soon—so prepare yourself for the inevitable Minecraft tie-in, I guess.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VobnXVYmn9aUj3wNcu4dfC" name="20261012_150543" alt="A Razer Wolverine V4 Pro, disassembled, with the magnetic faceplate removed and the extra thumbsticks and paddle button covers alongside" src="https://cdn.mos.cms.futurecdn.net/VobnXVYmn9aUj3wNcu4dfC-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>You also get six interchangeable thumbstick caps to choose from. By default, it comes with your standard short concave models installed, but there are also a pair of taller versions, and a pair of convex replacements for weirdos. I mean, those who prefer a totally different thumbstick experience. </p><p>The rear paddle buttons are also removable, and the holes can be filled in with magnetic-locking plates that fit flush with the frame. All of these magnetic additions explain the switch to interference-resistant capacitive thumbstick sensors, that's for sure. You can also switch between software profiles on the fly with an assigned button combo. Phew.</p><p>What's left? Oh yes, the battery life. Razer reckons you'll get a maximum of 27 hours out of the V4 Pro, a seven-hour improvement over the old model. That depends on polling rate and haptic settings, though. Charging from empty to full is quoted at three hours via the USB Type-C connection.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6bSWqozfzpCJP49LpTPvMN" name="20261012_145845" alt="The topside controls of the Razer Wolverine V4 Pro, either side of the protruding USB Type-C port" src="https://cdn.mos.cms.futurecdn.net/6bSWqozfzpCJP49LpTPvMN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The last change is a pronounced lip around the USB Type-C port on the rear. This is to prevent a flexed cable from damaging the port over time, although my old V3 Pro sits on charge regularly and has never had an issue. The raised section is a bit…  over-pronounced, if you ask me. The lip stands out on what is otherwise a seamless design. Still, I appreciate the concession towards durability, if nothing else.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-ergonomics"><span>Razer Wolverine V4 Pro ergonomics</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="45Tb2k7yd2tkU6v8Y8xV5a" name="20261012_150022" alt="A Razer Wolverine V4 Pro nestled within the embrace of a Razer Wolverine V3 Pro. Aww." src="https://cdn.mos.cms.futurecdn.net/45Tb2k7yd2tkU6v8Y8xV5a-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I've been holding the V4 Pro up against my V3 model for some time now, and it looks (and feels) like exactly the same chassis shape to me. This is a very good thing. If I look <em>ever so closely, </em>I would say the textured grip on the rear of the V4 Pro is slightly finer, although this could be down to wear on my older version.</p><p>It's the differing textures underneath the various controls that stand out, though. The triggers still have a weighty resistance to them, with a deliciously smooth action. The main bumpers click with precision, whereas the taller macro buttons underneath them have a longer, "snippier" sort of click. You won't mix them up easily while staring at a screen, I've found.</p><p>The matte-finish PBT used on face buttons is plenty grippy under the fingertips, and while the switches underneath feel roughly the same, there does seem to be a slightly faster action when placing them side-by-side with my V3 Pro. Again, that could be down to wear on my used model, but there's definitely an improvement under my right thumb here that I appreciate.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Be9GTUyNqYDKiJEwsPk3Pk" name="20261012_150051" alt="The face controls of the Razer Wolverine V4 Pro, with the Razer Wolverine V3 Pro in the background" src="https://cdn.mos.cms.futurecdn.net/Be9GTUyNqYDKiJEwsPk3Pk-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>And as for the snappier thumbsticks, I didn't think they were much of an improvement when I tried them out in a Gamescom booth earlier this year. However, having now spent some quality time with them, the lighter stick resistance really does make a difference to my aiming speed. There's still a little bit of aim-steadying pushback, alongside a quicker snap back to center.</p><p>Speaking of the sticks, I can't help but be impressed by the robustness of the V4 Pro's customisation system. The thumbsticks themselves can be pulled off with a reasonable amount of force, and pressed back on firmly without incident. The faceplate is similarly secure, but it's still easy enough to remove once you know where to put your fingernail. </p><p>You don't have to remove the faceplate to replace the sticks, but I thought I'd try both together to see if I could disassemble the front of the controller with one hand:</p><iframe src="https://content.jwplatform.com/players/eYXfZ9Hq.html" id="eYXfZ9Hq" title="Razer Wolverine V4 Pro Disassembly" width="1920" height="1080" frameborder="0" scrolling="auto" allowfullscreen></iframe><p>And yes, I can. But the biggest boon to customisation happens round the back, where any (or all) of the rear paddle buttons can be removed and replaced with magnetic-locking plates. These snap into place to create a remarkably flush fit, which makes the plates practically disappear underneath my fingers. </p><p>I've got used to resting my ring and pinky digits on the rear paddles of my V3, but if you're not using them all the time, they can feel a little obstructive. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="huyS6MzLNPHQX4QpsG9jD7" name="20261012_150720" alt="The rear of the Razer Wolverine V4 Pro, with half the rear paddle buttons blocked off" src="https://cdn.mos.cms.futurecdn.net/huyS6MzLNPHQX4QpsG9jD7-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>No such worries here. Block them all off individually, or keep one or two around for specific tasks if you so wish. </p><p>Despite all these modular features, the V4 Pro feels like a rock solid, totally finished product. There are no rattles, no rough edges, no fiddly bits of cheap plastic. It might be expensive, but this controller really does feel like you've bought a ticket to the executive lounge.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-performance"><span>Razer Wolverine V4 Pro performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nxYY9vgF7AMsqJd2prpDGF" name="20261012_145735" alt="Close ups of the various controls on the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/nxYY9vgF7AMsqJd2prpDGF-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>To test the Wolverine V4 Pro, I booted up three controller-favouring games from my Steam library: <a href="https://www.pcgamer.com/elden-ring-review/" target="_blank">Elden Ring</a>, <a href="https://www.pcgamer.com/games/action/crimson-desert-review/" target="_blank">Crimson Desert</a>, and <a href="https://www.pcgamer.com/games/action/control-resonant-review/" target="_blank">Control Resonant</a>. I have many hours in each, much of which has been spent with either the V3 Pro, or the standard Xbox Wireless controller. I also had a knock around in Apex Legends to test its shooter capabilities.</p><p>And to my genuine surprise, I could feel the difference immediately. Control Resonant in particular, a game with much target switching and button juggling, actually feels a touch easier with the new Wolverine. The snappier thumbsticks make a real difference to fast direction changes, and while I'm no expert judge of 8K polling and sub-1ms latency times, the V4 Pro definitely feels quicker to respond. </p><p>The haptic responses are also super-powerful. So much so, I think most people will probably turn them down—but vibration fans are in for a buzz. Turning this controller on for the first time actually made me jump, as it jiggled my desk with such force.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/QtJREuc3vnYoRm5qiLAcBF-1920-80.jpg" alt="Close ups of the various controls on the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KyictqMtbJpRJRwS3GQAGF-1920-80.jpg" alt="Close ups of the various controls on the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The face buttons are quick to press and slightly more positive, too, which adds to the feeling of snappy responsiveness. And I really enjoy the heavyweight triggers, which make firing an arrow in Crimson Desert feel more purposeful than most. My Elden Ring performance has also felt the benefit, although I still suck at it overall. No fancy controller is going to change that. </p><p>And while I'd personally never pick a controller over keyboard and mouse controls in a shooter, the Wolverine V4 Pro is plenty responsive in Apex Legends, too. If I had to use my thumbs for precision shooting? I'll take one of these, please. It's better than any other controller I've tried for speedy first-person aiming, put it that way.</p><p>There's a feeling of extra precision to the Wolverine V4 Pro that I didn't realise the previous version lacked. It's subtle, but very much there. One feels like a luxury item with a touch of padding, while the other is sharper, lighter under the fingertips, and slightly more eager. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GRJt4996uXfaA2PD4oQ9Xe-1920-80.jpg" alt="The right thumbstick of the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NrL3ynTePrYKRAVcaqxLVX-1920-80.jpg" alt="The Razer Wolverine V4 Pro with its front magnetic faceplate removed" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ccyULpCAncrqfhceLxpXzN-1920-80.jpg" alt="The blocked off rear paddles of the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Plus, being able to individually remove the rear paddles (I quite like dropping them down to two, ring fingers only) makes for a more comfortable gaming experience.</p><p>I'd expected to forget about the internal upgrades once my brain was focussed on a game, but I was wrong. It's easy to tell that improvements have been made. And switching back to a standard Xbox Wireless controller afterwards definitely feels like a major downgrade. Still, you can pick one up for around a quarter of the price—so I can't knock it too badly.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-aesthetics"><span>Razer Wolverine V4 Pro aesthetics</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SudqnEfbiuiGyJHiFR2KBm" name="20261015_112024" alt="A close-up of the now RGB-less Razer text on the front of the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/SudqnEfbiuiGyJHiFR2KBm-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Razer has ditched the RGB-lit lettering on the front of the new Wolverine, but I doubt many will miss it. I've turned mine off on the older model, as while it looks good in photos, it can be a touch distracting. Instead, what you get here is a stealthed out, grown-up-looking device.</p><p>Not very Razer, is it? Still, I'm definitely a fan of the all-black aesthetic. The matte finish on the PBT face buttons doesn't just feel good, but looks the part, too. I suppose it's not the best controller for beginners, or those who still hunt for the Y button in a panic during a QTE event. There are no multi-coloured buttons or white letters to help you out here. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7HTY8goP4SZEGQWCTdFtS4" name="20261015_112109" alt="The stick-out USB Type-C port on the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/7HTY8goP4SZEGQWCTdFtS4-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>My major bugbear, though, is the protruding USB Type-C cable port, which sticks out more than I'd like and makes for an ugly blemish on what is otherwise a very refined design. At least it's round the back, ey?</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-software"><span>Razer Wolverine V4 Pro software</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:54.38%;"><img id="QFrbJzv6zjVdbGa7haMkY8" name="Screenshot 2026-10-15 123843" alt="A screenshot of the Razer Synapse settings menu for the Razer Wolverine V4 Pro gaming controller" src="https://cdn.mos.cms.futurecdn.net/QFrbJzv6zjVdbGa7haMkY8-1920-80.png" mos="" align="middle" fullscreen="1" width="2560" height="1392" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/QFrbJzv6zjVdbGa7haMkY8-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Razer)</span></figcaption></figure><p>The Wolverine V4 Pro is configured via Razer Synapse, which will be a benefit for those of you with Razer devices already—and perhaps a downside for those who don't. Still, Synapse is very workable<em> </em>these days, and the menu system for this particular controller is pretty straightforward.</p><p>Alongside the profile switching options at the top (which can also be cycled using on-controller button combos) there are five main tabs: Customize, Triggers, Thumbsticks, Power, and Calibration. The first gives you the most useful settings, these being polling rate, haptic intensity, and communication switching modes, alongside button configurations. </p><p>There are also options for the SOCD feature, which allow you to configure what happens when you press and hold two opposite directions at once.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8sNdx44D5Mcf8gGNhYTjuQ-1920-80.jpg" alt="The Synapse settings of the Razer Wolverine V4 Pro gaming controller, showing trigger adjustments" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vE5jgLrEYuPosdpMTjvH2a-1920-80.png" alt="The power settings (yes they're in that otherwise-blank page if you squint) of the Razer Wolverine V4 Pro" /><figcaption><small role="credit">Razer</small></figcaption></figure></figure><p>You can adjust the trigger ranges in the second tab, and fiddle with the sensitivity and dead zones of the thumbsticks in the third. Honestly, I feel like a lot of these options could be boiled down to a single page, but at least it's not a labyrinth of poorly worded menus like some others I could name.</p><p>A case in point is the fourth tab, Power, which has exactly one thing you can adjust—the length of time the controller stays on when inactive. And the fifth tab handles individual control calibration, which I guess is worthy of its own section. Overall, though, the software is perfectly acceptable. Better than most, even.</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro"><span>Razer Wolverine V4 Pro</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XqCjxe7Qc8Tzvb5Ee7EC9U" name="20261015_114344" alt="A Razer Wolverine V4 Pro connected to a charging cable, on a desk" src="https://cdn.mos.cms.futurecdn.net/XqCjxe7Qc8Tzvb5Ee7EC9U-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Razer quotes a 27-hour battery life for the new Wolverine, although I'd imagine that's at lower-than-8K polling rates. What I can say from my own testing, though, is that my review sample came out of the box with a 65% charge and I've only just plugged it in. That's after several days of on/off gaming.</p><p>Those weren't 24-hour sessions, of course. But several eight-hour sprints without reaching for the USB cable certainly seem possible. I'm still old-school enough to want to plug my controller in after I've finished, but it's a habit I'm starting to break.</p><p>What would be nice though, for the cash, would be an included charging stand. It's something we're starting to see more often these days—even with some of the more affordable controllers, like the <a href="https://www.pcgamer.com/hardware/controllers/easysmx-d05-review/" target="_blank">EasySMX D05</a>. Food for thought, Razer?</p><h3 class="article-body__section" id="section-razer-wolverine-v4-pro-value"><span>Razer Wolverine V4 Pro value</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MwAXohJnk8VzJEtrxBxmBM" name="20261015_114747" alt="A Razer Wolverine V4 Pro stood up on a desk, in front of a controller and a gaming keyboard" src="https://cdn.mos.cms.futurecdn.net/MwAXohJnk8VzJEtrxBxmBM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Do we have to talk money? I'm afraid so. The Wolverine V4 Pro is expensive, and there's no getting around it. When the <a href="https://www.pcgamer.com/hardware/controllers/gamesir-g7-pro-tri-mode-review/" target="_blank">GameSir G7 Pro Tri-Mode</a> costs $80, the $200 price tag of Razer's new baby looks more than a little excessive.</p><p>The G7 Pro also has customisation options similar to the Razer, with its removable faceplate and swappable controls. You can't get rid of the rear paddle buttons, though, a feature I find most handy on the new Wolverine. The GameSir model also has TMR thumbsticks, which should be in the same ballpark as the Razer's. They won't stick drift, put it that way.</p><p>In terms of value, it's clear that the GameSir G7 Pro Tri-Mode wins the day. It's less than half the price, for goodness sake, and it comes with a charging cradle. But I don't think the heavyweight price tag spoils the Wolverine V4 Pro, either.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sGz8giRp9pdSrzw2KxeF9U" name="20261015_114950" alt="The front controls of the Razer Wolverine V4 Pro" src="https://cdn.mos.cms.futurecdn.net/sGz8giRp9pdSrzw2KxeF9U-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Yes, it's a lot of money to pay for a controller. But if you're the sort of gamer who sits for hours every weekend with one in your hands, the Razer really does feel like the final boss. It's got pretty much every feature you really need (and many extra niceties you might not expect), alongside a smorgasbord of delicious controls and switches that feel like the cat's pyjamas<em>. </em>And when it comes to speedy inputs? Fuggedaboutit.</p><p>Plus, being able to individually block off those rear paddle buttons and swap out thumbsticks on the fly makes more difference than you think. Whatever your setup, whatever your odd combination of control preferences, the Razer is likely ready for you. And it's even managed to avoid any overblown gamer flair while it's at it. This is a grown-up device for adults, not an RGB-covered piece of frippery.</p><p>Pricey? You bet, and I wish it was significantly cheaper. But, in the same way I'd happily recommend spending a lot of money on something brilliant you're going to use all the time, like a great gaming chair, TV, or headset, I do think the Wolverine V4 Pro makes a very good case for justifying the expense.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Grand Theft Auto 6 launch trailer is here ]]></title>
                                                                                                <dc:content><![CDATA[ <p>We won't get to play <a href="https://www.pcgamer.com/grand-theft-auto-6/" target="_blank">Grand Theft Auto 6</a> when it launches for consoles on November 19, but they can't stop us from watching the Grand Theft Auto 6 launch trailer! So, let's do that.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/rz1B4B2yBZY" allowfullscreen></iframe></div></div><p>It's definitely a trailer for a GTA game, but this one feels a bit more restrained to me than what we've seen in the past—or maybe more focused is a better way to put it, with a greater emphasis on character and narrative than the chaos of the previous games, or even the previous GTA 6 trailers. There's definitely a cinematic flair to it—makes me feel like I'm settling in for the season-ending two-parter of a Michael Mann series from a decade or so ago. </p><p>So what's cooking in our newest trip to Leonida?</p><p><em><strong>"Jason and Lucia have always known the deck is stacked against them. But when an easy score goes wrong, they find themselves on the darkest side of the sunniest place in America, in the middle of a criminal conspiracy stretching across the state of Leonida — forced to rely on each other more than ever if they want to make it out alive."</strong></em></p><p>The musical choice is interesting: Rather than the licensed music of the first two trailers (Tom Petty's Love is a Long Road in <a href="https://www.pcgamer.com/gta-6-reveal-trailer-scene-by-scene-breakdown-dogs-dadbods-and-social-agitation/" target="_blank">trailer one</a>, The Pointer Sisters doing Hot Together in <a href="https://www.pcgamer.com/games/third-person-shooter/gta-6s-preposterously-gorgeous-second-trailer-has-me-thinking-no-one-does-it-like-rockstar-isnt-just-a-compliment-but-an-omen/" target="_blank">trailer two</a>), this tune is a new track from Justice, an electronic duo who composed the GTA 6 score. If you dig it, here's the full version—it's pretty good!</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/JWxoRY7AFSw" allowfullscreen></iframe></div></div><p>We still don't have a release date, or even an official announcement, for the PC version of GTA 6, although there's no doubt one is coming—it always happens, sooner or later. A recently floated rumor said it'll be out sometime in early 2027, just a few months after the console debut, but <a href="https://www.pcgamer.com/games/grand-theft-auto/report-claims-grand-theft-auto-6-will-launch-on-pc-sooner-than-anyone-expected/" target="_blank">I'm not buying it</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="1c168e1c-c89e-11f1-b805-5d375c22bf40" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1238px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZF5ZJsyvbhJRVSDmd9H3jA" name="gta 6 cover art square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZF5ZJsyvbhJRVSDmd9H3jA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1238" height="1238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="1c168e1c-c89e-11f1-b805-5d375c22bf40" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The garage lineup<br><strong></strong><a href="https://www.pcgamer.com/games/action/grand-theft-auto/gta6-characters/"><strong>GTA 6 characters</strong></a>: Your anti-hero cast<br><strong></strong><a href="https://www.pcgamer.com/games/grand-theft-auto/gta6-map/" target="_blank"><strong>GTA 6 map</strong>:</a> Confirmed Vice City locales<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?</p></div></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/grand-theft-auto/grand-theft-auto-6-launch-trailer/</link>
                                                                            <description>
                            <![CDATA[ This one's got a very different vibe than what we've seen previously. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wUU2gN5Bo4w8XKNxjmBSJZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4Er25EtnFdb9QU2xZV3et4-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:43:12 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 16:59:42 +0000</updated>
                                                                                                                                            <category><![CDATA[Grand Theft Auto]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                    <category><![CDATA[Action]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/4Er25EtnFdb9QU2xZV3et4-1920-80.jpg">
                                                            <media:credit><![CDATA[Rockstar]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GTA 6 - Jason and Lucia]]></media:description>                                                            <media:text><![CDATA[GTA 6 - Jason and Lucia]]></media:text>
                                <media:title type="plain"><![CDATA[GTA 6 - Jason and Lucia]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4Er25EtnFdb9QU2xZV3et4-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We won't get to play <a href="https://www.pcgamer.com/grand-theft-auto-6/" target="_blank">Grand Theft Auto 6</a> when it launches for consoles on November 19, but they can't stop us from watching the Grand Theft Auto 6 launch trailer! So, let's do that.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/rz1B4B2yBZY" allowfullscreen></iframe></div></div><p>It's definitely a trailer for a GTA game, but this one feels a bit more restrained to me than what we've seen in the past—or maybe more focused is a better way to put it, with a greater emphasis on character and narrative than the chaos of the previous games, or even the previous GTA 6 trailers. There's definitely a cinematic flair to it—makes me feel like I'm settling in for the season-ending two-parter of a Michael Mann series from a decade or so ago. </p><p>So what's cooking in our newest trip to Leonida?</p><p><em><strong>"Jason and Lucia have always known the deck is stacked against them. But when an easy score goes wrong, they find themselves on the darkest side of the sunniest place in America, in the middle of a criminal conspiracy stretching across the state of Leonida — forced to rely on each other more than ever if they want to make it out alive."</strong></em></p><p>The musical choice is interesting: Rather than the licensed music of the first two trailers (Tom Petty's Love is a Long Road in <a href="https://www.pcgamer.com/gta-6-reveal-trailer-scene-by-scene-breakdown-dogs-dadbods-and-social-agitation/" target="_blank">trailer one</a>, The Pointer Sisters doing Hot Together in <a href="https://www.pcgamer.com/games/third-person-shooter/gta-6s-preposterously-gorgeous-second-trailer-has-me-thinking-no-one-does-it-like-rockstar-isnt-just-a-compliment-but-an-omen/" target="_blank">trailer two</a>), this tune is a new track from Justice, an electronic duo who composed the GTA 6 score. If you dig it, here's the full version—it's pretty good!</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/JWxoRY7AFSw" allowfullscreen></iframe></div></div><p>We still don't have a release date, or even an official announcement, for the PC version of GTA 6, although there's no doubt one is coming—it always happens, sooner or later. A recently floated rumor said it'll be out sometime in early 2027, just a few months after the console debut, but <a href="https://www.pcgamer.com/games/grand-theft-auto/report-claims-grand-theft-auto-6-will-launch-on-pc-sooner-than-anyone-expected/" target="_blank">I'm not buying it</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="1c168e1c-c89e-11f1-b805-5d375c22bf40" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1238px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZF5ZJsyvbhJRVSDmd9H3jA" name="gta 6 cover art square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZF5ZJsyvbhJRVSDmd9H3jA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1238" height="1238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="1c168e1c-c89e-11f1-b805-5d375c22bf40" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The garage lineup<br><strong></strong><a href="https://www.pcgamer.com/games/action/grand-theft-auto/gta6-characters/"><strong>GTA 6 characters</strong></a>: Your anti-hero cast<br><strong></strong><a href="https://www.pcgamer.com/games/grand-theft-auto/gta6-map/" target="_blank"><strong>GTA 6 map</strong>:</a> Confirmed Vice City locales<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?</p></div></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Nvidia's RTX Spark makes for an impressive Arm-based gaming laptop but not one I'd recommend you buy just for PC gaming ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Well, here it is, Nvidia's all-in-one silicon, the RTX Spark. This is an SoC that's being promoted as the everything chip; the processor that can be all things to all people. It's a creator's chip, it's an AI-lover's chip, and it's a gamer's chip.</p><p>But all three of those kinds of people do need to have one thing in common: they need to be rather well off, because <a href="https://www.pcgamer.com/hardware/gaming-laptops/now-we-know-the-prices-of-the-new-rtx-spark-laptops-and-theyre-as-expensive-as-im-sure-you-feared/" target="_blank">this is also an expensive chip</a>. I spoke about it when the pricing first came to light last week, while I was at the launch event for this Windows-based tech. Even the cheapest of the RTX Spark machines coming our way will cost $2,700, and that will only get you the weaker cores, a paltry 24 GB of unified memory, and a 512 GB SSD.</p><p>That is certainly a limitation, but also completely expected in a time where all things PC cost a ludicrous amount of money, especially devices which are locked into requiring a colossal amount of memory to do their main task. Which, let's be honest here, is AI.</p><p>The unified memory architecture (UMA) of the RTX Spark is perfectly suited to providing a ton of memory for system resources, but also to be able to switch that over to supporting the GPU when it comes to smashing through local AI workloads which fill up the GPU's memory pool. It's the perfect time for Nvidia to release something like this, because local AI is set for a bit of an explosion in popularity (especially when the cloud services start charging <em>real</em> money for their services), but it's also the worst time because this sort of memory-heavy hardware is <em>expensive</em>.</p><p>But here it is in front of me, an RTX Spark laptop that looks for all the world like the slimline MacBook-esque <a href="https://www.pcgamer.com/hardware/gaming-laptops/razer-blade-14-2025-review/" target="_blank">Razer Blade</a> machines I've loved for years. But this is no Blade, this is an Asus ProArt P16 and it's a stunner. Thinner than the <a href="https://www.pcgamer.com/hardware/gaming-laptops/asus-rog-zephyrus-g16-2026-review/" target="_blank">Zephyrus G16</a> with a sleek aluminium body and a 64 GB, 20-core RTX Spark N1X chip inside it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="335dER7yYLxcPPfk7AdnLL" name="rtx-spark-04" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" src="https://cdn.mos.cms.futurecdn.net/335dER7yYLxcPPfk7AdnLL-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div><blockquote><p>From the get-go I can say that this is not a platform I can really recommend to the average PC gamer</p></blockquote></div><p>I've only been using it a short time, and there is so much to it and so much that is going to change over the next few months that I'm only really going to scratch the surface here. But today I'm going to go over the architecture and the gaming performance, and maybe I'll give you a little bit about my adventures in agentic AI as a palate cleanser later on.</p><p>Yet, even having spent under a week with an RTX Spark as my daily driver, I think from the get-go I can probably say that this is not a platform I can really recommend to the average PC gamer. It's too expensive and we're better served by the gaming laptops already on the market. But, it is an absolutely fascinating, and genuinely impressive platform, and could be a real glimpse at the future of PCs and laptops as a whole.</p><h2 class="article-body__section" id="section-nvidia-rtx-spark-architecture"><span>Nvidia RTX Spark - architecture</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="43r9NsyWuCiCCXfqYWp4eL" name="rtx-spark-06" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" src="https://cdn.mos.cms.futurecdn.net/43r9NsyWuCiCCXfqYWp4eL-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I've been waiting for this moment for a long time. The promise of an all-Nvidia gaming laptop has been a tantalising prospect for years now; even before the company tried to buy Arm itself there were rumours of an SoC that would combine Arm cores with Nvidia's powerful GPU silicon.</p><p>AMD's had its own APUs for the longest time, and Intel has been running every facet of a laptop since the dark ages. So it's no surprise Nvidia wanted a piece of that pie.</p><p>And with Qualcomm taking the initial Windows-on-Arm hit with its Snapdragon Elite and Plus chips, letting the OS evolve around the early teething troubles, the time is now ripe for Nvidia's platform to come to fruition. </p><p>Actually, there is no Windows-on-Arm anymore as Microsoft is ditching the suffix and just calling it Windows, because Microsoft is all-in here, too. To be honest, I think that's largely down to the push for local AI and the fact Linux is generally where that lives right now—including the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidias-little-gold-box-of-pure-ai-power-the-dgx-spark-is-finally-out-and-the-comparison-with-amds-much-cheaper-strix-halo-chip-is-looking-a-little-fugly/" target="_blank">DGX Spark</a>, which was the first desktop home of the N1X chip that's running the RTX Spark. But Microsoft is also helping on the gaming side, making the Prism emulation layer more robust on an Arm platform and also committing to bringing all the anti-cheat apps over that Linux currently doesn't have.</p><p>Though <a href="https://www.pcgamer.com/games/battle-royale/fortnite-is-coming-to-linux-once-epic-improves-easy-anti-cheat/" target="_blank">Epic is working on the Linux side</a> of that right now.</p><div ><table><caption>Nvidia RTX Spark configurations</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>RTX Spark N1X</strong><br>(5120-core GPU, 18-core CPU)</p></td><td  ><p><strong>RTX Spark N1X</strong><br>(6144-core GPU, 20-core CPU)</p></td></tr><tr><td class="firstcol " ><p><strong>CPU cores</strong></p></td><td  ><p>18 total<br>(9 Arm Cortex-X925 + 9 Arm Cortex-A725)</p></td><td  ><p>20 total<br>(10 Arm Cortex-X925 + 10 Arm Cortex-A725)</p></td></tr><tr><td class="firstcol " ><p><strong>Maximum performance-core clock</strong></p></td><td  ><p>3.9 GHz</p></td><td  ><p>4.0–4.1 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>Maximum efficiency-core clock</strong></p></td><td  ><p>2.8 GHz</p></td><td  ><p>2.8 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>GPU architecture</strong></p></td><td  ><p>Blackwell RTX</p></td><td  ><p>Blackwell RTX</p></td></tr><tr><td class="firstcol " ><p><strong>CUDA cores</strong></p></td><td  ><p>5,120</p></td><td  ><p>6,144</p></td></tr><tr><td class="firstcol " ><p><strong>Streaming multiprocessors (SMs)</strong></p></td><td  ><p>40</p></td><td  ><p>48</p></td></tr><tr><td class="firstcol " ><p><strong>RT core generation</strong></p></td><td  ><p>Fourth generation</p></td><td  ><p>Fourth generation</p></td></tr><tr><td class="firstcol " ><p><strong>Tensor core generation</strong></p></td><td  ><p>Fifth generation</p></td><td  ><p>Fifth generation</p></td></tr><tr><td class="firstcol " ><p><strong>Unified memory type</strong></p></td><td  ><p>LPDDR5X</p></td><td  ><p>LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>Memory interface</strong></p></td><td  ><p>256-bit / 16-channel</p></td><td  ><p>256-bit / 16-channel</p></td></tr><tr><td class="firstcol " ><p><strong>Memory interface speed</strong></p></td><td  ><p>Up to 9,400 Mbps</p></td><td  ><p>Up to 9,400 Mbps</p></td></tr><tr><td class="firstcol " ><p><strong>Peak memory bandwidth</strong></p></td><td  ><p>Up to 300 GB/s</p></td><td  ><p>Up to 300 GB/s</p></td></tr><tr><td class="firstcol " ><p><strong>NVLink C2C bandwidth</strong></p></td><td  ><p>600 GB/s bidirectional</p></td><td  ><p>600 GB/s bidirectional</p></td></tr><tr><td class="firstcol " ><p><strong>Display interface support</strong></p></td><td  ><p>HDMI 2.1a; DisplayPort 2.0 over USB4</p></td><td  ><p>HDMI 2.1a; DisplayPort 2.0 over USB4</p></td></tr><tr><td class="firstcol " ><p><strong>Process technology</strong></p></td><td  ><p>TSMC 3 nm (both dies)</p></td><td  ><p>TSMC 3 nm (both dies)</p></td></tr><tr><td class="firstcol " ><p><strong>Configurable SoC TDP</strong></p></td><td  ><p>45–80 W</p></td><td  ><p>45–80 W</p></td></tr></tbody></table></div><p>The Nvidia RTX Spark SoC packs in all the Nvidia good stuff alongside a whole slew of, what appear to be, relatively off-the-shelf Arm cores. This is all packed in alongside up to 128 GB of unified LPDDR5X-9400 memory.</p><p>First the GPU side. This is exactly the same as we've already seen drop in the DGX Spark machine launched around this time last year; it's an RTX Blackwell-based chip, sporting 6144 CUDA cores across 48 SMs. Effectively, that's the same core configuration as the desktop <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-founders-edition-review/" target="_blank">RTX 5070 GPU</a>, the GB205, although with a chunk less L2 cache, and a necessarily slower clock speed.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2642px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qzrcjehY65D8RBz9QyASbD" name="rtx-spark-in-hand" alt="Dave holding an Nvidia RTX Spark chip in his hand" src="https://cdn.mos.cms.futurecdn.net/qzrcjehY65D8RBz9QyASbD-1920-80.jpg" mos="" align="middle" fullscreen="" width="2642" height="1486" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>This is one of the reasons that, despite having the same configuration as the desktop RTX 5070, Nvidia is tempering performance expectations by suggesting it will be more akin to the performance of the <em>mobile </em>RTX 5070 (which has fewer SM) in actual gaming performance. </p><p>Aside from the cache difference, and the overall difference in attached system memory (LPDDR5X not GDDR7) we can assume that the layout of the Blackwell SM remains the same as it has done since the architecture first launched. There are still 128 CUDA cores per SM and I would expect 192 fifth gen Tensor Cores and 48 fourth gen RT Cores, as there are in the DGX Spark's chip.</p><p>The 256-bit memory interface and slower memory means you're getting 300 GB/s of memory bandwidth, against the 672 GB/s the desktop RTX 5070 configuration can offer on its 192-bit bus. But these are slightly apples vs. oranges comparisons because of the platform the RTX Spark is sitting in, the unified memory architecture (UMA) it's surrounded by, and the CPU companion it has.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/dWj5tvzLHd4BoLGLZ8thT7-1920-80.jpg" alt="Nvidia's N1X RTX Spark cores" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RHqPgxvPVoT4hGjMYkhMT7-1920-80.jpg" alt="Nvidia's N1X RTX Spark cores" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>Which, although Nvidia is calling it a Grace CPU, and custom-made with MediaTek, does still just sport some off-the-shelf Arm cores. But a lot of them, to be fair. There are 10 'performance' Arm Cortex-X925 cores and 10 'efficient' Arm Cortex-A725 cores and they mark the peak of Arm's 2024 lineup.</p><p>As far as we know, however, there hasn't been any additional work done with these cores to help bolster the necessary emulation to be able to run the x86-focused workloads that are going to be thrown their way. This is the step Apple has taken with its own Arm cores, making sure they're designed from the ground up to take care of such things.</p><p>There is also a second, cut-down RTX Spark SoC. That comes with 5120 CUDA cores across 40 SMs (so a commensurate reduction in Tensor cores and RT cores, too) and with 18 Arm CPU cores, meaning one less of each of the performance and efficient cores.</p><h2 class="article-body__section" id="section-nvidia-rtx-spark-gaming-performance"><span>Nvidia RTX Spark - Gaming performance</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper *, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper *:before, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper *:after, #fv-chart-1792075982248-y64zpc686-slideshow *, #fv-chart-1792075982248-y64zpc686-slideshow *:before, #fv-chart-1792075982248-y64zpc686-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792075982248-y64zpc686-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn.disabled, #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-label-space { display: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">[{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "1080p gaming performance",  "description": "Testing the relative gaming performance of different laptops across multiple games.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:53:02.249Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "Cyberpunk 2077 (1080p RT Ultra)",    "Baldur's Gate 3 (1080p Ultra)",    "Black Myth: Wukong benchmarking tool (1080p High)",    "Metro Exodus Enhanced Edition (1080p Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Cyberpunk 2077 (1080p RT Ultra)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Cyberpunk 2077 (1080p RT Ultra)",      "value": 43,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Cyberpunk 2077 (1080p RT Ultra)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Baldur's Gate 3 (1080p Ultra)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Baldur's Gate 3 (1080p Ultra)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Baldur's Gate 3 (1080p Ultra)",      "value": 65,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Black Myth: Wukong benchmarking tool (1080p High)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Black Myth: Wukong benchmarking tool (1080p High)",      "value": 64,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Black Myth: Wukong benchmarking tool (1080p High)",      "value": 65,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 82,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 84,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Native gaming performance",  "description": "Testing the relative gaming performance across multiple games at the laptop screen's native resolution.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:53:02.249Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "Cyberpunk 2077 (Native res. RT Ultra)",    "Baldur's Gate 3 (Native res. Ultra)",    "Black Myth: Wukong benchmarking tool (Native res. High)",    "Metro Exodus Enhanced Edition (Native res. Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Cyberpunk 2077 (Native res. RT Ultra)",      "value": 18,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Cyberpunk 2077 (Native res. RT Ultra)",      "value": 18,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Cyberpunk 2077 (Native res. RT Ultra)",      "value": 7,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Baldur's Gate 3 (Native res. Ultra)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Baldur's Gate 3 (Native res. Ultra)",      "value": 67,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Baldur's Gate 3 (Native res. Ultra)",      "value": 61,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Black Myth: Wukong benchmarking tool (Native res. High)",      "value": 38,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Black Myth: Wukong benchmarking tool (Native res. High)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Black Myth: Wukong benchmarking tool (Native res. High)",      "value": 63,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Metro Exodus Enhanced Edition (Native res. Ultra)",      "value": 46,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Metro Exodus Enhanced Edition (Native res. Ultra)",      "value": 54,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Metro Exodus Enhanced Edition (Native res. Ultra)",      "value": 49,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Upscaled gaming performance",  "description": "Testing the relative gaming performance of different laptops across multiple games.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:53:02.249Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",    "Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",      "value": 54,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",      "value": 62,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",      "value": 62,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",      "value": 63,      "unitText": "Avg FPS"    }  ]}]</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T14:53:02.249Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","value":54,"unit":"Avg FPS","multiValues":[{"value":54,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))","value":62,"unit":"Avg FPS","multiValues":[{"value":62,"unit":"Avg FPS"},{"value":37,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","value":75,"unit":"Avg FPS","multiValues":[{"value":75,"unit":"Avg FPS"},{"value":58,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":62,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","value":62,"unit":"Avg FPS","multiValues":[{"value":62,"unit":"Avg FPS"},{"value":43,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))","value":63,"unit":"Avg FPS","multiValues":[{"value":63,"unit":"Avg FPS"},{"value":55,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"attributes":["Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))"],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Upscaled gaming performance","subhead":"Testing the relative gaming performance of different laptops across multiple games.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[{"id":"slide-1792068864174","snapshot":{"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cyberpunk 2077 (1080p RT Ultra)","Baldur's Gate 3 (1080p Ultra)","Black Myth: Wukong benchmarking tool (1080p High)","Metro Exodus Enhanced Edition (1080p Ultra)"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"1080p gaming performance","subhead":"Testing the relative gaming performance of different laptops across multiple games.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false}},{"id":"slide-1792075946078","snapshot":{"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cyberpunk 2077 (Native res. RT Ultra)","Baldur's Gate 3 (Native res. Ultra)","Black Myth: Wukong benchmarking tool (Native res. High)","Metro Exodus Enhanced Edition (Native res. Ultra)"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Native gaming performance","subhead":"Testing the relative gaming performance across multiple games at the laptop screen's native resolution.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W | 1600p","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W | 1600p","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W | 1800p","Asus ProArt P16 | RTX Spark":"Asus ProArt P16 | RTX Spark | 1880p"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false}},{"id":"slide-1792075980795","snapshot":{"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Upscaled gaming performance","subhead":"Testing the relative gaming performance of different laptops across multiple games.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false}}]}</script><div id="fv-chart-1792075982248-y64zpc686-slideshow" class="fv-slideshow-container" data-slide-count="3" data-iframe-height="true"><div class="fv-slideshow-nav-row"><button class="fv-nav-btn prev disabled" aria-label="Previous Slide"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg><span>Previous</span></button><div class="fv-slide-counter">1 / 3</div><button class="fv-nav-btn next" aria-label="Next Slide"><span>Next</span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg></button></div><div class="fv-slides-wrapper"><div class="fv-slide" id="fv-chart-1792075982248-y64zpc686-slide-0-wrapper" data-index="0" style="display: block;"><div id="fv-chart-1792075982248-y64zpc686-slide-0" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">1080p gaming performance</h3><p class="fv-chart-subhead">Testing the relative gaming performance of different laptops across multiple games.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cyberpunk 2077 (1080p RT Ultra)</option><option value="1">Baldur's Gate 3 (1080p Ultra)</option><option value="2">Black Myth: Wukong benchmarking tool (1080p High)</option><option value="3">Metro Exodus Enhanced Edition (1080p Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Cyberpunk 2077 (1080p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p RT Ultra)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.66666666666667%; background-color: #E33235;" data-target-width="71.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.666666666666664%; background-color: #FE9F58;" data-target-width="46.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">28</span></div></div></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1080p RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>36 Avg FPS, 27 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>43 Avg FPS, 33 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>45 Avg FPS, 28 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Baldur's Gate 3 (1080p Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (1080p Ultra)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.25%; background-color: #E33235;" data-target-width="81.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #FE9F58;" data-target-width="47.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div></div></div></div></div><table class="sr-only"><caption>Baldur's Gate 3 (1080p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>42 Avg FPS, 24 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>69 Avg FPS, 41 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>65 Avg FPS, 38 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Black Myth: Wukong benchmarking tool (1080p High)" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (1080p High)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #FE9F58;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.75%; background-color: #FE9F58;" data-target-width="68.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.25%; background-color: #E33235;" data-target-width="81.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #FE9F58;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">56</span></div></div></div></div></div><table class="sr-only"><caption>Black Myth: Wukong benchmarking tool (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>66 Avg FPS, 42 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>64 Avg FPS, 55 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>65 Avg FPS, 56 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Metro Exodus Enhanced Edition (1080p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1080p Ultra)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.999999999999996%; background-color: #FE9F58;" data-target-width="28.999999999999996" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51%; background-color: #FE9F58;" data-target-width="51" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (1080p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>75 Avg FPS, 29 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>82 Avg FPS, 51 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>84 Avg FPS, 50 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div><div class="fv-slide" id="fv-chart-1792075982248-y64zpc686-slide-1-wrapper" data-index="1" style="display: none;"><div id="fv-chart-1792075982248-y64zpc686-slide-1" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Native gaming performance</h3><p class="fv-chart-subhead">Testing the relative gaming performance across multiple games at the laptop screen's native resolution.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cyberpunk 2077 (Native res. RT Ultra)</option><option value="1">Baldur's Gate 3 (Native res. Ultra)</option><option value="2">Black Myth: Wukong benchmarking tool (Native res. High)</option><option value="3">Metro Exodus Enhanced Edition (Native res. Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Cyberpunk 2077 (Native res. RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (Native res. RT Ultra)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #FE9F58;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">8</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #E33235;" data-target-width="35" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">7</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 15%; background-color: #FE9F58;" data-target-width="15" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3</span></div></div></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (Native res. RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>18 Avg FPS, 13 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>18 Avg FPS, 8 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>7 Avg FPS, 3 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Baldur's Gate 3 (Native res. Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (Native res. Ultra)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #E33235;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.500000000000004%; background-color: #FE9F58;" data-target-width="27.500000000000004" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.75%; background-color: #E33235;" data-target-width="83.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.25%; background-color: #E33235;" data-target-width="76.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><table class="sr-only"><caption>Baldur's Gate 3 (Native res. Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>36 Avg FPS, 22 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>67 Avg FPS, 37 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>61 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Black Myth: Wukong benchmarking tool (Native res. High)" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (Native res. High)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #E33235;" data-target-width="47.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.5%; background-color: #FE9F58;" data-target-width="32.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.75%; background-color: #E33235;" data-target-width="78.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.75%; background-color: #FE9F58;" data-target-width="68.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><table class="sr-only"><caption>Black Myth: Wukong benchmarking tool (Native res. High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>38 Avg FPS, 26 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>72 Avg FPS, 62 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>63 Avg FPS, 55 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Metro Exodus Enhanced Edition (Native res. Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (Native res. Ultra)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.66666666666667%; background-color: #E33235;" data-target-width="76.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.333333333333332%; background-color: #FE9F58;" data-target-width="28.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #FE9F58;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.66666666666667%; background-color: #E33235;" data-target-width="81.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #FE9F58;" data-target-width="58.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (Native res. Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>46 Avg FPS, 17 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>54 Avg FPS, 39 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>49 Avg FPS, 35 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div><div class="fv-slide" id="fv-chart-1792075982248-y64zpc686-slide-2-wrapper" data-index="2" style="display: none;"><div id="fv-chart-1792075982248-y64zpc686-slide-2" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Upscaled gaming performance</h3><p class="fv-chart-subhead">Testing the relative gaming performance of different laptops across multiple games.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)</option><option value="1">Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-2-bar-Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)" data-chart-type="Bar" data-title="Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #E33235;" data-target-width="67.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.75%; background-color: #E33235;" data-target-width="93.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.5%; background-color: #FE9F58;" data-target-width="72.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #E33235;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.75%; background-color: #FE9F58;" data-target-width="53.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div></div></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>54 Avg FPS, 34 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>75 Avg FPS, 58 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>62 Avg FPS, 43 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-2-bar-Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #E33235;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.75%; background-color: #E33235;" data-target-width="78.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.75%; background-color: #FE9F58;" data-target-width="68.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><table class="sr-only"><caption>Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%)) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>62 Avg FPS, 37 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>72 Avg FPS, 62 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>63 Avg FPS, 55 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (true) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                var slideshowContainer = document.getElementById(uniqueId + '-slideshow');    if (slideshowContainer) {        var currentSlideIndex = 0;        var slides = slideshowContainer.querySelectorAll('.fv-slide');        var counter = slideshowContainer.querySelector('.fv-slide-counter');        var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');        var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');        var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');        function updateControls(index) {            if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;            if (dropdown) dropdown.value = index;                        if (prevBtn) {                if (index === 0) prevBtn.classList.add('disabled');                else prevBtn.classList.remove('disabled');            }            if (nextBtn) {                if (index === slides.length - 1) nextBtn.classList.add('disabled');                else nextBtn.classList.remove('disabled');            }        }        function showSlide(index) {            if (index < 0) return;            if (index >= slides.length) return;                        currentSlideIndex = index;                        slides.forEach(function(slide, i) {                slide.style.display = i === index ? 'block' : 'none';                if (i === index) {                    var chartEl = slide.querySelector('.fv-chart-wrapper');                    if (chartEl) {                        fvLocalAnimate(chartEl);                    }                }            });                        updateControls(currentSlideIndex);        }        if (prevBtn) {            prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });        }        if (nextBtn) {            nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });        }        if (dropdown) {            dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });        }                updateControls(currentSlideIndex);                if (slides.length > 0) {            var firstChart = slides[0].querySelector('.fv-chart-wrapper');            if (firstChart) {                setTimeout(function() { fvLocalAnimate(firstChart); }, 100);            }        }    }          } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792075982248-y64zpc686', true); });      } else {        initialize('fv-chart-1792075982248-y64zpc686', true);      }    })();      </script></div><p>The performance I've been getting out of this slim little gaming laptop has been impressive. Especially when you consider the power it's drawing to get mighty close to (and sometimes matching) the performance of gaming laptops whose GPUs alone are running to 115 W of power. </p><p>The Metro Exodus Enhanced benchmark is the one we've been consistently using for gaming performance metrics because we can easily loop the test runs to provide a more long-term understanding of what happens over a gaming session. And, looking at the numbers the RTX Spark in this Asus ProArt P16 laptop is demonstrating, you can see what an efficient piece of silicon this is. </p><p>We ran a triple loop of the Metro Exodus Enhanced benchmark at top 1080p settings and while the RTX Spark machine was demonstrably slower than the other RTX 5070 systems I'm comparing it against, it's running at a fraction of the power draw. At 75 fps it is behind the 115 W RTX 5070 in the Blade 14 at 84 fps, but the chip is running almost 700 MHz slower and drawing down an average of 43 W over that run compared to 97 W for the Razer laptop.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792069139376-wv6lyi9yj *, #fv-chart-1792069139376-wv6lyi9yj *:before, #fv-chart-1792069139376-wv6lyi9yj *:after, #fv-chart-1792069139376-wv6lyi9yj-slideshow *, #fv-chart-1792069139376-wv6lyi9yj-slideshow *:before, #fv-chart-1792069139376-wv6lyi9yj-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792069139376-wv6lyi9yj, #fv-chart-1792069139376-wv6lyi9yj-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069139376-wv6lyi9yj { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792069139376-wv6lyi9yj .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792069139376-wv6lyi9yj.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn.disabled, #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792069139376-wv6lyi9yj .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792069139376-wv6lyi9yj .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792069139376-wv6lyi9yj .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792069139376-wv6lyi9yj.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792069139376-wv6lyi9yj .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-pie-container, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stacked-product, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-grouped-bar-product, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stacked-product, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-label, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-grouped-product-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-label, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-container, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-cluster, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-container, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-x-axis-wrapper, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-x-axis-label-space, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-x-axis-chart-space, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-benchmark-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-dropdown-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-carousel-nav-btn, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-chart-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-chart-subhead, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-header, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-wrapper, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-vs, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-container, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792069139376-wv6lyi9yj .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-product, #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label, #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-container, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-logo, #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069139376-wv6lyi9yj.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "System performance",  "description": "Measuring the relative performance of the different laptop chips in terms of power and thermals.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:58:59.376Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "GPU stats",    "Gaming temperatures",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – GPU stats",      "value": 1906,      "unitText": "Avg GPU freq. (MHz)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – GPU stats",      "value": 2421,      "unitText": "Avg GPU freq. (MHz)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – GPU stats",      "value": 2589,      "unitText": "Avg GPU freq. (MHz)"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Gaming temperatures",      "value": 75,      "unitText": "Avg CPU (°C)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Gaming temperatures",      "value": 65,      "unitText": "Avg CPU (°C)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Gaming temperatures",      "value": 79,      "unitText": "Avg CPU (°C)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:58:59.376Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Gaming temperatures","value":75,"unit":"Avg CPU (°C)","multiValues":[{"value":75,"unit":"Avg CPU (°C)"},{"value":83,"unit":"Max CPU (°C)"},{"value":67,"unit":"Avg GPU (°C)"},{"value":70,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"GPU stats","value":1906,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":1906,"unit":"Avg GPU freq. (MHz)"},{"value":43,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Gaming temperatures","value":65,"unit":"Avg CPU (°C)","multiValues":[{"value":65,"unit":"Avg CPU (°C)"},{"value":73,"unit":"Max CPU (°C)"},{"value":68,"unit":"Avg GPU (°C)"},{"value":71,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"GPU stats","value":2421,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":2421,"unit":"Avg GPU freq. (MHz)"},{"value":77,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"Gaming temperatures","value":55,"unit":"Avg CPU (°C)","multiValues":[{"value":55,"unit":"Avg CPU (°C)"},{"value":98,"unit":"Max CPU (°C)"},{"value":28,"unit":"Avg GPU (°C)"},{"value":69,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"GPU stats","value":1750,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":1750,"unit":"Avg GPU freq. (MHz)"},{"value":55,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Gaming temperatures","value":79,"unit":"Avg CPU (°C)","multiValues":[{"value":79,"unit":"Avg CPU (°C)"},{"value":85,"unit":"Max CPU (°C)"},{"value":78,"unit":"Avg GPU (°C)"},{"value":81,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"GPU stats","value":2589,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":2589,"unit":"Avg GPU freq. (MHz)"},{"value":97,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"attributes":["Gaming temperatures","GPU stats"],"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["GPU stats","Gaming temperatures"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"System performance","subhead":"Measuring the relative performance of the different laptop chips in terms of power and thermals.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792069139376-wv6lyi9yj" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">System performance</h3><p class="fv-chart-subhead">Measuring the relative performance of the different laptop chips in terms of power and thermals.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">GPU stats</option><option value="1">Gaming temperatures</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792069139376-wv6lyi9yj-bar-GPU stats" data-chart-type="Bar" data-title="GPU stats" data-subhead="Measuring the relative performance of the different laptop chips in terms of power and thermals." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg GPU freq. (MHz)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Avg GPU power (W)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.53333333333333%; background-color: #E33235;" data-target-width="63.53333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1906</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 1.4333333333333333%; background-color: #FE9F58;" data-target-width="1.4333333333333333" data-target-margin="0"></div><span class="fv-bar-value-outside">43</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.7%; background-color: #E33235;" data-target-width="80.7" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2421</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.566666666666667%; background-color: #FE9F58;" data-target-width="2.566666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">77</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.3%; background-color: #E33235;" data-target-width="86.3" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2589</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.2333333333333334%; background-color: #FE9F58;" data-target-width="3.2333333333333334" data-target-margin="0"></div><span class="fv-bar-value-outside">97</span></div></div></div><table class="sr-only"><caption>GPU stats Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>1906 Avg GPU freq. (MHz), 43 Avg GPU power (W)</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>2421 Avg GPU freq. (MHz), 77 Avg GPU power (W)</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>2589 Avg GPU freq. (MHz), 97 Avg GPU power (W)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792069139376-wv6lyi9yj-bar-Gaming temperatures" data-chart-type="Bar" data-title="Gaming temperatures" data-subhead="Measuring the relative performance of the different laptop chips in terms of power and thermals." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg CPU (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Max CPU (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Avg GPU (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #EB6F71;"></div><span>Max GPU (°C)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83%; background-color: #FE9F58;" data-target-width="83" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">83</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67%; background-color: #1CA9C4;" data-target-width="67" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #EB6F71;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">70</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #FE9F58;" data-target-width="73" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #1CA9C4;" data-target-width="68" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71%; background-color: #EB6F71;" data-target-width="71" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">71</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #FE9F58;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78%; background-color: #1CA9C4;" data-target-width="78" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #EB6F71;" data-target-width="81" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81</span></div></div></div></div></div><table class="sr-only"><caption>Gaming temperatures Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>75 Avg CPU (°C), 83 Max CPU (°C), 67 Avg GPU (°C), 70 Max GPU (°C)</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>65 Avg CPU (°C), 73 Max CPU (°C), 68 Avg GPU (°C), 71 Max GPU (°C)</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>79 Avg CPU (°C), 85 Max CPU (°C), 78 Avg GPU (°C), 81 Max GPU (°C)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792069139376-wv6lyi9yj', false); });      } else {        initialize('fv-chart-1792069139376-wv6lyi9yj', false);      }    })();      </script></div><p>The other side of that is that, because it's such an efficient setup pulling the plug out of the side of the thing isn't going to slam the frame rate. You're still going to get within a percentage point of the same performance whether you're plugged into the wall or not.</p><p>Keep this thing in Performance mode and I've seen the frame rate change by maybe a couple of fps, but nothing that's really more than could be explained by statistical variance. Nvidia says that you will get around 99% of the performance from the battery you get from the plug, and that bears out.</p><p>But even on Balanced power mode, in the ProArt Creator Hub (a reskinned Armoury Crate), while the power draw drops to 30 W and the GPU clock speed to 1572 MHz, I only saw Metro's benchmark drop by maybe five frames per second on average.</p><p>That's not to say there aren't issues here, because at full power you're still not going to be gaming for <em>hours. </em>I measured under an hour and a half running the Fire Strike benchmark on loop via the PCMark 10 CLI. Which is not really what I'd hoped to see from an efficient Arm-based system.</p><p>This is still a gaming laptop that wants to be plugged in for the most part, maybe not for performance but definitely for longevity. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792069147073-kaaqw666i *, #fv-chart-1792069147073-kaaqw666i *:before, #fv-chart-1792069147073-kaaqw666i *:after, #fv-chart-1792069147073-kaaqw666i-slideshow *, #fv-chart-1792069147073-kaaqw666i-slideshow *:before, #fv-chart-1792069147073-kaaqw666i-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792069147073-kaaqw666i, #fv-chart-1792069147073-kaaqw666i-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069147073-kaaqw666i { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792069147073-kaaqw666i .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792069147073-kaaqw666i .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792069147073-kaaqw666i.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792069147073-kaaqw666i.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069147073-kaaqw666i .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069147073-kaaqw666i-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn.disabled, #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792069147073-kaaqw666i .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792069147073-kaaqw666i .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792069147073-kaaqw666i .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792069147073-kaaqw666i .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792069147073-kaaqw666i .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792069147073-kaaqw666i .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792069147073-kaaqw666i .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069147073-kaaqw666i .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792069147073-kaaqw666i .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792069147073-kaaqw666i .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792069147073-kaaqw666i .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792069147073-kaaqw666i .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792069147073-kaaqw666i .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-row, #fv-chart-1792069147073-kaaqw666i .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792069147073-kaaqw666i.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792069147073-kaaqw666i .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792069147073-kaaqw666i .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792069147073-kaaqw666i .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069147073-kaaqw666i .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-pie-container, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stacked-product, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-grouped-bar-product, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stacked-product, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-label, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-grouped-product-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-label, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-container, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-cluster, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-container, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-x-axis-wrapper, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-x-axis-label-space, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-x-axis-chart-space, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-benchmark-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-dropdown-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-carousel-nav-btn, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-chart-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-chart-subhead, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-header, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-wrapper, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-vs, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-container, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792069147073-kaaqw666i .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-row, #fv-chart-1792069147073-kaaqw666i .fv-stacked-product, #fv-chart-1792069147073-kaaqw666i .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label, #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-container, #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069147073-kaaqw666i .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-logo, #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069147073-kaaqw666i.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Battery life",  "description": "Testing gaming battery life using PCMark 10's dedicate gaming battery life test.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:59:07.074Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "PCMark 10",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – PCMark 10",      "value": 86,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 – PCMark 10",      "value": 131,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 (2025) – PCMark 10",      "value": 134,      "unitText": "Battery life (minutes)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:59:07.074Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"PCMark 10","value":86,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"PCMark 10","value":131,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"PCMark 10","value":101,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"PCMark 10","value":134,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"attributes":["PCMark 10"],"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["PCMark 10"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Battery life","subhead":"Testing gaming battery life using PCMark 10's dedicate gaming battery life test.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792069147073-kaaqw666i" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Battery life</h3><p class="fv-chart-subhead">Testing gaming battery life using PCMark 10's dedicate gaming battery life test.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792069147073-kaaqw666i-bar-PCMark 10" data-chart-type="Bar" data-title="PCMark 10" data-subhead="Testing gaming battery life using PCMark 10's dedicate gaming battery life test." data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">PCMark 10</h4><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 57.333333333333336%; background-color: #E33235;" data-target-width="57.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">86</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 87.33333333333333%; background-color: #FE9F58;" data-target-width="87.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">131</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 (2025)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 89.33333333333333%; background-color: #EB6F71;" data-target-width="89.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">134</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>86</td></tr><tr><td>Framework 16</td><td>131</td></tr><tr><td>Razer Blade 14 (2025)</td><td>134</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792069147073-kaaqw666i', false); });      } else {        initialize('fv-chart-1792069147073-kaaqw666i', false);      }    })();      </script></div><p>The other inevitable issues surround emulation. This is not an x86 system and while Microsoft's Prism layer is very good for the most part, there are problems with running games on an Arm system that will be familiar to anyone who's spent any time playing games on Linux. Yes, the hoary ol' chestnut of anti-cheat.</p><p>The good news is that Microsoft is working hard on this, presumably with the aim of stopping defectors from entering the sunny uplands of Linux gaming, and a ton of anti-cheat providers are already running on RTX Spark and Windows (formerly on Arm). From everybody's favourite, Denuvo, to BattlEye and EAC, a host of multiplayer games can be played from day one.</p><p>But there are still some notable exceptions, the main one for me being EA's Javelin. I like me some Battlefield, and I've been playing a lot of FC27 recently, too, for I am a football-liker. These are currently games not compatible with RTX Spark, nor is the F1 24 benchmark we run across our gaming laptop suite, either. Javelin is expected to be updated and added to the list of supported anti-cheats next year, but for right now, you're out of luck.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792068727177-wdai12o3n *, #fv-chart-1792068727177-wdai12o3n *:before, #fv-chart-1792068727177-wdai12o3n *:after, #fv-chart-1792068727177-wdai12o3n-slideshow *, #fv-chart-1792068727177-wdai12o3n-slideshow *:before, #fv-chart-1792068727177-wdai12o3n-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792068727177-wdai12o3n, #fv-chart-1792068727177-wdai12o3n-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792068727177-wdai12o3n { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792068727177-wdai12o3n .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792068727177-wdai12o3n .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792068727177-wdai12o3n.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792068727177-wdai12o3n.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792068727177-wdai12o3n .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792068727177-wdai12o3n-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn.disabled, #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792068727177-wdai12o3n .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792068727177-wdai12o3n .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792068727177-wdai12o3n .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792068727177-wdai12o3n .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792068727177-wdai12o3n .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792068727177-wdai12o3n .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792068727177-wdai12o3n .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792068727177-wdai12o3n .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792068727177-wdai12o3n .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792068727177-wdai12o3n .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792068727177-wdai12o3n .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792068727177-wdai12o3n .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792068727177-wdai12o3n .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-row, #fv-chart-1792068727177-wdai12o3n .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792068727177-wdai12o3n.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792068727177-wdai12o3n .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792068727177-wdai12o3n .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792068727177-wdai12o3n .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792068727177-wdai12o3n .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-pie-container, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stacked-product, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-grouped-bar-product, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stacked-product, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-label, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-grouped-product-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-label, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-container, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-cluster, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-container, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-x-axis-wrapper, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-x-axis-label-space, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-x-axis-chart-space, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-benchmark-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-dropdown-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-carousel-nav-btn, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-chart-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-chart-subhead, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-header, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-wrapper, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-vs, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-container, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792068727177-wdai12o3n .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-row, #fv-chart-1792068727177-wdai12o3n .fv-stacked-product, #fv-chart-1792068727177-wdai12o3n .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label, #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-container, #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster { width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-label-space { display: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792068727177-wdai12o3n .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-logo, #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792068727177-wdai12o3n.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "CPU performance",  "description": "Testing the straight CPU performance of the relative laptop silicon.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:52:07.178Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "MSI Crosshair 16 HX (AI)",    "Razer Blade 14 (2025)",    "Cinebench 2024",    "7zip 24.07",    "Procyon",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Cinebench 2024",      "value": 1018,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | Ryzen AI 9 HX 370 – Cinebench 2024",      "value": 1158,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "MSI Crosshair 16 HX | Core Ultra 9 275HX\u003cbr> – Cinebench 2024",      "value": 1320,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | Ryzen AI 9 365 – Cinebench 2024",      "value": 1054,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – 7zip 24.07",      "value": 156.362,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | Ryzen AI 9 HX 370 – 7zip 24.07",      "value": 108.822,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "MSI Crosshair 16 HX | Core Ultra 9 275HX\u003cbr> – 7zip 24.07",      "value": 121.787,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | Ryzen AI 9 365 – 7zip 24.07",      "value": 103.17,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Procyon",      "value": 1505,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | Ryzen AI 9 HX 370 – Procyon",      "value": 1789,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "MSI Crosshair 16 HX | Core Ultra 9 275HX\u003cbr> – Procyon",      "value": 1508,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | Ryzen AI 9 365 – Procyon",      "value": 1704,      "unitText": "Overall index score"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:52:07.178Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"7zip 24.07","value":156.362,"unit":"Compressing (GIPS)","multiValues":[{"value":156.362,"unit":"Compressing (GIPS)"},{"value":135.541,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Cinebench 2024","value":1018,"unit":"Multi-core index score","multiValues":[{"value":1018,"unit":"Multi-core index score"},{"value":72,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Procyon","value":1505,"unit":"Overall index score","multiValues":[{"value":1505,"unit":"Overall index score"},{"value":66.404,"unit":"Duration (Sec)"},{"value":4.15,"unit":"Sec/image"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"7zip 24.07","value":108.822,"unit":"Compressing (GIPS)","multiValues":[{"value":108.822,"unit":"Compressing (GIPS)"},{"value":128.355,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Cinebench 2024","value":1158,"unit":"Multi-core index score","multiValues":[{"value":1158,"unit":"Multi-core index score"},{"value":105,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Procyon","value":1789,"unit":"Overall index score","multiValues":[{"value":1789,"unit":"Overall index score"},{"value":55.9,"unit":"Duration (Sec)"},{"value":3.49,"unit":"Sec/image"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"7zip 24.07","value":121.787,"unit":"Compressing (GIPS)","multiValues":[{"value":121.787,"unit":"Compressing (GIPS)"},{"value":130.822,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"Cinebench 2024","value":1320,"unit":"Multi-core index score","multiValues":[{"value":1320,"unit":"Multi-core index score"},{"value":134,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"Procyon","value":1508,"unit":"Overall index score","multiValues":[{"value":1508,"unit":"Overall index score"},{"value":66.27,"unit":"Duration (Sec)"},{"value":4.14,"unit":"Sec/image"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"7zip 24.07","value":103.17,"unit":"Compressing (GIPS)","multiValues":[{"value":103.17,"unit":"Compressing (GIPS)"},{"value":107.975,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Cinebench 2024","value":1054,"unit":"Multi-core index score","multiValues":[{"value":1054,"unit":"Multi-core index score"},{"value":115,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Procyon","value":1704,"unit":"Overall index score","multiValues":[{"value":1704,"unit":"Overall index score"},{"value":58.67,"unit":"Duration (Sec)"},{"value":3.67,"unit":"Sec/image"}],"color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"attributes":["7zip 24.07","Cinebench 2024","Procyon"],"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cinebench 2024","7zip 24.07","Procyon"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"CPU performance","subhead":"Testing the straight CPU performance of the relative laptop silicon.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | Ryzen AI 9 HX 370","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | Core Ultra 9 275HX<br>","Razer Blade 14 (2025)":"Razer Blade 14 | Ryzen AI 9 365"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792068727177-wdai12o3n" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">CPU performance</h3><p class="fv-chart-subhead">Testing the straight CPU performance of the relative laptop silicon.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cinebench 2024</option><option value="1">7zip 24.07</option><option value="2">Procyon</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792068727177-wdai12o3n-bar-Cinebench 2024" data-chart-type="Bar" data-title="Cinebench 2024" data-subhead="Testing the straight CPU performance of the relative laptop silicon." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Multi-core index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Single-core index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.86666666666666%; background-color: #E33235;" data-target-width="67.86666666666666" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1018</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 4.8%; background-color: #FE9F58;" data-target-width="4.8" data-target-margin="0"></div><span class="fv-bar-value-outside">72</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | Ryzen AI 9 HX 370</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.2%; background-color: #E33235;" data-target-width="77.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1158</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.000000000000001%; background-color: #FE9F58;" data-target-width="7.000000000000001" data-target-margin="0"></div><span class="fv-bar-value-outside">105</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Crosshair 16 HX | Core Ultra 9 275HX<br></div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #E33235;" data-target-width="88" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1320</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 8.933333333333334%; background-color: #FE9F58;" data-target-width="8.933333333333334" data-target-margin="0"></div><span class="fv-bar-value-outside">134</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | Ryzen AI 9 365</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70.26666666666667%; background-color: #E33235;" data-target-width="70.26666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1054</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.666666666666666%; background-color: #FE9F58;" data-target-width="7.666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">115</span></div></div></div><table class="sr-only"><caption>Cinebench 2024 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>1018 Multi-core index score, 72 Single-core index score</td></tr><tr><td>Framework 16 | Ryzen AI 9 HX 370</td><td>1158 Multi-core index score, 105 Single-core index score</td></tr><tr><td>MSI Crosshair 16 HX | Core Ultra 9 275HX<br></td><td>1320 Multi-core index score, 134 Single-core index score</td></tr><tr><td>Razer Blade 14 | Ryzen AI 9 365</td><td>1054 Multi-core index score, 115 Single-core index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792068727177-wdai12o3n-bar-7zip 24.07" data-chart-type="Bar" data-title="7zip 24.07" data-subhead="Testing the straight CPU performance of the relative laptop silicon." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Compressing (GIPS)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Decompressing (GIPS)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.181%; background-color: #E33235;" data-target-width="78.181" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">156.362</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.7705%; background-color: #FE9F58;" data-target-width="67.7705" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">135.541</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | Ryzen AI 9 HX 370</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.411%; background-color: #E33235;" data-target-width="54.411" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">108.822</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64.1775%; background-color: #FE9F58;" data-target-width="64.1775" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">128.355</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Crosshair 16 HX | Core Ultra 9 275HX<br></div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.8935%; background-color: #E33235;" data-target-width="60.8935" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">121.787</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.411%; background-color: #FE9F58;" data-target-width="65.411" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">130.822</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | Ryzen AI 9 365</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.585%; background-color: #E33235;" data-target-width="51.585" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">103.17</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.9875%; background-color: #FE9F58;" data-target-width="53.9875" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">107.975</span></div></div></div></div></div><table class="sr-only"><caption>7zip 24.07 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>156.362 Compressing (GIPS), 135.541 Decompressing (GIPS)</td></tr><tr><td>Framework 16 | Ryzen AI 9 HX 370</td><td>108.822 Compressing (GIPS), 128.355 Decompressing (GIPS)</td></tr><tr><td>MSI Crosshair 16 HX | Core Ultra 9 275HX<br></td><td>121.787 Compressing (GIPS), 130.822 Decompressing (GIPS)</td></tr><tr><td>Razer Blade 14 | Ryzen AI 9 365</td><td>103.17 Compressing (GIPS), 107.975 Decompressing (GIPS)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792068727177-wdai12o3n-bar-Procyon" data-chart-type="Bar" data-title="Procyon" data-subhead="Testing the straight CPU performance of the relative laptop silicon." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Overall index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Duration (Sec)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Sec/image</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.25%; background-color: #E33235;" data-target-width="75.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1505</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.3201999999999994%; background-color: #FE9F58;" data-target-width="3.3201999999999994" data-target-margin="0"></div><span class="fv-bar-value-outside">66.404</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.2075%; background-color: #1CA9C4;" data-target-width="0.2075" data-target-margin="0"></div><span class="fv-bar-value-outside">4.15</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | Ryzen AI 9 HX 370</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 89.45%; background-color: #E33235;" data-target-width="89.45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1789</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.795%; background-color: #FE9F58;" data-target-width="2.795" data-target-margin="0"></div><span class="fv-bar-value-outside">55.9</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.1745%; background-color: #1CA9C4;" data-target-width="0.1745" data-target-margin="0"></div><span class="fv-bar-value-outside">3.49</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Crosshair 16 HX | Core Ultra 9 275HX<br></div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.4%; background-color: #E33235;" data-target-width="75.4" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1508</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.3135%; background-color: #FE9F58;" data-target-width="3.3135" data-target-margin="0"></div><span class="fv-bar-value-outside">66.27</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.207%; background-color: #1CA9C4;" data-target-width="0.207" data-target-margin="0"></div><span class="fv-bar-value-outside">4.14</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | Ryzen AI 9 365</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85.2%; background-color: #E33235;" data-target-width="85.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1704</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.9335%; background-color: #FE9F58;" data-target-width="2.9335" data-target-margin="0"></div><span class="fv-bar-value-outside">58.67</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.1835%; background-color: #1CA9C4;" data-target-width="0.1835" data-target-margin="0"></div><span class="fv-bar-value-outside">3.67</span></div></div></div><table class="sr-only"><caption>Procyon Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>1505 Overall index score, 66.404 Duration (Sec), 4.15 Sec/image</td></tr><tr><td>Framework 16 | Ryzen AI 9 HX 370</td><td>1789 Overall index score, 55.9 Duration (Sec), 3.49 Sec/image</td></tr><tr><td>MSI Crosshair 16 HX | Core Ultra 9 275HX<br></td><td>1508 Overall index score, 66.27 Duration (Sec), 4.14 Sec/image</td></tr><tr><td>Razer Blade 14 | Ryzen AI 9 365</td><td>1704 Overall index score, 58.67 Duration (Sec), 3.67 Sec/image</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792068727177-wdai12o3n', false); });      } else {        initialize('fv-chart-1792068727177-wdai12o3n', false);      }    })();      </script></div><p>The other issue is also CPU related, though not 100% emulation based. Those Arm cores, even the X925 'performance' cores are not the same as the x86 chips from AMD and Intel right now. Multithreading is fine, but the real problem is single core performance. Take a look at the Cinebench scores and you'll see what I mean. </p><p>With a single core score of 72 it's well behind the other chips in the test. Those this benchmark will, of course, be emulated and that is going to impact the outcome, but it highlights where the limitations lie with Nvidia's approach to the SoC. Translate that into gaming terms and the Baldur's Gate 3 benchmark above highlights this perfectly.</p><p>This is a game we use to benchmark the gaming performance of a system's CPU because the end-game in the city really demands a lot from your processor. That's why you'll see the MSI Crosshair 16 HX topping the benchmarks here, with its grunty Intel processor. And down the bottom is the RTX Spark with its Arm cores chugging along some 43% slower in terms of frame rate.</p><h2 class="article-body__section" id="section-nvidia-rtx-spark-early-impressions"><span>Nvidia RTX Spark - Early impressions</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PHEpRgCDRckSQ5CpxHeSdL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/67se7k5fLbRDHQaLnVkReL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/v6MexP7DQk8scp2tmb6iPL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/335dER7yYLxcPPfk7AdnLL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>I can't really give a solid verdict on the RTX Spark having only had it in my hands for less than a week. But I can certainly give you my first impressions. And they are that the platform delivers a really great device. The Asus ProArt P16 is an absolute delight to use, and the performance it delivers is genuinely impressive.</p><p>If this were the same price, or even slightly more than an RTX 5070 gaming laptop, then it would be an easy thing to call this the future of mobile gaming machines. It comes in a thoroughly enjoyable form factor, performs admirably, and it would be a real toss-up for me as to whether I would rather this or the Razer Blade 14.</p><p>But it's not. This is a $4,400 machine, and while you can't currently pick up Blade 14 right now, you can get really lovely RTX 5070 gaming laptops for a lot lot less.</p><p>So, it can't be a solid recommendation for a dedicated PC gamer. </p><div><blockquote><p>A glimpse into a future where the x86 hegemony of hardware has well and truly been put to rest</p></blockquote></div><p>For less than the price of this middle-range RTX Spark laptop, you can pick up a very well-specced RTX 5090 laptop that comes with 24 GB of very fast GDDR7 VRAM. And that will really do the business when it comes to local AI. Yes, you can go and buy a 24 GB RTX Spark for $2,700, but that would be the same overall memory pool as a standard 16 GB laptop with an RTX 5070. Or even RTX 5060 for that matter. That's not going to get you real access to good local AI models to take advantage of what makes the RTX Spark special.</p><p>And there <em>are </em>things that do make it special. If you could stretch to the 64 GB version I have here, and you do far more than game on your device, it does become almost that do-everything laptop. You absolutely can play games on this at high frame rates when you're done doing serious work things, but you can also slam through beefy local AI models, but you also have both the GPU and memory power to run through practically any creative task you put your mind to. And Windows (formerly 'on Arm') is now so transparent that almost every application you might use to do that is fully supported on the OS.</p><p>This is my daily driver now, and I'll be spending a lot more time with it to give a more considered take down the line, combined with a whole lot more gaming benchmarks. But for now, and for a very specific audience, this is a hell of a machine. For the rest of us? Well, it's a glimpse into a future where the x86 hegemony of hardware has well and truly been put to rest.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-laptops/nvidias-rtx-spark-makes-for-an-impressive-arm-based-gaming-laptop-but-not-one-id-recommend-you-buy-just-for-pc-gaming/</link>
                                                                            <description>
                            <![CDATA[ The performance is there, the experience is great, but the price is utterly punitive when you compare against dedicated gaming laptops. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JQ9x9a69R7prL5cQr7Y3ug</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/28dXjtPHbhp8obUy9ASfVL-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:35:06 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 14:53:42 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Laptops]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/28dXjtPHbhp8obUy9ASfVL-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asus ProArt P16 laptop with Nvidia&#039;s RTX Spark inside]]></media:description>                                                            <media:text><![CDATA[Asus ProArt P16 laptop with Nvidia&#039;s RTX Spark inside]]></media:text>
                                <media:title type="plain"><![CDATA[Asus ProArt P16 laptop with Nvidia&#039;s RTX Spark inside]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/28dXjtPHbhp8obUy9ASfVL-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Well, here it is, Nvidia's all-in-one silicon, the RTX Spark. This is an SoC that's being promoted as the everything chip; the processor that can be all things to all people. It's a creator's chip, it's an AI-lover's chip, and it's a gamer's chip.</p><p>But all three of those kinds of people do need to have one thing in common: they need to be rather well off, because <a href="https://www.pcgamer.com/hardware/gaming-laptops/now-we-know-the-prices-of-the-new-rtx-spark-laptops-and-theyre-as-expensive-as-im-sure-you-feared/" target="_blank">this is also an expensive chip</a>. I spoke about it when the pricing first came to light last week, while I was at the launch event for this Windows-based tech. Even the cheapest of the RTX Spark machines coming our way will cost $2,700, and that will only get you the weaker cores, a paltry 24 GB of unified memory, and a 512 GB SSD.</p><p>That is certainly a limitation, but also completely expected in a time where all things PC cost a ludicrous amount of money, especially devices which are locked into requiring a colossal amount of memory to do their main task. Which, let's be honest here, is AI.</p><p>The unified memory architecture (UMA) of the RTX Spark is perfectly suited to providing a ton of memory for system resources, but also to be able to switch that over to supporting the GPU when it comes to smashing through local AI workloads which fill up the GPU's memory pool. It's the perfect time for Nvidia to release something like this, because local AI is set for a bit of an explosion in popularity (especially when the cloud services start charging <em>real</em> money for their services), but it's also the worst time because this sort of memory-heavy hardware is <em>expensive</em>.</p><p>But here it is in front of me, an RTX Spark laptop that looks for all the world like the slimline MacBook-esque <a href="https://www.pcgamer.com/hardware/gaming-laptops/razer-blade-14-2025-review/" target="_blank">Razer Blade</a> machines I've loved for years. But this is no Blade, this is an Asus ProArt P16 and it's a stunner. Thinner than the <a href="https://www.pcgamer.com/hardware/gaming-laptops/asus-rog-zephyrus-g16-2026-review/" target="_blank">Zephyrus G16</a> with a sleek aluminium body and a 64 GB, 20-core RTX Spark N1X chip inside it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="335dER7yYLxcPPfk7AdnLL" name="rtx-spark-04" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" src="https://cdn.mos.cms.futurecdn.net/335dER7yYLxcPPfk7AdnLL-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div><blockquote><p>From the get-go I can say that this is not a platform I can really recommend to the average PC gamer</p></blockquote></div><p>I've only been using it a short time, and there is so much to it and so much that is going to change over the next few months that I'm only really going to scratch the surface here. But today I'm going to go over the architecture and the gaming performance, and maybe I'll give you a little bit about my adventures in agentic AI as a palate cleanser later on.</p><p>Yet, even having spent under a week with an RTX Spark as my daily driver, I think from the get-go I can probably say that this is not a platform I can really recommend to the average PC gamer. It's too expensive and we're better served by the gaming laptops already on the market. But, it is an absolutely fascinating, and genuinely impressive platform, and could be a real glimpse at the future of PCs and laptops as a whole.</p><h2 class="article-body__section" id="section-nvidia-rtx-spark-architecture"><span>Nvidia RTX Spark - architecture</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="43r9NsyWuCiCCXfqYWp4eL" name="rtx-spark-06" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" src="https://cdn.mos.cms.futurecdn.net/43r9NsyWuCiCCXfqYWp4eL-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I've been waiting for this moment for a long time. The promise of an all-Nvidia gaming laptop has been a tantalising prospect for years now; even before the company tried to buy Arm itself there were rumours of an SoC that would combine Arm cores with Nvidia's powerful GPU silicon.</p><p>AMD's had its own APUs for the longest time, and Intel has been running every facet of a laptop since the dark ages. So it's no surprise Nvidia wanted a piece of that pie.</p><p>And with Qualcomm taking the initial Windows-on-Arm hit with its Snapdragon Elite and Plus chips, letting the OS evolve around the early teething troubles, the time is now ripe for Nvidia's platform to come to fruition. </p><p>Actually, there is no Windows-on-Arm anymore as Microsoft is ditching the suffix and just calling it Windows, because Microsoft is all-in here, too. To be honest, I think that's largely down to the push for local AI and the fact Linux is generally where that lives right now—including the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidias-little-gold-box-of-pure-ai-power-the-dgx-spark-is-finally-out-and-the-comparison-with-amds-much-cheaper-strix-halo-chip-is-looking-a-little-fugly/" target="_blank">DGX Spark</a>, which was the first desktop home of the N1X chip that's running the RTX Spark. But Microsoft is also helping on the gaming side, making the Prism emulation layer more robust on an Arm platform and also committing to bringing all the anti-cheat apps over that Linux currently doesn't have.</p><p>Though <a href="https://www.pcgamer.com/games/battle-royale/fortnite-is-coming-to-linux-once-epic-improves-easy-anti-cheat/" target="_blank">Epic is working on the Linux side</a> of that right now.</p><div ><table><caption>Nvidia RTX Spark configurations</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>RTX Spark N1X</strong><br>(5120-core GPU, 18-core CPU)</p></td><td  ><p><strong>RTX Spark N1X</strong><br>(6144-core GPU, 20-core CPU)</p></td></tr><tr><td class="firstcol " ><p><strong>CPU cores</strong></p></td><td  ><p>18 total<br>(9 Arm Cortex-X925 + 9 Arm Cortex-A725)</p></td><td  ><p>20 total<br>(10 Arm Cortex-X925 + 10 Arm Cortex-A725)</p></td></tr><tr><td class="firstcol " ><p><strong>Maximum performance-core clock</strong></p></td><td  ><p>3.9 GHz</p></td><td  ><p>4.0–4.1 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>Maximum efficiency-core clock</strong></p></td><td  ><p>2.8 GHz</p></td><td  ><p>2.8 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>GPU architecture</strong></p></td><td  ><p>Blackwell RTX</p></td><td  ><p>Blackwell RTX</p></td></tr><tr><td class="firstcol " ><p><strong>CUDA cores</strong></p></td><td  ><p>5,120</p></td><td  ><p>6,144</p></td></tr><tr><td class="firstcol " ><p><strong>Streaming multiprocessors (SMs)</strong></p></td><td  ><p>40</p></td><td  ><p>48</p></td></tr><tr><td class="firstcol " ><p><strong>RT core generation</strong></p></td><td  ><p>Fourth generation</p></td><td  ><p>Fourth generation</p></td></tr><tr><td class="firstcol " ><p><strong>Tensor core generation</strong></p></td><td  ><p>Fifth generation</p></td><td  ><p>Fifth generation</p></td></tr><tr><td class="firstcol " ><p><strong>Unified memory type</strong></p></td><td  ><p>LPDDR5X</p></td><td  ><p>LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>Memory interface</strong></p></td><td  ><p>256-bit / 16-channel</p></td><td  ><p>256-bit / 16-channel</p></td></tr><tr><td class="firstcol " ><p><strong>Memory interface speed</strong></p></td><td  ><p>Up to 9,400 Mbps</p></td><td  ><p>Up to 9,400 Mbps</p></td></tr><tr><td class="firstcol " ><p><strong>Peak memory bandwidth</strong></p></td><td  ><p>Up to 300 GB/s</p></td><td  ><p>Up to 300 GB/s</p></td></tr><tr><td class="firstcol " ><p><strong>NVLink C2C bandwidth</strong></p></td><td  ><p>600 GB/s bidirectional</p></td><td  ><p>600 GB/s bidirectional</p></td></tr><tr><td class="firstcol " ><p><strong>Display interface support</strong></p></td><td  ><p>HDMI 2.1a; DisplayPort 2.0 over USB4</p></td><td  ><p>HDMI 2.1a; DisplayPort 2.0 over USB4</p></td></tr><tr><td class="firstcol " ><p><strong>Process technology</strong></p></td><td  ><p>TSMC 3 nm (both dies)</p></td><td  ><p>TSMC 3 nm (both dies)</p></td></tr><tr><td class="firstcol " ><p><strong>Configurable SoC TDP</strong></p></td><td  ><p>45–80 W</p></td><td  ><p>45–80 W</p></td></tr></tbody></table></div><p>The Nvidia RTX Spark SoC packs in all the Nvidia good stuff alongside a whole slew of, what appear to be, relatively off-the-shelf Arm cores. This is all packed in alongside up to 128 GB of unified LPDDR5X-9400 memory.</p><p>First the GPU side. This is exactly the same as we've already seen drop in the DGX Spark machine launched around this time last year; it's an RTX Blackwell-based chip, sporting 6144 CUDA cores across 48 SMs. Effectively, that's the same core configuration as the desktop <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-founders-edition-review/" target="_blank">RTX 5070 GPU</a>, the GB205, although with a chunk less L2 cache, and a necessarily slower clock speed.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2642px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qzrcjehY65D8RBz9QyASbD" name="rtx-spark-in-hand" alt="Dave holding an Nvidia RTX Spark chip in his hand" src="https://cdn.mos.cms.futurecdn.net/qzrcjehY65D8RBz9QyASbD-1920-80.jpg" mos="" align="middle" fullscreen="" width="2642" height="1486" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>This is one of the reasons that, despite having the same configuration as the desktop RTX 5070, Nvidia is tempering performance expectations by suggesting it will be more akin to the performance of the <em>mobile </em>RTX 5070 (which has fewer SM) in actual gaming performance. </p><p>Aside from the cache difference, and the overall difference in attached system memory (LPDDR5X not GDDR7) we can assume that the layout of the Blackwell SM remains the same as it has done since the architecture first launched. There are still 128 CUDA cores per SM and I would expect 192 fifth gen Tensor Cores and 48 fourth gen RT Cores, as there are in the DGX Spark's chip.</p><p>The 256-bit memory interface and slower memory means you're getting 300 GB/s of memory bandwidth, against the 672 GB/s the desktop RTX 5070 configuration can offer on its 192-bit bus. But these are slightly apples vs. oranges comparisons because of the platform the RTX Spark is sitting in, the unified memory architecture (UMA) it's surrounded by, and the CPU companion it has.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/dWj5tvzLHd4BoLGLZ8thT7-1920-80.jpg" alt="Nvidia's N1X RTX Spark cores" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RHqPgxvPVoT4hGjMYkhMT7-1920-80.jpg" alt="Nvidia's N1X RTX Spark cores" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>Which, although Nvidia is calling it a Grace CPU, and custom-made with MediaTek, does still just sport some off-the-shelf Arm cores. But a lot of them, to be fair. There are 10 'performance' Arm Cortex-X925 cores and 10 'efficient' Arm Cortex-A725 cores and they mark the peak of Arm's 2024 lineup.</p><p>As far as we know, however, there hasn't been any additional work done with these cores to help bolster the necessary emulation to be able to run the x86-focused workloads that are going to be thrown their way. This is the step Apple has taken with its own Arm cores, making sure they're designed from the ground up to take care of such things.</p><p>There is also a second, cut-down RTX Spark SoC. That comes with 5120 CUDA cores across 40 SMs (so a commensurate reduction in Tensor cores and RT cores, too) and with 18 Arm CPU cores, meaning one less of each of the performance and efficient cores.</p><h2 class="article-body__section" id="section-nvidia-rtx-spark-gaming-performance"><span>Nvidia RTX Spark - Gaming performance</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper *, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper *:before, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper *:after, #fv-chart-1792075982248-y64zpc686-slideshow *, #fv-chart-1792075982248-y64zpc686-slideshow *:before, #fv-chart-1792075982248-y64zpc686-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792075982248-y64zpc686-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn.disabled, #fv-chart-1792075982248-y64zpc686-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stacked-product, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-label, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-container, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-label-space { display: none !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo, #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792075982248-y64zpc686-slideshow .fv-chart-wrapper.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">[{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "1080p gaming performance",  "description": "Testing the relative gaming performance of different laptops across multiple games.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:53:02.249Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "Cyberpunk 2077 (1080p RT Ultra)",    "Baldur's Gate 3 (1080p Ultra)",    "Black Myth: Wukong benchmarking tool (1080p High)",    "Metro Exodus Enhanced Edition (1080p Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Cyberpunk 2077 (1080p RT Ultra)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Cyberpunk 2077 (1080p RT Ultra)",      "value": 43,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Cyberpunk 2077 (1080p RT Ultra)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Baldur's Gate 3 (1080p Ultra)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Baldur's Gate 3 (1080p Ultra)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Baldur's Gate 3 (1080p Ultra)",      "value": 65,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Black Myth: Wukong benchmarking tool (1080p High)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Black Myth: Wukong benchmarking tool (1080p High)",      "value": 64,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Black Myth: Wukong benchmarking tool (1080p High)",      "value": 65,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 82,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 84,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Native gaming performance",  "description": "Testing the relative gaming performance across multiple games at the laptop screen's native resolution.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:53:02.249Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "Cyberpunk 2077 (Native res. RT Ultra)",    "Baldur's Gate 3 (Native res. Ultra)",    "Black Myth: Wukong benchmarking tool (Native res. High)",    "Metro Exodus Enhanced Edition (Native res. Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Cyberpunk 2077 (Native res. RT Ultra)",      "value": 18,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Cyberpunk 2077 (Native res. RT Ultra)",      "value": 18,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Cyberpunk 2077 (Native res. RT Ultra)",      "value": 7,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Baldur's Gate 3 (Native res. Ultra)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Baldur's Gate 3 (Native res. Ultra)",      "value": 67,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Baldur's Gate 3 (Native res. Ultra)",      "value": 61,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Black Myth: Wukong benchmarking tool (Native res. High)",      "value": 38,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Black Myth: Wukong benchmarking tool (Native res. High)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Black Myth: Wukong benchmarking tool (Native res. High)",      "value": 63,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark | 1880p – Metro Exodus Enhanced Edition (Native res. Ultra)",      "value": 46,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W | 1600p – Metro Exodus Enhanced Edition (Native res. Ultra)",      "value": 54,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W | 1800p – Metro Exodus Enhanced Edition (Native res. Ultra)",      "value": 49,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Upscaled gaming performance",  "description": "Testing the relative gaming performance of different laptops across multiple games.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T14:53:02.249Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",    "Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",      "value": 54,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)",      "value": 62,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",      "value": 62,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))",      "value": 63,      "unitText": "Avg FPS"    }  ]}]</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T14:53:02.249Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","value":54,"unit":"Avg FPS","multiValues":[{"value":54,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))","value":62,"unit":"Avg FPS","multiValues":[{"value":62,"unit":"Avg FPS"},{"value":37,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","value":75,"unit":"Avg FPS","multiValues":[{"value":75,"unit":"Avg FPS"},{"value":58,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":62,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","value":62,"unit":"Avg FPS","multiValues":[{"value":62,"unit":"Avg FPS"},{"value":43,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))","value":63,"unit":"Avg FPS","multiValues":[{"value":63,"unit":"Avg FPS"},{"value":55,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"attributes":["Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))"],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Upscaled gaming performance","subhead":"Testing the relative gaming performance of different laptops across multiple games.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[{"id":"slide-1792068864174","snapshot":{"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cyberpunk 2077 (1080p RT Ultra)","Baldur's Gate 3 (1080p Ultra)","Black Myth: Wukong benchmarking tool (1080p High)","Metro Exodus Enhanced Edition (1080p Ultra)"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"1080p gaming performance","subhead":"Testing the relative gaming performance of different laptops across multiple games.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false}},{"id":"slide-1792075946078","snapshot":{"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cyberpunk 2077 (Native res. RT Ultra)","Baldur's Gate 3 (Native res. Ultra)","Black Myth: Wukong benchmarking tool (Native res. High)","Metro Exodus Enhanced Edition (Native res. Ultra)"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Native gaming performance","subhead":"Testing the relative gaming performance across multiple games at the laptop screen's native resolution.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W | 1600p","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W | 1600p","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W | 1800p","Asus ProArt P16 | RTX Spark":"Asus ProArt P16 | RTX Spark | 1880p"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false}},{"id":"slide-1792075980795","snapshot":{"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)","Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Upscaled gaming performance","subhead":"Testing the relative gaming performance of different laptops across multiple games.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false}}]}</script><div id="fv-chart-1792075982248-y64zpc686-slideshow" class="fv-slideshow-container" data-slide-count="3" data-iframe-height="true"><div class="fv-slideshow-nav-row"><button class="fv-nav-btn prev disabled" aria-label="Previous Slide"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg><span>Previous</span></button><div class="fv-slide-counter">1 / 3</div><button class="fv-nav-btn next" aria-label="Next Slide"><span>Next</span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg></button></div><div class="fv-slides-wrapper"><div class="fv-slide" id="fv-chart-1792075982248-y64zpc686-slide-0-wrapper" data-index="0" style="display: block;"><div id="fv-chart-1792075982248-y64zpc686-slide-0" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">1080p gaming performance</h3><p class="fv-chart-subhead">Testing the relative gaming performance of different laptops across multiple games.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cyberpunk 2077 (1080p RT Ultra)</option><option value="1">Baldur's Gate 3 (1080p Ultra)</option><option value="2">Black Myth: Wukong benchmarking tool (1080p High)</option><option value="3">Metro Exodus Enhanced Edition (1080p Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Cyberpunk 2077 (1080p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p RT Ultra)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.66666666666667%; background-color: #E33235;" data-target-width="71.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.666666666666664%; background-color: #FE9F58;" data-target-width="46.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">28</span></div></div></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1080p RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>36 Avg FPS, 27 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>43 Avg FPS, 33 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>45 Avg FPS, 28 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Baldur's Gate 3 (1080p Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (1080p Ultra)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.25%; background-color: #E33235;" data-target-width="81.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #FE9F58;" data-target-width="47.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div></div></div></div></div><table class="sr-only"><caption>Baldur's Gate 3 (1080p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>42 Avg FPS, 24 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>69 Avg FPS, 41 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>65 Avg FPS, 38 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Black Myth: Wukong benchmarking tool (1080p High)" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (1080p High)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #FE9F58;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.75%; background-color: #FE9F58;" data-target-width="68.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.25%; background-color: #E33235;" data-target-width="81.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #FE9F58;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">56</span></div></div></div></div></div><table class="sr-only"><caption>Black Myth: Wukong benchmarking tool (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>66 Avg FPS, 42 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>64 Avg FPS, 55 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>65 Avg FPS, 56 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-0-bar-Metro Exodus Enhanced Edition (1080p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1080p Ultra)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.999999999999996%; background-color: #FE9F58;" data-target-width="28.999999999999996" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51%; background-color: #FE9F58;" data-target-width="51" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (1080p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>75 Avg FPS, 29 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>82 Avg FPS, 51 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>84 Avg FPS, 50 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div><div class="fv-slide" id="fv-chart-1792075982248-y64zpc686-slide-1-wrapper" data-index="1" style="display: none;"><div id="fv-chart-1792075982248-y64zpc686-slide-1" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Native gaming performance</h3><p class="fv-chart-subhead">Testing the relative gaming performance across multiple games at the laptop screen's native resolution.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cyberpunk 2077 (Native res. RT Ultra)</option><option value="1">Baldur's Gate 3 (Native res. Ultra)</option><option value="2">Black Myth: Wukong benchmarking tool (Native res. High)</option><option value="3">Metro Exodus Enhanced Edition (Native res. Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Cyberpunk 2077 (Native res. RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (Native res. RT Ultra)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #FE9F58;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">8</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #E33235;" data-target-width="35" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">7</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 15%; background-color: #FE9F58;" data-target-width="15" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3</span></div></div></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (Native res. RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>18 Avg FPS, 13 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>18 Avg FPS, 8 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>7 Avg FPS, 3 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Baldur's Gate 3 (Native res. Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (Native res. Ultra)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #E33235;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.500000000000004%; background-color: #FE9F58;" data-target-width="27.500000000000004" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.75%; background-color: #E33235;" data-target-width="83.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.25%; background-color: #E33235;" data-target-width="76.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><table class="sr-only"><caption>Baldur's Gate 3 (Native res. Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>36 Avg FPS, 22 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>67 Avg FPS, 37 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>61 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Black Myth: Wukong benchmarking tool (Native res. High)" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (Native res. High)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #E33235;" data-target-width="47.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.5%; background-color: #FE9F58;" data-target-width="32.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.75%; background-color: #E33235;" data-target-width="78.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.75%; background-color: #FE9F58;" data-target-width="68.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><table class="sr-only"><caption>Black Myth: Wukong benchmarking tool (Native res. High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>38 Avg FPS, 26 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>72 Avg FPS, 62 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>63 Avg FPS, 55 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-1-bar-Metro Exodus Enhanced Edition (Native res. Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (Native res. Ultra)" data-subhead="Testing the relative gaming performance across multiple games at the laptop screen's native resolution." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark | 1880p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.66666666666667%; background-color: #E33235;" data-target-width="76.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.333333333333332%; background-color: #FE9F58;" data-target-width="28.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W | 1600p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #FE9F58;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W | 1800p</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.66666666666667%; background-color: #E33235;" data-target-width="81.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #FE9F58;" data-target-width="58.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (Native res. Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark | 1880p</td><td>46 Avg FPS, 17 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W | 1600p</td><td>54 Avg FPS, 39 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W | 1800p</td><td>49 Avg FPS, 35 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div><div class="fv-slide" id="fv-chart-1792075982248-y64zpc686-slide-2-wrapper" data-index="2" style="display: none;"><div id="fv-chart-1792075982248-y64zpc686-slide-2" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Upscaled gaming performance</h3><p class="fv-chart-subhead">Testing the relative gaming performance of different laptops across multiple games.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)</option><option value="1">Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-2-bar-Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)" data-chart-type="Bar" data-title="Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG)" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #E33235;" data-target-width="67.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.75%; background-color: #E33235;" data-target-width="93.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.5%; background-color: #FE9F58;" data-target-width="72.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #E33235;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.75%; background-color: #FE9F58;" data-target-width="53.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div></div></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (Native res. RT Ultra + upscaling (quality), 2x FG) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>54 Avg FPS, 34 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>75 Avg FPS, 58 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>62 Avg FPS, 43 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792075982248-y64zpc686-slide-2-bar-Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%))" data-subhead="Testing the relative gaming performance of different laptops across multiple games." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #E33235;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.75%; background-color: #E33235;" data-target-width="78.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.75%; background-color: #FE9F58;" data-target-width="68.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><table class="sr-only"><caption>Black Myth: Wukong benchmarking tool (Native res. High + upscaling (quality, 67%)) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>62 Avg FPS, 37 1% Low FPS</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>72 Avg FPS, 62 1% Low FPS</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>63 Avg FPS, 55 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (true) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                var slideshowContainer = document.getElementById(uniqueId + '-slideshow');    if (slideshowContainer) {        var currentSlideIndex = 0;        var slides = slideshowContainer.querySelectorAll('.fv-slide');        var counter = slideshowContainer.querySelector('.fv-slide-counter');        var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');        var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');        var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');        function updateControls(index) {            if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;            if (dropdown) dropdown.value = index;                        if (prevBtn) {                if (index === 0) prevBtn.classList.add('disabled');                else prevBtn.classList.remove('disabled');            }            if (nextBtn) {                if (index === slides.length - 1) nextBtn.classList.add('disabled');                else nextBtn.classList.remove('disabled');            }        }        function showSlide(index) {            if (index < 0) return;            if (index >= slides.length) return;                        currentSlideIndex = index;                        slides.forEach(function(slide, i) {                slide.style.display = i === index ? 'block' : 'none';                if (i === index) {                    var chartEl = slide.querySelector('.fv-chart-wrapper');                    if (chartEl) {                        fvLocalAnimate(chartEl);                    }                }            });                        updateControls(currentSlideIndex);        }        if (prevBtn) {            prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });        }        if (nextBtn) {            nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });        }        if (dropdown) {            dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });        }                updateControls(currentSlideIndex);                if (slides.length > 0) {            var firstChart = slides[0].querySelector('.fv-chart-wrapper');            if (firstChart) {                setTimeout(function() { fvLocalAnimate(firstChart); }, 100);            }        }    }          } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792075982248-y64zpc686', true); });      } else {        initialize('fv-chart-1792075982248-y64zpc686', true);      }    })();      </script></div><p>The performance I've been getting out of this slim little gaming laptop has been impressive. Especially when you consider the power it's drawing to get mighty close to (and sometimes matching) the performance of gaming laptops whose GPUs alone are running to 115 W of power. </p><p>The Metro Exodus Enhanced benchmark is the one we've been consistently using for gaming performance metrics because we can easily loop the test runs to provide a more long-term understanding of what happens over a gaming session. And, looking at the numbers the RTX Spark in this Asus ProArt P16 laptop is demonstrating, you can see what an efficient piece of silicon this is. </p><p>We ran a triple loop of the Metro Exodus Enhanced benchmark at top 1080p settings and while the RTX Spark machine was demonstrably slower than the other RTX 5070 systems I'm comparing it against, it's running at a fraction of the power draw. At 75 fps it is behind the 115 W RTX 5070 in the Blade 14 at 84 fps, but the chip is running almost 700 MHz slower and drawing down an average of 43 W over that run compared to 97 W for the Razer laptop.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792069139376-wv6lyi9yj *, #fv-chart-1792069139376-wv6lyi9yj *:before, #fv-chart-1792069139376-wv6lyi9yj *:after, #fv-chart-1792069139376-wv6lyi9yj-slideshow *, #fv-chart-1792069139376-wv6lyi9yj-slideshow *:before, #fv-chart-1792069139376-wv6lyi9yj-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792069139376-wv6lyi9yj, #fv-chart-1792069139376-wv6lyi9yj-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069139376-wv6lyi9yj { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792069139376-wv6lyi9yj .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792069139376-wv6lyi9yj.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn.disabled, #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792069139376-wv6lyi9yj-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792069139376-wv6lyi9yj .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792069139376-wv6lyi9yj .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792069139376-wv6lyi9yj .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792069139376-wv6lyi9yj.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792069139376-wv6lyi9yj .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-pie-container, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stacked-product, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-grouped-bar-product, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stacked-product, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-label, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-grouped-product-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-label, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-container, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-cluster, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-container, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-x-axis-wrapper, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-x-axis-label-space, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-x-axis-chart-space, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-benchmark-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-dropdown-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-carousel-nav-btn, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-chart-title, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-chart-subhead, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-header, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-wrapper, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-vs, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select-container, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-versus-select, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069139376-wv6lyi9yj.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792069139376-wv6lyi9yj .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row, #fv-chart-1792069139376-wv6lyi9yj .fv-stacked-product, #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-label, #fv-chart-1792069139376-wv6lyi9yj .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-container, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069139376-wv6lyi9yj .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-logo, #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069139376-wv6lyi9yj .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069139376-wv6lyi9yj.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "System performance",  "description": "Measuring the relative performance of the different laptop chips in terms of power and thermals.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:58:59.376Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "GPU stats",    "Gaming temperatures",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – GPU stats",      "value": 1906,      "unitText": "Avg GPU freq. (MHz)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – GPU stats",      "value": 2421,      "unitText": "Avg GPU freq. (MHz)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – GPU stats",      "value": 2589,      "unitText": "Avg GPU freq. (MHz)"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Gaming temperatures",      "value": 75,      "unitText": "Avg CPU (°C)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | RTX 5070 100 W – Gaming temperatures",      "value": 65,      "unitText": "Avg CPU (°C)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | RTX 5070 115 W – Gaming temperatures",      "value": 79,      "unitText": "Avg CPU (°C)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:58:59.376Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Gaming temperatures","value":75,"unit":"Avg CPU (°C)","multiValues":[{"value":75,"unit":"Avg CPU (°C)"},{"value":83,"unit":"Max CPU (°C)"},{"value":67,"unit":"Avg GPU (°C)"},{"value":70,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"GPU stats","value":1906,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":1906,"unit":"Avg GPU freq. (MHz)"},{"value":43,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Gaming temperatures","value":65,"unit":"Avg CPU (°C)","multiValues":[{"value":65,"unit":"Avg CPU (°C)"},{"value":73,"unit":"Max CPU (°C)"},{"value":68,"unit":"Avg GPU (°C)"},{"value":71,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"GPU stats","value":2421,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":2421,"unit":"Avg GPU freq. (MHz)"},{"value":77,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"Gaming temperatures","value":55,"unit":"Avg CPU (°C)","multiValues":[{"value":55,"unit":"Avg CPU (°C)"},{"value":98,"unit":"Max CPU (°C)"},{"value":28,"unit":"Avg GPU (°C)"},{"value":69,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"GPU stats","value":1750,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":1750,"unit":"Avg GPU freq. (MHz)"},{"value":55,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Gaming temperatures","value":79,"unit":"Avg CPU (°C)","multiValues":[{"value":79,"unit":"Avg CPU (°C)"},{"value":85,"unit":"Max CPU (°C)"},{"value":78,"unit":"Avg GPU (°C)"},{"value":81,"unit":"Max GPU (°C)"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"GPU stats","value":2589,"unit":"Avg GPU freq. (MHz)","multiValues":[{"value":2589,"unit":"Avg GPU freq. (MHz)"},{"value":97,"unit":"Avg GPU power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"attributes":["Gaming temperatures","GPU stats"],"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["GPU stats","Gaming temperatures"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"System performance","subhead":"Measuring the relative performance of the different laptop chips in terms of power and thermals.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | RTX 5070 100 W","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | RTX 5070 115 W","Razer Blade 14 (2025)":"Razer Blade 14 | RTX 5070 115 W"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792069139376-wv6lyi9yj" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">System performance</h3><p class="fv-chart-subhead">Measuring the relative performance of the different laptop chips in terms of power and thermals.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">GPU stats</option><option value="1">Gaming temperatures</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792069139376-wv6lyi9yj-bar-GPU stats" data-chart-type="Bar" data-title="GPU stats" data-subhead="Measuring the relative performance of the different laptop chips in terms of power and thermals." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg GPU freq. (MHz)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Avg GPU power (W)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.53333333333333%; background-color: #E33235;" data-target-width="63.53333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1906</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 1.4333333333333333%; background-color: #FE9F58;" data-target-width="1.4333333333333333" data-target-margin="0"></div><span class="fv-bar-value-outside">43</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.7%; background-color: #E33235;" data-target-width="80.7" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2421</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.566666666666667%; background-color: #FE9F58;" data-target-width="2.566666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">77</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.3%; background-color: #E33235;" data-target-width="86.3" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2589</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.2333333333333334%; background-color: #FE9F58;" data-target-width="3.2333333333333334" data-target-margin="0"></div><span class="fv-bar-value-outside">97</span></div></div></div><table class="sr-only"><caption>GPU stats Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>1906 Avg GPU freq. (MHz), 43 Avg GPU power (W)</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>2421 Avg GPU freq. (MHz), 77 Avg GPU power (W)</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>2589 Avg GPU freq. (MHz), 97 Avg GPU power (W)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792069139376-wv6lyi9yj-bar-Gaming temperatures" data-chart-type="Bar" data-title="Gaming temperatures" data-subhead="Measuring the relative performance of the different laptop chips in terms of power and thermals." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg CPU (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Max CPU (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Avg GPU (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #EB6F71;"></div><span>Max GPU (°C)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83%; background-color: #FE9F58;" data-target-width="83" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">83</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67%; background-color: #1CA9C4;" data-target-width="67" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #EB6F71;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">70</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | RTX 5070 100 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #FE9F58;" data-target-width="73" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #1CA9C4;" data-target-width="68" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71%; background-color: #EB6F71;" data-target-width="71" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">71</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | RTX 5070 115 W</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #FE9F58;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78%; background-color: #1CA9C4;" data-target-width="78" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #EB6F71;" data-target-width="81" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81</span></div></div></div></div></div><table class="sr-only"><caption>Gaming temperatures Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>75 Avg CPU (°C), 83 Max CPU (°C), 67 Avg GPU (°C), 70 Max GPU (°C)</td></tr><tr><td>Framework 16 | RTX 5070 100 W</td><td>65 Avg CPU (°C), 73 Max CPU (°C), 68 Avg GPU (°C), 71 Max GPU (°C)</td></tr><tr><td>Razer Blade 14 | RTX 5070 115 W</td><td>79 Avg CPU (°C), 85 Max CPU (°C), 78 Avg GPU (°C), 81 Max GPU (°C)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792069139376-wv6lyi9yj', false); });      } else {        initialize('fv-chart-1792069139376-wv6lyi9yj', false);      }    })();      </script></div><p>The other side of that is that, because it's such an efficient setup pulling the plug out of the side of the thing isn't going to slam the frame rate. You're still going to get within a percentage point of the same performance whether you're plugged into the wall or not.</p><p>Keep this thing in Performance mode and I've seen the frame rate change by maybe a couple of fps, but nothing that's really more than could be explained by statistical variance. Nvidia says that you will get around 99% of the performance from the battery you get from the plug, and that bears out.</p><p>But even on Balanced power mode, in the ProArt Creator Hub (a reskinned Armoury Crate), while the power draw drops to 30 W and the GPU clock speed to 1572 MHz, I only saw Metro's benchmark drop by maybe five frames per second on average.</p><p>That's not to say there aren't issues here, because at full power you're still not going to be gaming for <em>hours. </em>I measured under an hour and a half running the Fire Strike benchmark on loop via the PCMark 10 CLI. Which is not really what I'd hoped to see from an efficient Arm-based system.</p><p>This is still a gaming laptop that wants to be plugged in for the most part, maybe not for performance but definitely for longevity. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792069147073-kaaqw666i *, #fv-chart-1792069147073-kaaqw666i *:before, #fv-chart-1792069147073-kaaqw666i *:after, #fv-chart-1792069147073-kaaqw666i-slideshow *, #fv-chart-1792069147073-kaaqw666i-slideshow *:before, #fv-chart-1792069147073-kaaqw666i-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792069147073-kaaqw666i, #fv-chart-1792069147073-kaaqw666i-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069147073-kaaqw666i { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792069147073-kaaqw666i .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792069147073-kaaqw666i .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792069147073-kaaqw666i.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792069147073-kaaqw666i.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069147073-kaaqw666i .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792069147073-kaaqw666i-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn.disabled, #fv-chart-1792069147073-kaaqw666i-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792069147073-kaaqw666i-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792069147073-kaaqw666i .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792069147073-kaaqw666i .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792069147073-kaaqw666i .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792069147073-kaaqw666i .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792069147073-kaaqw666i .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792069147073-kaaqw666i .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792069147073-kaaqw666i .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792069147073-kaaqw666i .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792069147073-kaaqw666i .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069147073-kaaqw666i .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792069147073-kaaqw666i .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792069147073-kaaqw666i .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792069147073-kaaqw666i .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792069147073-kaaqw666i .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792069147073-kaaqw666i .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792069147073-kaaqw666i .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-row, #fv-chart-1792069147073-kaaqw666i .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792069147073-kaaqw666i.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792069147073-kaaqw666i .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792069147073-kaaqw666i .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792069147073-kaaqw666i .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792069147073-kaaqw666i .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069147073-kaaqw666i .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-pie-container, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stacked-product, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-grouped-bar-product, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stacked-product, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-label, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-grouped-product-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-label, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-container, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-cluster, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-container, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-x-axis-wrapper, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-x-axis-label-space, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-x-axis-chart-space, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-benchmark-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-dropdown-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-carousel-nav-btn, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-chart-title, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-chart-subhead, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-header, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-wrapper, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-vs, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select-container, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-versus-select, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069147073-kaaqw666i.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792069147073-kaaqw666i .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-row, #fv-chart-1792069147073-kaaqw666i .fv-stacked-product, #fv-chart-1792069147073-kaaqw666i .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-label, #fv-chart-1792069147073-kaaqw666i .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-container, #fv-chart-1792069147073-kaaqw666i .fv-bar-cluster { width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792069147073-kaaqw666i .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792069147073-kaaqw666i .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-label-space { display: none !important; } #fv-chart-1792069147073-kaaqw666i .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792069147073-kaaqw666i .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792069147073-kaaqw666i .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-logo, #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792069147073-kaaqw666i .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792069147073-kaaqw666i .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792069147073-kaaqw666i .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792069147073-kaaqw666i.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Battery life",  "description": "Testing gaming battery life using PCMark 10's dedicate gaming battery life test.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:59:07.074Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "Razer Blade 14 (2025)",    "PCMark 10",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – PCMark 10",      "value": 86,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 – PCMark 10",      "value": 131,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 (2025) – PCMark 10",      "value": 134,      "unitText": "Battery life (minutes)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:59:07.074Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"PCMark 10","value":86,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"PCMark 10","value":131,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"PCMark 10","value":101,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"PCMark 10","value":134,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"attributes":["PCMark 10"],"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["PCMark 10"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Battery life","subhead":"Testing gaming battery life using PCMark 10's dedicate gaming battery life test.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792069147073-kaaqw666i" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Battery life</h3><p class="fv-chart-subhead">Testing gaming battery life using PCMark 10's dedicate gaming battery life test.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792069147073-kaaqw666i-bar-PCMark 10" data-chart-type="Bar" data-title="PCMark 10" data-subhead="Testing gaming battery life using PCMark 10's dedicate gaming battery life test." data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">PCMark 10</h4><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 57.333333333333336%; background-color: #E33235;" data-target-width="57.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">86</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 87.33333333333333%; background-color: #FE9F58;" data-target-width="87.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">131</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 (2025)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 89.33333333333333%; background-color: #EB6F71;" data-target-width="89.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">134</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>86</td></tr><tr><td>Framework 16</td><td>131</td></tr><tr><td>Razer Blade 14 (2025)</td><td>134</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792069147073-kaaqw666i', false); });      } else {        initialize('fv-chart-1792069147073-kaaqw666i', false);      }    })();      </script></div><p>The other inevitable issues surround emulation. This is not an x86 system and while Microsoft's Prism layer is very good for the most part, there are problems with running games on an Arm system that will be familiar to anyone who's spent any time playing games on Linux. Yes, the hoary ol' chestnut of anti-cheat.</p><p>The good news is that Microsoft is working hard on this, presumably with the aim of stopping defectors from entering the sunny uplands of Linux gaming, and a ton of anti-cheat providers are already running on RTX Spark and Windows (formerly on Arm). From everybody's favourite, Denuvo, to BattlEye and EAC, a host of multiplayer games can be played from day one.</p><p>But there are still some notable exceptions, the main one for me being EA's Javelin. I like me some Battlefield, and I've been playing a lot of FC27 recently, too, for I am a football-liker. These are currently games not compatible with RTX Spark, nor is the F1 24 benchmark we run across our gaming laptop suite, either. Javelin is expected to be updated and added to the list of supported anti-cheats next year, but for right now, you're out of luck.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792068727177-wdai12o3n *, #fv-chart-1792068727177-wdai12o3n *:before, #fv-chart-1792068727177-wdai12o3n *:after, #fv-chart-1792068727177-wdai12o3n-slideshow *, #fv-chart-1792068727177-wdai12o3n-slideshow *:before, #fv-chart-1792068727177-wdai12o3n-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792068727177-wdai12o3n, #fv-chart-1792068727177-wdai12o3n-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792068727177-wdai12o3n { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792068727177-wdai12o3n .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792068727177-wdai12o3n .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792068727177-wdai12o3n.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792068727177-wdai12o3n.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792068727177-wdai12o3n .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792068727177-wdai12o3n-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn.disabled, #fv-chart-1792068727177-wdai12o3n-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792068727177-wdai12o3n-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792068727177-wdai12o3n .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792068727177-wdai12o3n .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792068727177-wdai12o3n .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792068727177-wdai12o3n .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792068727177-wdai12o3n .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792068727177-wdai12o3n .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792068727177-wdai12o3n .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792068727177-wdai12o3n .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792068727177-wdai12o3n .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792068727177-wdai12o3n .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792068727177-wdai12o3n .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792068727177-wdai12o3n .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792068727177-wdai12o3n .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792068727177-wdai12o3n .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792068727177-wdai12o3n .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792068727177-wdai12o3n .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-row, #fv-chart-1792068727177-wdai12o3n .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792068727177-wdai12o3n.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792068727177-wdai12o3n .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792068727177-wdai12o3n .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792068727177-wdai12o3n .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792068727177-wdai12o3n .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792068727177-wdai12o3n .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-pie-container, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stacked-product, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-grouped-bar-product, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stacked-product, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-label, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-grouped-product-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-label, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-container, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-cluster, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-container, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-x-axis-wrapper, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-x-axis-label-space, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-x-axis-chart-space, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-benchmark-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-dropdown-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-carousel-nav-btn, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-chart-title, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-chart-subhead, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-header, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-wrapper, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-vs, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select-container, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-versus-select, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792068727177-wdai12o3n.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792068727177-wdai12o3n .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-row, #fv-chart-1792068727177-wdai12o3n .fv-stacked-product, #fv-chart-1792068727177-wdai12o3n .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-label, #fv-chart-1792068727177-wdai12o3n .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-container, #fv-chart-1792068727177-wdai12o3n .fv-bar-cluster { width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792068727177-wdai12o3n .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792068727177-wdai12o3n .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-label-space { display: none !important; } #fv-chart-1792068727177-wdai12o3n .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792068727177-wdai12o3n .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792068727177-wdai12o3n .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-logo, #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792068727177-wdai12o3n .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792068727177-wdai12o3n .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792068727177-wdai12o3n .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792068727177-wdai12o3n.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "CPU performance",  "description": "Testing the straight CPU performance of the relative laptop silicon.",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:52:07.178Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ProArt P16 | RTX Spark",    "Framework 16",    "MSI Crosshair 16 HX (AI)",    "Razer Blade 14 (2025)",    "Cinebench 2024",    "7zip 24.07",    "Procyon",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Cinebench 2024",      "value": 1018,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | Ryzen AI 9 HX 370 – Cinebench 2024",      "value": 1158,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "MSI Crosshair 16 HX | Core Ultra 9 275HX\u003cbr> – Cinebench 2024",      "value": 1320,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | Ryzen AI 9 365 – Cinebench 2024",      "value": 1054,      "unitText": "Multi-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – 7zip 24.07",      "value": 156.362,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | Ryzen AI 9 HX 370 – 7zip 24.07",      "value": 108.822,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "MSI Crosshair 16 HX | Core Ultra 9 275HX\u003cbr> – 7zip 24.07",      "value": 121.787,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | Ryzen AI 9 365 – 7zip 24.07",      "value": 103.17,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 | RTX Spark – Procyon",      "value": 1505,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Framework 16 | Ryzen AI 9 HX 370 – Procyon",      "value": 1789,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "MSI Crosshair 16 HX | Core Ultra 9 275HX\u003cbr> – Procyon",      "value": 1508,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Razer Blade 14 | Ryzen AI 9 365 – Procyon",      "value": 1704,      "unitText": "Overall index score"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:52:07.178Z","state":{"data":[{"productName":"Asus ProArt P16 | RTX Spark","attribute":"7zip 24.07","value":156.362,"unit":"Compressing (GIPS)","multiValues":[{"value":156.362,"unit":"Compressing (GIPS)"},{"value":135.541,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Cinebench 2024","value":1018,"unit":"Multi-core index score","multiValues":[{"value":1018,"unit":"Multi-core index score"},{"value":72,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ProArt P16 | RTX Spark","attribute":"Procyon","value":1505,"unit":"Overall index score","multiValues":[{"value":1505,"unit":"Overall index score"},{"value":66.404,"unit":"Duration (Sec)"},{"value":4.15,"unit":"Sec/image"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"7zip 24.07","value":108.822,"unit":"Compressing (GIPS)","multiValues":[{"value":108.822,"unit":"Compressing (GIPS)"},{"value":128.355,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Cinebench 2024","value":1158,"unit":"Multi-core index score","multiValues":[{"value":1158,"unit":"Multi-core index score"},{"value":105,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Framework 16","attribute":"Procyon","value":1789,"unit":"Overall index score","multiValues":[{"value":1789,"unit":"Overall index score"},{"value":55.9,"unit":"Duration (Sec)"},{"value":3.49,"unit":"Sec/image"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"7zip 24.07","value":121.787,"unit":"Compressing (GIPS)","multiValues":[{"value":121.787,"unit":"Compressing (GIPS)"},{"value":130.822,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"Cinebench 2024","value":1320,"unit":"Multi-core index score","multiValues":[{"value":1320,"unit":"Multi-core index score"},{"value":134,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Crosshair 16 HX (AI)","attribute":"Procyon","value":1508,"unit":"Overall index score","multiValues":[{"value":1508,"unit":"Overall index score"},{"value":66.27,"unit":"Duration (Sec)"},{"value":4.14,"unit":"Sec/image"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"7zip 24.07","value":103.17,"unit":"Compressing (GIPS)","multiValues":[{"value":103.17,"unit":"Compressing (GIPS)"},{"value":107.975,"unit":"Decompressing (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Cinebench 2024","value":1054,"unit":"Multi-core index score","multiValues":[{"value":1054,"unit":"Multi-core index score"},{"value":115,"unit":"Single-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Razer Blade 14 (2025)","attribute":"Procyon","value":1704,"unit":"Overall index score","multiValues":[{"value":1704,"unit":"Overall index score"},{"value":58.67,"unit":"Duration (Sec)"},{"value":3.67,"unit":"Sec/image"}],"color":"","site":"PC Gamer"}],"products":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"attributes":["7zip 24.07","Cinebench 2024","Procyon"],"selectedProducts":["Asus ProArt P16 | RTX Spark","Framework 16","MSI Crosshair 16 HX (AI)","Razer Blade 14 (2025)"],"selectedPrimaryProduct":"Asus ProArt P16 | RTX Spark","selectedAttributes":["Cinebench 2024","7zip 24.07","Procyon"],"productColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"initialProductColors":[{"productName":"Asus ProArt P16 | RTX Spark","color":"#E33235"},{"productName":"Framework 16","color":"#FE9F58"},{"productName":"MSI Crosshair 16 HX (AI)","color":"#1CA9C4"},{"productName":"Razer Blade 14 (2025)","color":"#EB6F71"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"CPU performance","subhead":"Testing the straight CPU performance of the relative laptop silicon.","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{"Framework 16":"Framework 16 | Ryzen AI 9 HX 370","MSI Crosshair 16 HX (AI)":"MSI Crosshair 16 HX | Core Ultra 9 275HX<br>","Razer Blade 14 (2025)":"Razer Blade 14 | Ryzen AI 9 365"},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":true,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792068727177-wdai12o3n" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">CPU performance</h3><p class="fv-chart-subhead">Testing the straight CPU performance of the relative laptop silicon.</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Cinebench 2024</option><option value="1">7zip 24.07</option><option value="2">Procyon</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792068727177-wdai12o3n-bar-Cinebench 2024" data-chart-type="Bar" data-title="Cinebench 2024" data-subhead="Testing the straight CPU performance of the relative laptop silicon." data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Multi-core index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Single-core index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.86666666666666%; background-color: #E33235;" data-target-width="67.86666666666666" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1018</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 4.8%; background-color: #FE9F58;" data-target-width="4.8" data-target-margin="0"></div><span class="fv-bar-value-outside">72</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | Ryzen AI 9 HX 370</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.2%; background-color: #E33235;" data-target-width="77.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1158</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.000000000000001%; background-color: #FE9F58;" data-target-width="7.000000000000001" data-target-margin="0"></div><span class="fv-bar-value-outside">105</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Crosshair 16 HX | Core Ultra 9 275HX<br></div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #E33235;" data-target-width="88" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1320</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 8.933333333333334%; background-color: #FE9F58;" data-target-width="8.933333333333334" data-target-margin="0"></div><span class="fv-bar-value-outside">134</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | Ryzen AI 9 365</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70.26666666666667%; background-color: #E33235;" data-target-width="70.26666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1054</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.666666666666666%; background-color: #FE9F58;" data-target-width="7.666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">115</span></div></div></div><table class="sr-only"><caption>Cinebench 2024 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>1018 Multi-core index score, 72 Single-core index score</td></tr><tr><td>Framework 16 | Ryzen AI 9 HX 370</td><td>1158 Multi-core index score, 105 Single-core index score</td></tr><tr><td>MSI Crosshair 16 HX | Core Ultra 9 275HX<br></td><td>1320 Multi-core index score, 134 Single-core index score</td></tr><tr><td>Razer Blade 14 | Ryzen AI 9 365</td><td>1054 Multi-core index score, 115 Single-core index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792068727177-wdai12o3n-bar-7zip 24.07" data-chart-type="Bar" data-title="7zip 24.07" data-subhead="Testing the straight CPU performance of the relative laptop silicon." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Compressing (GIPS)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Decompressing (GIPS)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.181%; background-color: #E33235;" data-target-width="78.181" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">156.362</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.7705%; background-color: #FE9F58;" data-target-width="67.7705" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">135.541</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | Ryzen AI 9 HX 370</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.411%; background-color: #E33235;" data-target-width="54.411" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">108.822</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64.1775%; background-color: #FE9F58;" data-target-width="64.1775" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">128.355</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Crosshair 16 HX | Core Ultra 9 275HX<br></div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.8935%; background-color: #E33235;" data-target-width="60.8935" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">121.787</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.411%; background-color: #FE9F58;" data-target-width="65.411" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">130.822</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | Ryzen AI 9 365</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.585%; background-color: #E33235;" data-target-width="51.585" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">103.17</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.9875%; background-color: #FE9F58;" data-target-width="53.9875" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">107.975</span></div></div></div></div></div><table class="sr-only"><caption>7zip 24.07 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>156.362 Compressing (GIPS), 135.541 Decompressing (GIPS)</td></tr><tr><td>Framework 16 | Ryzen AI 9 HX 370</td><td>108.822 Compressing (GIPS), 128.355 Decompressing (GIPS)</td></tr><tr><td>MSI Crosshair 16 HX | Core Ultra 9 275HX<br></td><td>121.787 Compressing (GIPS), 130.822 Decompressing (GIPS)</td></tr><tr><td>Razer Blade 14 | Ryzen AI 9 365</td><td>103.17 Compressing (GIPS), 107.975 Decompressing (GIPS)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792068727177-wdai12o3n-bar-Procyon" data-chart-type="Bar" data-title="Procyon" data-subhead="Testing the straight CPU performance of the relative laptop silicon." data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Overall index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Duration (Sec)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Sec/image</span></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ProArt P16 | RTX Spark</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.25%; background-color: #E33235;" data-target-width="75.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1505</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.3201999999999994%; background-color: #FE9F58;" data-target-width="3.3201999999999994" data-target-margin="0"></div><span class="fv-bar-value-outside">66.404</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.2075%; background-color: #1CA9C4;" data-target-width="0.2075" data-target-margin="0"></div><span class="fv-bar-value-outside">4.15</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Framework 16 | Ryzen AI 9 HX 370</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 89.45%; background-color: #E33235;" data-target-width="89.45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1789</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.795%; background-color: #FE9F58;" data-target-width="2.795" data-target-margin="0"></div><span class="fv-bar-value-outside">55.9</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.1745%; background-color: #1CA9C4;" data-target-width="0.1745" data-target-margin="0"></div><span class="fv-bar-value-outside">3.49</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Crosshair 16 HX | Core Ultra 9 275HX<br></div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.4%; background-color: #E33235;" data-target-width="75.4" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1508</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.3135%; background-color: #FE9F58;" data-target-width="3.3135" data-target-margin="0"></div><span class="fv-bar-value-outside">66.27</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.207%; background-color: #1CA9C4;" data-target-width="0.207" data-target-margin="0"></div><span class="fv-bar-value-outside">4.14</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Razer Blade 14 | Ryzen AI 9 365</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85.2%; background-color: #E33235;" data-target-width="85.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1704</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.9335%; background-color: #FE9F58;" data-target-width="2.9335" data-target-margin="0"></div><span class="fv-bar-value-outside">58.67</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 0.1835%; background-color: #1CA9C4;" data-target-width="0.1835" data-target-margin="0"></div><span class="fv-bar-value-outside">3.67</span></div></div></div><table class="sr-only"><caption>Procyon Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ProArt P16 | RTX Spark</td><td>1505 Overall index score, 66.404 Duration (Sec), 4.15 Sec/image</td></tr><tr><td>Framework 16 | Ryzen AI 9 HX 370</td><td>1789 Overall index score, 55.9 Duration (Sec), 3.49 Sec/image</td></tr><tr><td>MSI Crosshair 16 HX | Core Ultra 9 275HX<br></td><td>1508 Overall index score, 66.27 Duration (Sec), 4.14 Sec/image</td></tr><tr><td>Razer Blade 14 | Ryzen AI 9 365</td><td>1704 Overall index score, 58.67 Duration (Sec), 3.67 Sec/image</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792068727177-wdai12o3n', false); });      } else {        initialize('fv-chart-1792068727177-wdai12o3n', false);      }    })();      </script></div><p>The other issue is also CPU related, though not 100% emulation based. Those Arm cores, even the X925 'performance' cores are not the same as the x86 chips from AMD and Intel right now. Multithreading is fine, but the real problem is single core performance. Take a look at the Cinebench scores and you'll see what I mean. </p><p>With a single core score of 72 it's well behind the other chips in the test. Those this benchmark will, of course, be emulated and that is going to impact the outcome, but it highlights where the limitations lie with Nvidia's approach to the SoC. Translate that into gaming terms and the Baldur's Gate 3 benchmark above highlights this perfectly.</p><p>This is a game we use to benchmark the gaming performance of a system's CPU because the end-game in the city really demands a lot from your processor. That's why you'll see the MSI Crosshair 16 HX topping the benchmarks here, with its grunty Intel processor. And down the bottom is the RTX Spark with its Arm cores chugging along some 43% slower in terms of frame rate.</p><h2 class="article-body__section" id="section-nvidia-rtx-spark-early-impressions"><span>Nvidia RTX Spark - Early impressions</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PHEpRgCDRckSQ5CpxHeSdL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/67se7k5fLbRDHQaLnVkReL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/v6MexP7DQk8scp2tmb6iPL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/335dER7yYLxcPPfk7AdnLL-1920-80.jpg" alt="Asus ProArt P16 laptop with Nvidia's RTX Spark inside" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>I can't really give a solid verdict on the RTX Spark having only had it in my hands for less than a week. But I can certainly give you my first impressions. And they are that the platform delivers a really great device. The Asus ProArt P16 is an absolute delight to use, and the performance it delivers is genuinely impressive.</p><p>If this were the same price, or even slightly more than an RTX 5070 gaming laptop, then it would be an easy thing to call this the future of mobile gaming machines. It comes in a thoroughly enjoyable form factor, performs admirably, and it would be a real toss-up for me as to whether I would rather this or the Razer Blade 14.</p><p>But it's not. This is a $4,400 machine, and while you can't currently pick up Blade 14 right now, you can get really lovely RTX 5070 gaming laptops for a lot lot less.</p><p>So, it can't be a solid recommendation for a dedicated PC gamer. </p><div><blockquote><p>A glimpse into a future where the x86 hegemony of hardware has well and truly been put to rest</p></blockquote></div><p>For less than the price of this middle-range RTX Spark laptop, you can pick up a very well-specced RTX 5090 laptop that comes with 24 GB of very fast GDDR7 VRAM. And that will really do the business when it comes to local AI. Yes, you can go and buy a 24 GB RTX Spark for $2,700, but that would be the same overall memory pool as a standard 16 GB laptop with an RTX 5070. Or even RTX 5060 for that matter. That's not going to get you real access to good local AI models to take advantage of what makes the RTX Spark special.</p><p>And there <em>are </em>things that do make it special. If you could stretch to the 64 GB version I have here, and you do far more than game on your device, it does become almost that do-everything laptop. You absolutely can play games on this at high frame rates when you're done doing serious work things, but you can also slam through beefy local AI models, but you also have both the GPU and memory power to run through practically any creative task you put your mind to. And Windows (formerly 'on Arm') is now so transparent that almost every application you might use to do that is fully supported on the OS.</p><p>This is my daily driver now, and I'll be spending a lot more time with it to give a more considered take down the line, combined with a whole lot more gaming benchmarks. But for now, and for a very specific audience, this is a hell of a machine. For the rest of us? Well, it's a glimpse into a future where the x86 hegemony of hardware has well and truly been put to rest.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Epic said its game launcher was faster than Steam on the same day Steam got a speed boost—so I've put both to the test ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Catching a glimpse of my screen is often a stressful experience for my colleagues. Besides my mess of desktop icons and all the browser tabs I have open at any given time, you don't want to know how many things I have set to launch on startup. Among these are, of course, the Steam and Epic Games Store clients and let me tell ya, not all launchers are created equal.</p><p>Earlier this week, <a href="https://x.com/EpicGames/status/2110369347592229333" target="_blank">Epic shared on X</a> that it had "vibe coded the Epic Games Launcher to be faster than the other guy." On the same day, <a href="https://steamcommunity.com/games/593110/announcements/detail/710037059469839721" target="_blank">Valve released a Steam Client update</a> that "Improved Steam Client startup performance." Well, there's only one thing for it: I've got to benchmark these bad boys to determine once and for all whose launcher is actually faster.</p><p>For my basic benchmarks, I timed how quickly each client loaded into their respective storefronts (with all images displaying properly) after I opened them from the system tray (for those curious, my rig is <a href="https://www.pcgamer.com/hardware/gaming-pcs/ibuypower-rdy-y40-valorant-vcta-r003-review/" target="_blank">this iBuyPower prebuilt with an RTX 4070 Super</a>). I ran three tests on each and then took the average result. The Steam client loaded in 9.32 seconds on average, while the Epic Games Launcher loaded in 5.98 seconds for me.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Others <a href="https://x.com/girlglock_/status/2110541894702727281?s=20" target="_blank">have demonstrated Steam launching into the library in less time</a>, but the Epic launcher is faster by seconds as far as my rig is concerned. That said, Steam remains my client of choice.</p><p>For instance, the first thing I noticed during my tests was that one does not simply 'exit' the Epic Games Launcher like you can with Steam. In Valve's client, you click 'Steam' in the top-left corner, then simply select 'exit' from the drop-down menu. A quick check of Task Manager shows it's not secretly running in the background.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="227BXKgc2ZKscWoxe2bNiV" name="New Epic Games Launcher Preview" alt="Epic Games Store redesign" src="https://cdn.mos.cms.futurecdn.net/227BXKgc2ZKscWoxe2bNiV-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Epic Games)</span></figcaption></figure><p>It's not as straightforward for Epic. You can either click the 'x' or right-click the icon in your system tray and then select 'Close window'. But for my benchmarks, I opted to 'end task' the Epic launcher each time, as just closing the window doesn't stop it from running in the background. On each of my tests, I had to do this twice as the launcher opened itself after I ended the task the first time.</p><p>This small, very specific gripe aside, there are other features on Steam I personally appreciate. <a href="https://www.pcgamer.com/software/platforms/steams-new-big-art-mode-is-a-lovely-visual-upgrade-for-my-living-room-setup/" target="_blank">The recent Big Art update</a> has really spruced up my game library, and I've been making liberal use of <a href="https://www.pcgamer.com/games/steam-finally-found-a-way-to-recommend-new-games-that-doesnt-feel-like-im-getting-kod-by-a-fire-hose/" target="_blank">the 'personal calendar' feature</a> (Steam has already spotlighted a number of upcoming cosy and horror games, much to my wallet's chagrin).</p><p>As we've seen from my benchmarks, the Steam client is by no means perfect. For instance, Valve keeps saying <a href="https://www.pcgamer.com/hardware/okay-this-time-it-seems-like-valve-has-actually-fixed-steams-local-game-transfer-problem/" target="_blank">it has fixed local game transfer quirks</a>, though the experience can still be plenty quirky. I'm also not really a fan of <a href="https://www.pcgamer.com/software/platforms/steam-now-has-a-maddening-bouncing-logo-screensaver-and-im-pretty-sure-it-doesnt-touch-the-corners/" target="_blank">the bouncing logo screensaver</a>, either. And to be fair, even the features I like arguably make the client's store page look a bit cluttered. Still, I generally prefer that mess to the Epic Games Launcher's austere look myself.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/epic-said-its-game-launcher-was-faster-than-steam-on-the-same-day-steam-got-a-speed-boost-so-ive-put-both-to-the-test/</link>
                                                                            <description>
                            <![CDATA[ There's only seconds in it, mind. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GyJZczT3VUiC3YDHWowPYm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aRmuneCkQLMQZfYejmFp7o-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:10:51 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 21:43:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aRmuneCkQLMQZfYejmFp7o-1920-80.jpg">
                                                            <media:credit><![CDATA[Valve, Epic, Turn 10, Xbox Game Studios]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Steam and the Epic Games launcher represented as two cars on a race track.]]></media:description>                                                            <media:text><![CDATA[Steam and the Epic Games launcher represented as two cars on a race track.]]></media:text>
                                <media:title type="plain"><![CDATA[Steam and the Epic Games launcher represented as two cars on a race track.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aRmuneCkQLMQZfYejmFp7o-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Catching a glimpse of my screen is often a stressful experience for my colleagues. Besides my mess of desktop icons and all the browser tabs I have open at any given time, you don't want to know how many things I have set to launch on startup. Among these are, of course, the Steam and Epic Games Store clients and let me tell ya, not all launchers are created equal.</p><p>Earlier this week, <a href="https://x.com/EpicGames/status/2110369347592229333" target="_blank">Epic shared on X</a> that it had "vibe coded the Epic Games Launcher to be faster than the other guy." On the same day, <a href="https://steamcommunity.com/games/593110/announcements/detail/710037059469839721" target="_blank">Valve released a Steam Client update</a> that "Improved Steam Client startup performance." Well, there's only one thing for it: I've got to benchmark these bad boys to determine once and for all whose launcher is actually faster.</p><p>For my basic benchmarks, I timed how quickly each client loaded into their respective storefronts (with all images displaying properly) after I opened them from the system tray (for those curious, my rig is <a href="https://www.pcgamer.com/hardware/gaming-pcs/ibuypower-rdy-y40-valorant-vcta-r003-review/" target="_blank">this iBuyPower prebuilt with an RTX 4070 Super</a>). I ran three tests on each and then took the average result. The Steam client loaded in 9.32 seconds on average, while the Epic Games Launcher loaded in 5.98 seconds for me.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Others <a href="https://x.com/girlglock_/status/2110541894702727281?s=20" target="_blank">have demonstrated Steam launching into the library in less time</a>, but the Epic launcher is faster by seconds as far as my rig is concerned. That said, Steam remains my client of choice.</p><p>For instance, the first thing I noticed during my tests was that one does not simply 'exit' the Epic Games Launcher like you can with Steam. In Valve's client, you click 'Steam' in the top-left corner, then simply select 'exit' from the drop-down menu. A quick check of Task Manager shows it's not secretly running in the background.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="227BXKgc2ZKscWoxe2bNiV" name="New Epic Games Launcher Preview" alt="Epic Games Store redesign" src="https://cdn.mos.cms.futurecdn.net/227BXKgc2ZKscWoxe2bNiV-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Epic Games)</span></figcaption></figure><p>It's not as straightforward for Epic. You can either click the 'x' or right-click the icon in your system tray and then select 'Close window'. But for my benchmarks, I opted to 'end task' the Epic launcher each time, as just closing the window doesn't stop it from running in the background. On each of my tests, I had to do this twice as the launcher opened itself after I ended the task the first time.</p><p>This small, very specific gripe aside, there are other features on Steam I personally appreciate. <a href="https://www.pcgamer.com/software/platforms/steams-new-big-art-mode-is-a-lovely-visual-upgrade-for-my-living-room-setup/" target="_blank">The recent Big Art update</a> has really spruced up my game library, and I've been making liberal use of <a href="https://www.pcgamer.com/games/steam-finally-found-a-way-to-recommend-new-games-that-doesnt-feel-like-im-getting-kod-by-a-fire-hose/" target="_blank">the 'personal calendar' feature</a> (Steam has already spotlighted a number of upcoming cosy and horror games, much to my wallet's chagrin).</p><p>As we've seen from my benchmarks, the Steam client is by no means perfect. For instance, Valve keeps saying <a href="https://www.pcgamer.com/hardware/okay-this-time-it-seems-like-valve-has-actually-fixed-steams-local-game-transfer-problem/" target="_blank">it has fixed local game transfer quirks</a>, though the experience can still be plenty quirky. I'm also not really a fan of <a href="https://www.pcgamer.com/software/platforms/steam-now-has-a-maddening-bouncing-logo-screensaver-and-im-pretty-sure-it-doesnt-touch-the-corners/" target="_blank">the bouncing logo screensaver</a>, either. And to be fair, even the features I like arguably make the client's store page look a bit cluttered. Still, I generally prefer that mess to the Epic Games Launcher's austere look myself.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ After Civ 7 stumbled, Humankind 2 looks like it's making smart choices to pick up the 4X torch ]]></title>
                                                                                                <dc:content><![CDATA[ <p>We all know the tale of Civilization 7. It came, it saw, it had you choose a new civ at the dawn of each age and that annoyed quite a lot of people indeed. Sic transit gloria Meier-i.</p><p>So I was a bit surprised when Amplitude sat us down for a look at Humankind 2 and focused so much on its culture system, reworked from the first game, but a big part of which is selecting new cultures to embrace as the eras chug along—Egyptians becoming Berbers, or Romans, or even English (a dreadful fate) if circumstances conspire to allow it in the game's sandbox.</p><p>But I liked what I saw. The other big talking point of the hands-off demo I got was on climate and biome, and how that intersects with and shapes culture. Humankind 2's vision of history is a dialectical one, where a culture is shaped by a biome which is changed by a culture which is influenced by a biome which… you get the idea. Climate isn't static, either. Just like real life, it'll undergo natural and unnatural disruptions depending on chance and player/NPC activity.</p><p>So it all feels like an intricate and natural take on (a type of) materialist history. Just, you know, a materialist history where the Egyptians might find themselves waking up to snow  one day. </p><h2 id="the-white-sun-of-the-desert">The white sun of the desert</h2><p>Our demo started us off looking at a map of the world—as in Earth, the actual world—dotted with numerous tribes. The interplay of environment and culture kicks off immediately: each tribe gets a "First Tale" linked to the territory in which they begin, the founding myths that act as the kernels for the full-fledged cultures that will eventually develop. They provide buffs (+X Authority, +Y Learning, and so on) and changes to tiles and citizen roles. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FUydBMcEYUMR2B3QfUCAec" name="02_HUMANKIND_2_EGYPTIANS_POLAR" alt="A city in an arctic environment." src="https://cdn.mos.cms.futurecdn.net/FUydBMcEYUMR2B3QfUCAec-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/FUydBMcEYUMR2B3QfUCAec-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>These are the things that, from the jump, make you just a little bit better at existing in your chosen environment than the other guys on the map, and that are meant to make your faction feel less like it emerged, fully-formed, from nowhere at all. We ended up with a tribe in the general vicinity of modern-day Egypt whose First Tale, appropriate enough for the banks of the Nile, was "Flood Tamer"—the upshot being that they consumed less water and were better at putting water and its generation to positive uses than average.</p><p>Amplitude says that Humankind 2's different starting biomes will have a dramatic impact on the shape of your game, especially as you start drilling down past the broad bonuses of your selected First Tale and into the more specific trees of "Adaptations" you can make to deepen your culture's affinity for its chosen biome. As Ancient Egypt, sweating in the sun of the North African desert, we could spend culture points to unlock adaptations like mudbricks, camel herding, heat endurance, and so on—various ways to adapt to the sweltering heat and scarce water of your chosen home.</p><p>Our culture and selected adaptations let us actually scrounge up some water in the African desert, but Amplitude noted that this was no reason to rest on our laurels. Climate shifts, like the actual Medieval Warm Period or Little Ice Age, can occur, turning biomes more arid or humid. Your carefully selected adaptations can be blunted by mother nature, though that's not to say it's <em>impossible</em> to adapt to radical change: toward the end of the demo we leapt into a save which saw Egyptian civilisation blanketed in snow, sheets of ice climbing the sides of the pyramids. Its adaptations now focused on warmth, whaling, and the long-term preservation of scarce resources.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BV5sEMYgXgb9swBbExSfdc" name="01_HUMANKIND_2_CITY" alt="A sprawling city." src="https://cdn.mos.cms.futurecdn.net/BV5sEMYgXgb9swBbExSfdc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/BV5sEMYgXgb9swBbExSfdc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>The goal of all this is very Amplitude: factions that feel distinguished by more than a different aesthetic and a set of starting bonuses, and that feel uniquely tied to, and shaped by, the world around them. Having only really seen Ancient Egypt in action, I can't make any declarations as to its success, but I struggle to imagine a player starting in the Tundra, Taiga, Forest, or Brush biomes making the same moves our demo did. </p><p>Likewise, if our desert-adapted Egyptians suddenly marched into the Jungle, I get the sense they would find themselves at a serious disadvantage compared to the environment's native inhabitants. This is something you could feasibly exploit, one day. Amplitude suggested that, if you had a culture that was incredibly good at handling arid environments, you might willingly trigger some sort of nuclear apocalypse to render the whole Earth that way. Great news for you, bad news for your enemies who grew up in the snow (and for the billions of vaporised people, I suppose).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pZA47z4NoQbAetxZBtmzEc" name="03_HUMANKIND_2_ADAPTATIONS" alt="Adaptations tree in Humankind 2." src="https://cdn.mos.cms.futurecdn.net/pZA47z4NoQbAetxZBtmzEc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/pZA47z4NoQbAetxZBtmzEc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><h2 id="culture-shock">Culture shock</h2><p>Amplitude is trying to move away from what it called "monolithic" cultures in Humankind 1—consisting of "a unity, a building, and a bonus, basically"—into something more skill-tree-based in the second game. </p><p>Every culture has a set of customs you can unlock, divided by tier, and which you equip and activate in a limited number of bonus slots. They do pretty much what you'd expect—Egypt can opt into a pharaonic tradition to buff its authority generation, or get better at wringing water from the desert sand—but it's another way the studio is trying to make each faction feel unique, tailored, and adapted specifically to its material conditions.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qnu9EpEUaByYiBCtvYfzMc" name="04_HUMANKIND_2_CUSTOMS" alt="Customs tree in Humankind 2." src="https://cdn.mos.cms.futurecdn.net/qnu9EpEUaByYiBCtvYfzMc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/qnu9EpEUaByYiBCtvYfzMc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>As the eras pass by, your culture will approach "Crossroads" points, where you can decide to diverge based on either common history, shared land, or foreign contact (the first being free, the second costing culture points, and the third costing even more culture points). New cultures unlock new customs, new city aesthetics, and new roles (Humankind 2's take on a pop and job system for your cities). There are 70 cultures total, said the studio.</p><p>This did not, in the small example I was shown, seem quite as jarring as Civ 7's implementation of its own similar concept, rather it was just one way in which Amplitude is trying to make each of your sessions in the game feel different. "With Humankind 2 you will make really unique cities that won't just be the same template over and over," pledged the studio, in contrast to the first game.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FKceZ8m6YF6QC4Qh7yD3Zc" name="06_HUMANKIND_2_CROSSROADS" alt="Cultural crossroads in Humankind 2." src="https://cdn.mos.cms.futurecdn.net/FKceZ8m6YF6QC4Qh7yD3Zc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/FKceZ8m6YF6QC4Qh7yD3Zc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>Also a contrast to the first game: production values. Amplitude touted its new effects and animations as it played—wonders now assemble themselves bit-by-bit in dramatic fashion when completed, for instance—and talked up the game's load times even on ageing rigs. It's not the most important thing, maybe, but it does look quite nice, and makes the game feel like more of a genuine competitor to Civ, with all that series' lavishly rendered cutscenes and wonder animations.</p><p>I certainly didn't see enough of Humankind 2 to make any sweeping declarations about it or its upcoming place in the 4X canon, but I'll tell you this: I'm intrigued. Amplitude seems to be taking a lot of good lessons from both its own back catalogue and the general 4X space for Humankind 2, and I'm eager to see how they all come together when the game releases next year.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/strategy/after-civ-7-stumbled-humankind-2-looks-like-its-making-smart-choices-to-pick-up-the-4x-torch/</link>
                                                                            <description>
                            <![CDATA[ Very dialectical. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CnbWoP4kWouyPGWexUCqBN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RvHpWzB8ZkFUBFtHkD8Qdc-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:09:36 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 16:59:42 +0000</updated>
                                                                                                                                            <category><![CDATA[Strategy]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ joshua.wolens@futurenet.com (Joshua Wolens) ]]></author>                    <dc:creator><![CDATA[ Joshua Wolens ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYajqiFjn2Rwz4msxoLFyP-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/RvHpWzB8ZkFUBFtHkD8Qdc-1920-80.jpg">
                                                            <media:credit><![CDATA[Amplitude]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Humankind 2 keyart showing various people from historical and current cultures]]></media:description>                                                            <media:text><![CDATA[Humankind 2 keyart showing various people from historical and current cultures]]></media:text>
                                <media:title type="plain"><![CDATA[Humankind 2 keyart showing various people from historical and current cultures]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RvHpWzB8ZkFUBFtHkD8Qdc-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We all know the tale of Civilization 7. It came, it saw, it had you choose a new civ at the dawn of each age and that annoyed quite a lot of people indeed. Sic transit gloria Meier-i.</p><p>So I was a bit surprised when Amplitude sat us down for a look at Humankind 2 and focused so much on its culture system, reworked from the first game, but a big part of which is selecting new cultures to embrace as the eras chug along—Egyptians becoming Berbers, or Romans, or even English (a dreadful fate) if circumstances conspire to allow it in the game's sandbox.</p><p>But I liked what I saw. The other big talking point of the hands-off demo I got was on climate and biome, and how that intersects with and shapes culture. Humankind 2's vision of history is a dialectical one, where a culture is shaped by a biome which is changed by a culture which is influenced by a biome which… you get the idea. Climate isn't static, either. Just like real life, it'll undergo natural and unnatural disruptions depending on chance and player/NPC activity.</p><p>So it all feels like an intricate and natural take on (a type of) materialist history. Just, you know, a materialist history where the Egyptians might find themselves waking up to snow  one day. </p><h2 id="the-white-sun-of-the-desert">The white sun of the desert</h2><p>Our demo started us off looking at a map of the world—as in Earth, the actual world—dotted with numerous tribes. The interplay of environment and culture kicks off immediately: each tribe gets a "First Tale" linked to the territory in which they begin, the founding myths that act as the kernels for the full-fledged cultures that will eventually develop. They provide buffs (+X Authority, +Y Learning, and so on) and changes to tiles and citizen roles. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FUydBMcEYUMR2B3QfUCAec" name="02_HUMANKIND_2_EGYPTIANS_POLAR" alt="A city in an arctic environment." src="https://cdn.mos.cms.futurecdn.net/FUydBMcEYUMR2B3QfUCAec-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/FUydBMcEYUMR2B3QfUCAec-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>These are the things that, from the jump, make you just a little bit better at existing in your chosen environment than the other guys on the map, and that are meant to make your faction feel less like it emerged, fully-formed, from nowhere at all. We ended up with a tribe in the general vicinity of modern-day Egypt whose First Tale, appropriate enough for the banks of the Nile, was "Flood Tamer"—the upshot being that they consumed less water and were better at putting water and its generation to positive uses than average.</p><p>Amplitude says that Humankind 2's different starting biomes will have a dramatic impact on the shape of your game, especially as you start drilling down past the broad bonuses of your selected First Tale and into the more specific trees of "Adaptations" you can make to deepen your culture's affinity for its chosen biome. As Ancient Egypt, sweating in the sun of the North African desert, we could spend culture points to unlock adaptations like mudbricks, camel herding, heat endurance, and so on—various ways to adapt to the sweltering heat and scarce water of your chosen home.</p><p>Our culture and selected adaptations let us actually scrounge up some water in the African desert, but Amplitude noted that this was no reason to rest on our laurels. Climate shifts, like the actual Medieval Warm Period or Little Ice Age, can occur, turning biomes more arid or humid. Your carefully selected adaptations can be blunted by mother nature, though that's not to say it's <em>impossible</em> to adapt to radical change: toward the end of the demo we leapt into a save which saw Egyptian civilisation blanketed in snow, sheets of ice climbing the sides of the pyramids. Its adaptations now focused on warmth, whaling, and the long-term preservation of scarce resources.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BV5sEMYgXgb9swBbExSfdc" name="01_HUMANKIND_2_CITY" alt="A sprawling city." src="https://cdn.mos.cms.futurecdn.net/BV5sEMYgXgb9swBbExSfdc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/BV5sEMYgXgb9swBbExSfdc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>The goal of all this is very Amplitude: factions that feel distinguished by more than a different aesthetic and a set of starting bonuses, and that feel uniquely tied to, and shaped by, the world around them. Having only really seen Ancient Egypt in action, I can't make any declarations as to its success, but I struggle to imagine a player starting in the Tundra, Taiga, Forest, or Brush biomes making the same moves our demo did. </p><p>Likewise, if our desert-adapted Egyptians suddenly marched into the Jungle, I get the sense they would find themselves at a serious disadvantage compared to the environment's native inhabitants. This is something you could feasibly exploit, one day. Amplitude suggested that, if you had a culture that was incredibly good at handling arid environments, you might willingly trigger some sort of nuclear apocalypse to render the whole Earth that way. Great news for you, bad news for your enemies who grew up in the snow (and for the billions of vaporised people, I suppose).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pZA47z4NoQbAetxZBtmzEc" name="03_HUMANKIND_2_ADAPTATIONS" alt="Adaptations tree in Humankind 2." src="https://cdn.mos.cms.futurecdn.net/pZA47z4NoQbAetxZBtmzEc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/pZA47z4NoQbAetxZBtmzEc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><h2 id="culture-shock">Culture shock</h2><p>Amplitude is trying to move away from what it called "monolithic" cultures in Humankind 1—consisting of "a unity, a building, and a bonus, basically"—into something more skill-tree-based in the second game. </p><p>Every culture has a set of customs you can unlock, divided by tier, and which you equip and activate in a limited number of bonus slots. They do pretty much what you'd expect—Egypt can opt into a pharaonic tradition to buff its authority generation, or get better at wringing water from the desert sand—but it's another way the studio is trying to make each faction feel unique, tailored, and adapted specifically to its material conditions.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qnu9EpEUaByYiBCtvYfzMc" name="04_HUMANKIND_2_CUSTOMS" alt="Customs tree in Humankind 2." src="https://cdn.mos.cms.futurecdn.net/qnu9EpEUaByYiBCtvYfzMc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/qnu9EpEUaByYiBCtvYfzMc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>As the eras pass by, your culture will approach "Crossroads" points, where you can decide to diverge based on either common history, shared land, or foreign contact (the first being free, the second costing culture points, and the third costing even more culture points). New cultures unlock new customs, new city aesthetics, and new roles (Humankind 2's take on a pop and job system for your cities). There are 70 cultures total, said the studio.</p><p>This did not, in the small example I was shown, seem quite as jarring as Civ 7's implementation of its own similar concept, rather it was just one way in which Amplitude is trying to make each of your sessions in the game feel different. "With Humankind 2 you will make really unique cities that won't just be the same template over and over," pledged the studio, in contrast to the first game.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FKceZ8m6YF6QC4Qh7yD3Zc" name="06_HUMANKIND_2_CROSSROADS" alt="Cultural crossroads in Humankind 2." src="https://cdn.mos.cms.futurecdn.net/FKceZ8m6YF6QC4Qh7yD3Zc-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/FKceZ8m6YF6QC4Qh7yD3Zc-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Amplitude)</span></figcaption></figure><p>Also a contrast to the first game: production values. Amplitude touted its new effects and animations as it played—wonders now assemble themselves bit-by-bit in dramatic fashion when completed, for instance—and talked up the game's load times even on ageing rigs. It's not the most important thing, maybe, but it does look quite nice, and makes the game feel like more of a genuine competitor to Civ, with all that series' lavishly rendered cutscenes and wonder animations.</p><p>I certainly didn't see enough of Humankind 2 to make any sweeping declarations about it or its upcoming place in the 4X canon, but I'll tell you this: I'm intrigued. Amplitude seems to be taking a lot of good lessons from both its own back catalogue and the general 4X space for Humankind 2, and I'm eager to see how they all come together when the game releases next year.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Asus ROG Xbox Ally X20 review ]]></title>
                                                                                                <dc:content><![CDATA[ <div data-widget-type="review" data-model-name="asus rog xbox ally x20" data-widget-title=""></div><p>The Asus ROG 20th anniversary lineup has been interesting. Black, gold, and indulgent feels like the tagline here, with the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-azoth-extreme-edition-20-review/" target="_blank">Azoth Extreme Edition 20</a> and <a href="https://www.pcgamer.com/hardware/gaming-mice/asus-rog-harpe-ii-extreme-edition-20-review/" target="_blank">ROG Harpe II Extreme Edition 20</a> containing actual gold, and a fitting price tag to boot.</p><p>For any criticisms I may have, I don't think you're paying primarily for the branding on the Asus ROG Xbox Ally X20, though. You get a new OLED screen which is bigger and brighter than the IPS panel in the standard Xbox Ally X, TMR thumbsticks, refined triggers, a new cooling system, and with that screen comes a snappy 0.2 ms response time. </p><p>Refined is a good word for the device as a whole. Coming a year later than the last model, the software is smooth and intuitive, and it's easy to swap between Xbox and Windows mode, though it still doesn't feel like a console in practice. For my money, it's the best ROG Ally on the market right now, but the memory crisis has skewed the price of all gaming gear, and the X20 is certainly not the best value as a result. </p><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy if…</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅</strong> <strong>You want a beefy OLED handheld:</strong> OLED handhelds are still fairly niche, and with recent price bumps, I'd pick this over the Legion Go 2 or OneXPlayer's offerings.<br><br><strong>✅</strong> <strong>You want power on the go: </strong>I'd suggest a significantly cheaper handheld if you are after low-intensity games and don't particularly care for big-budget ones. For your Cyberpunks and your Horizons, you will want a Z2 Extreme chip or better to play them at a decent resolution and settings. </p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy if…</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You're fine with IPS: </strong>$300 more for the X20 over the X is pretty steep, especially if you aren't dying to play on an OLED. <br><br><strong>❌ You live in the UK:</strong> The pricing on the X20 is not as good value in Britain, with the superior G3-equipped MSI Claw being only £100 more (though no OLED) and the standard Xbox Ally X £400 less.</p></div></div></div></div><h2 class="article-body__section" id="section-features"><span>Features</span></h2><div ><table><caption>Asus ROG Xbox Ally X20 vs Ally X specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Asus ROG Xbox Ally X20</strong></p></th><th  ><p><strong>Asus ROG Xbox Ally X</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td></tr><tr><td class="firstcol " ><p><strong>CPU architecture</strong></p></td><td  ><p>Zen 5 / Zen 5c</p></td><td  ><p>Zen 5 / Zen 5c</p></td></tr><tr><td class="firstcol " ><p><strong>Core / threads</strong></p></td><td  ><p>8 / 16</p></td><td  ><p>8 / 16</p></td></tr><tr><td class="firstcol " ><p><strong>CPU boost clock</strong></p></td><td  ><p>5 GHz</p></td><td  ><p>5 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>GPU architecture</strong></p></td><td  ><p>RDNA 3.5</p></td><td  ><p>RDNA 3.5</p></td></tr><tr><td class="firstcol " ><p><strong>Shader count</strong></p></td><td  ><p>1024</p></td><td  ><p>1024</p></td></tr><tr><td class="firstcol " ><p><strong>GPU boost clock</strong></p></td><td  ><p>2.9 GHz</p></td><td  ><p>2.9 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>VRAM</strong></p></td><td  ><p>8 GB (shared, adjustable)</p></td><td  ><p>8 GB (shared, adjustable)</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>24 GB LPDDR5X</p></td><td  ><p>24 GB LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>Screen</strong></p></td><td  ><p>7.4-inch OLED display</p></td><td  ><p>7-inch IPS LCD display</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution / refresh rate</strong></p></td><td  ><p>1920 x 1080 / 120 Hz</p></td><td  ><p>1920 x 1080 / 120 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Peak brightness</strong></p></td><td  ><p>1400 nits</p></td><td  ><p>500 nits</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td></tr><tr><td class="firstcol " ><p><strong>Thumbsticks</strong></p></td><td  ><p>TMR</p></td><td  ><p>Magnetic</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity </strong></p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD Express card reader</p><p>1x 3.5 mm combo jack</p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD card reader</p><p>1x 3.5 mm combo jack</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>30.0 x 12.1 x 5.13 cm</p></td><td  ><p>29 x 12.1 x 5.07 cm</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>80 Wh</p></td><td  ><p>80 Wh</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>756 g</p></td><td  ><p>715 g</p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://rog.asus.com/us/gaming-handhelds/rog-ally/rog-xbox-ally-x20-2026/wtb/" target="_blank">$1,300</a>  / <a href="https://uk.store.asus.com/rog-xbox-ally-x20.html" target="_blank">£1300</a></p></td><td  ><p><a href="https://bestbuy.7tiv.net/c/1943169/614286/10014?subId1=pcg-gb-6459252765237501214&sharedId=pcg-gb&u=https%3A%2F%2Fwww.bestbuy.com%2Fproduct%2Frog-xbox-ally-x-7-fhd-120hz-gaming-handheld-amd-ryzen-ai-z2-extreme-processor-24gb-with-1tb-ssd-windows%2FJJGHGPLVHW" target="_blank">$1,000</a>/<a href="https://www.awin1.com/awclick.php?awinmid=31726&awinaffid=103504&clickref=pcg-gb-6290159269328242922&p=https%3A%2F%2Fuk.store.asus.com%2Frog-xbox-ally-x.html" target="_blank">£900</a> (MSRP)</p></td></tr></tbody></table></div><p>The Asus ROG Xbox Ally X20 (or should I say XBOX) is a relatively granular update on the <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x-review/" target="_blank">Xbox Ally X</a>. I noticed it immediately when putting the two devices side by side, but when it comes to performance, you're getting identical experiences. They have the same chip, the same memory, the same storage. That's the Ryzen Z2 Extreme, 24 GB LPDDR5X, and 1 TB PCIe 4.0 M.2 2280, respectively. </p><p>Given you don't get a performance bump, you've gotta really care about the details to consider the X20. Arguably its biggest upgrade is the OLED panel, and it is a beauty. The DisplayHDR True Black 1400 certification isn't just for show, as it pops, appearing both bright and ultra-vibrant. It's also got a bigger screen, which does make the device more immersive, but also larger and chunkier. </p><p>You can technically upgrade the plain old joysticks in the ROG Xbox Ally X with a TMR module with a bit of know-how, but slapping in your own OLED screen would be very difficult, and I certainly wouldn't trust myself to do such fine electronic surgery. Therefore, I do see value in an upgraded, refined, and pretty older brother of last year's device. It's also got a whole new cooling system for frostier temps. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ycvmicSRpiengC9Dnsbpn3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hUgY4aoKvZaiY2zJqTXqm3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>You also get smaller upgrades here, like the ability to pull up and turn the D-Pad to make the corner buttons more or less pronounced, plus greater grooves on the face buttons to stop jagged edges, and a combination of more clicky bumpers and smoother triggers. These all combine to make the X20 feel more thoughtful in approach, and given the price bump, it sort of has to do that. </p><p>The X20 doesn't come with a charger in the box, which makes sense from an e-waste point of view, but it does mean you will get lacking plugged-in performance without an appropriately speedy charger. For instance, I ran the device at 35 W mode and did some of my benchmarks before realising I wasn't getting the full-fat 35 W mode because my charger wasn't quick enough. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NP68a57rSxXGYEWYYgdHc3" name="IMG_0928" alt="Asus ROG Xbox Ally X20 gaming handheld" src="https://cdn.mos.cms.futurecdn.net/NP68a57rSxXGYEWYYgdHc3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Could you say that's my fault for not seeing the low-power pop-up from Asus' software Armoury Crate? Absolutely. Does that mean you may need to pick up a quick charger if you want full-wattage plugged-in performance? Also, absolutely. </p><p>The box for the X20 also comes with a cardboard stand, which doesn't feel as luxurious as the device itself but is clean, effective, and environmentally conscious. It's a small but decent addition that I've been using consistently since unboxing the device without any problems. </p><h2 class="article-body__section" id="section-performance"><span>Performance</span></h2><p>There was a brief period when the original Asus ROG Xbox Ally X was the highest-performing gaming handheld money could buy. That was until the launch of the much more expensive <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/msi-claw-8-ex-ai-cg3em-review/" target="_blank">MSI Claw 8 EX AI+ CG3EM</a> (catchy name, I know) broke onto the scene. </p><p>Despite launching a year after the original Xbox Ally X, the X20 sees no difference in power (as it has identical specs), and therefore my performance figures are more or less the same as what Dave got in his review of the standard Xbox Ally X. I got a little less in Metro and a little more in Horizon and Cyberpunk 2077, with lower 1% lows in F1 25.  </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792064714287-k6gkselhb *, #fv-chart-1792064714287-k6gkselhb *:before, #fv-chart-1792064714287-k6gkselhb *:after, #fv-chart-1792064714287-k6gkselhb-slideshow *, #fv-chart-1792064714287-k6gkselhb-slideshow *:before, #fv-chart-1792064714287-k6gkselhb-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792064714287-k6gkselhb, #fv-chart-1792064714287-k6gkselhb-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792064714287-k6gkselhb { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792064714287-k6gkselhb .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792064714287-k6gkselhb .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792064714287-k6gkselhb.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792064714287-k6gkselhb.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792064714287-k6gkselhb .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792064714287-k6gkselhb-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn.disabled, #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792064714287-k6gkselhb .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792064714287-k6gkselhb .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792064714287-k6gkselhb .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792064714287-k6gkselhb .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792064714287-k6gkselhb .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792064714287-k6gkselhb .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792064714287-k6gkselhb .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792064714287-k6gkselhb .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792064714287-k6gkselhb .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792064714287-k6gkselhb .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792064714287-k6gkselhb .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792064714287-k6gkselhb .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792064714287-k6gkselhb .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-row, #fv-chart-1792064714287-k6gkselhb .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792064714287-k6gkselhb.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792064714287-k6gkselhb .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792064714287-k6gkselhb .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792064714287-k6gkselhb .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792064714287-k6gkselhb .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-pie-container, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stacked-product, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-grouped-bar-product, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stacked-product, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-label, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-grouped-product-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-label, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-container, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-cluster, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-container, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-x-axis-wrapper, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-x-axis-label-space, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-x-axis-chart-space, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-benchmark-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-dropdown-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-carousel-nav-btn, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-chart-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-chart-subhead, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-header, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-wrapper, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-vs, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-container, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792064714287-k6gkselhb .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-row, #fv-chart-1792064714287-k6gkselhb .fv-stacked-product, #fv-chart-1792064714287-k6gkselhb .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label, #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-container, #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster { width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-label-space { display: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792064714287-k6gkselhb .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-logo, #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792064714287-k6gkselhb.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "1080p gaming performance",  "description": "In a handful of games, with upscaling on and off (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:45:14.288Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "Black Myth Wukong (1080p Medium)",    "Black Myth Wukong | Upscaling (1080p Medium)",    "Cyberpunk 2077 (1080p Medium)",    "Cyberpunk 2077 | Upscaling (1080p Medium)",    "F1 24 (1080p Medium)",    "F1 24 | Upscaling (1080p Medium)",    "Horizon Zero Dawn (1080p Original)",    "Horizon Zero Dawn | Upscaling (1080p Original)",    "Metro Exodus Enhanced (1080p High)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Black Myth Wukong (1080p Medium)",      "value": 20,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong (1080p Medium)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Black Myth Wukong (1080p Medium)",      "value": 15,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Black Myth Wukong (1080p Medium)",      "value": 24,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Black Myth Wukong (1080p Medium)",      "value": 33,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Black Myth Wukong (1080p Medium)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 31,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 40,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 37,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 50,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 34,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Cyberpunk 2077 (1080p Medium)",      "value": 32,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 (1080p Medium)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Cyberpunk 2077 (1080p Medium)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Cyberpunk 2077 (1080p Medium)",      "value": 35,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Cyberpunk 2077 (1080p Medium)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Cyberpunk 2077 (1080p Medium)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 58,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 29,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 73,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 47,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – F1 24 (1080p Medium)",      "value": 65,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 (1080p Medium)",      "value": 85,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – F1 24 (1080p Medium)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – F1 24 (1080p Medium)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – F1 24 (1080p Medium)",      "value": 107,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – F1 24 (1080p Medium)",      "value": 74,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – F1 24 | Upscaling (1080p Medium)",      "value": 76,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 | Upscaling (1080p Medium)",      "value": 96,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – F1 24 | Upscaling (1080p Medium)",      "value": 57,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – F1 24 | Upscaling (1080p Medium)",      "value": 87,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – F1 24 | Upscaling (1080p Medium)",      "value": 124,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – F1 24 | Upscaling (1080p Medium)",      "value": 90,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Horizon Zero Dawn (1080p Original)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn (1080p Original)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Horizon Zero Dawn (1080p Original)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Horizon Zero Dawn (1080p Original)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Horizon Zero Dawn (1080p Original)",      "value": 61,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Horizon Zero Dawn (1080p Original)",      "value": 46,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 60,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 47,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Metro Exodus Enhanced (1080p High)",      "value": 21,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Metro Exodus Enhanced (1080p High)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Metro Exodus Enhanced (1080p High)",      "value": 14,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Metro Exodus Enhanced (1080p High)",      "value": 20,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Metro Exodus Enhanced (1080p High)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Metro Exodus Enhanced (1080p High)",      "value": 24,      "unitText": "Avg FPS"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:45:14.288Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"1080p gaming performance","subhead":"In a handful of games, with upscaling on and off (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792064714287-k6gkselhb" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">1080p gaming performance</h3><p class="fv-chart-subhead">In a handful of games, with upscaling on and off (35 W plugged in)</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Black Myth Wukong (1080p Medium)</option><option value="1">Black Myth Wukong | Upscaling (1080p Medium)</option><option value="2">Cyberpunk 2077 (1080p Medium)</option><option value="3">Cyberpunk 2077 | Upscaling (1080p Medium)</option><option value="4">F1 24 (1080p Medium)</option><option value="5">F1 24 | Upscaling (1080p Medium)</option><option value="6">Horizon Zero Dawn (1080p Original)</option><option value="7">Horizon Zero Dawn | Upscaling (1080p Original)</option><option value="8">Metro Exodus Enhanced (1080p High)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Black Myth Wukong (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #E33235;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #FE9F58;" data-target-width="47.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #E33235;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.500000000000004%; background-color: #FE9F58;" data-target-width="27.500000000000004" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #E33235;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>10</span><span>20</span><span>30</span><span>40</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>20 Avg FPS, 17 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>26 Avg FPS, 19 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>15 Avg FPS, 11 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>24 Avg FPS, 20 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>33 Avg FPS, 16 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>22 Avg FPS, 16 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Black Myth Wukong | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong | Upscaling (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.66666666666667%; background-color: #E33235;" data-target-width="51.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">31</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #E33235;" data-target-width="66.66666666666666" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #FE9F58;" data-target-width="58.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #E33235;" data-target-width="36.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #E33235;" data-target-width="61.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.333333333333336%; background-color: #FE9F58;" data-target-width="48.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.33333333333334%; background-color: #E33235;" data-target-width="83.33333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.666666666666664%; background-color: #FE9F58;" data-target-width="46.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">28</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #E33235;" data-target-width="56.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>31 Avg FPS, 18 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>40 Avg FPS, 35 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>22 Avg FPS, 18 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>37 Avg FPS, 29 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>50 Avg FPS, 28 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>34 Avg FPS, 27 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Cyberpunk 2077 (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.333333333333336%; background-color: #E33235;" data-target-width="53.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.666666666666664%; background-color: #FE9F58;" data-target-width="46.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">28</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #E33235;" data-target-width="36.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.666666666666664%; background-color: #FE9F58;" data-target-width="31.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #E33235;" data-target-width="58.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>32 Avg FPS, 28 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>42 Avg FPS, 33 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>22 Avg FPS, 19 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>35 Avg FPS, 24 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>51 Avg FPS, 33 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>36 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Cyberpunk 2077 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 | Upscaling (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.5%; background-color: #FE9F58;" data-target-width="32.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.5%; background-color: #E33235;" data-target-width="72.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.25%; background-color: #E33235;" data-target-width="36.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.25%; background-color: #FE9F58;" data-target-width="31.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #E33235;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.25%; background-color: #E33235;" data-target-width="91.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #FE9F58;" data-target-width="62.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.75%; background-color: #E33235;" data-target-width="58.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.75%; background-color: #FE9F58;" data-target-width="48.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>42 Avg FPS, 26 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>58 Avg FPS, 40 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>29 Avg FPS, 25 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>51 Avg FPS, 32 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>73 Avg FPS, 50 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>47 Avg FPS, 39 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-F1 24 (1080p Medium)" data-chart-type="Bar" data-title="F1 24 (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #E33235;" data-target-width="43.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #E33235;" data-target-width="56.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.666666666666664%; background-color: #FE9F58;" data-target-width="40.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #E33235;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.666666666666664%; background-color: #FE9F58;" data-target-width="22.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #E33235;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 33.33333333333333%; background-color: #FE9F58;" data-target-width="33.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.33333333333334%; background-color: #E33235;" data-target-width="71.33333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">107</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 49.333333333333336%; background-color: #E33235;" data-target-width="49.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">74</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div></div></div><table class="sr-only"><caption>F1 24 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>65 Avg FPS, 59 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>85 Avg FPS, 61 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>45 Avg FPS, 34 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>72 Avg FPS, 50 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>107 Avg FPS, 64 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>74 Avg FPS, 64 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-F1 24 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="F1 24 | Upscaling (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50.66666666666667%; background-color: #E33235;" data-target-width="50.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46%; background-color: #FE9F58;" data-target-width="46" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64%; background-color: #E33235;" data-target-width="64" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 38%; background-color: #E33235;" data-target-width="38" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 14.000000000000002%; background-color: #FE9F58;" data-target-width="14.000000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.99999999999999%; background-color: #E33235;" data-target-width="57.99999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">87</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.66666666666667%; background-color: #E33235;" data-target-width="82.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">124</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.666666666666664%; background-color: #FE9F58;" data-target-width="58.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">88</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div></div></div><table class="sr-only"><caption>F1 24 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>76 Avg FPS, 69 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>96 Avg FPS, 72 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>57 Avg FPS, 21 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>87 Avg FPS, 59 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>124 Avg FPS, 88 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>90 Avg FPS, 72 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Horizon Zero Dawn (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn (1080p Original)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #E33235;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.750000000000002%; background-color: #FE9F58;" data-target-width="13.750000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #E33235;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.5%; background-color: #FE9F58;" data-target-width="22.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #E33235;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.75%; background-color: #FE9F58;" data-target-width="3.75" data-target-margin="0"></div><span class="fv-bar-value-outside">3</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.25%; background-color: #E33235;" data-target-width="76.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.49999999999999%; background-color: #E33235;" data-target-width="57.49999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.25%; background-color: #FE9F58;" data-target-width="6.25" data-target-margin="0"></div><span class="fv-bar-value-outside">5</span></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>44 Avg FPS, 11 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>51 Avg FPS, 18 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>36 Avg FPS, 3 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>42 Avg FPS, 30 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>61 Avg FPS, 32 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>46 Avg FPS, 5 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Horizon Zero Dawn | Upscaling (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn | Upscaling (1080p Original)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.25%; background-color: #FE9F58;" data-target-width="11.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.25%; background-color: #FE9F58;" data-target-width="31.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #E33235;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 10%; background-color: #FE9F58;" data-target-width="10" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">8</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.75%; background-color: #E33235;" data-target-width="58.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #FE9F58;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.5%; background-color: #FE9F58;" data-target-width="32.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn | Upscaling (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>60 Avg FPS, 9 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>69 Avg FPS, 25 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>51 Avg FPS, 8 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>47 Avg FPS, 36 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>66 Avg FPS, 51 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>66 Avg FPS, 26 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Metro Exodus Enhanced (1080p High)" data-chart-type="Bar" data-title="Metro Exodus Enhanced (1080p High)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #E33235;" data-target-width="35" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 16.666666666666664%; background-color: #FE9F58;" data-target-width="16.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #E33235;" data-target-width="36.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.666666666666668%; background-color: #FE9F58;" data-target-width="21.666666666666668" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 23.333333333333332%; background-color: #E33235;" data-target-width="23.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">14</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.333333333333334%; background-color: #FE9F58;" data-target-width="13.333333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">8</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 33.33333333333333%; background-color: #E33235;" data-target-width="33.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25%; background-color: #FE9F58;" data-target-width="25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25%; background-color: #FE9F58;" data-target-width="25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #E33235;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.666666666666668%; background-color: #FE9F58;" data-target-width="21.666666666666668" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>21 Avg FPS, 10 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>22 Avg FPS, 13 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>14 Avg FPS, 8 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>20 Avg FPS, 15 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>41 Avg FPS, 15 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>24 Avg FPS, 13 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792064714287-k6gkselhb', false); });      } else {        initialize('fv-chart-1792064714287-k6gkselhb', false);      }    })();      </script></div><p>I left the GPU memory budget at 8 GB, flicked the device onto its 35 W Turbo mode, and had a good time in F1 24, Horizon Zero Dawn, and Metro Exodus without any upscaling. Cyberpunk 2077 is borderline, sitting around the 40 fps mark, but I couldn't recommend Black Myth Wukong without a bit of upscaling or frame generation.</p><p>These are really respectable scores, and more than enough for handheld gaming right now. The AMD Z2 Extreme chip is still a great performer, and though it's not the top dog, it's certainly one of them. The actual top dog, the MSI Claw 8 EX AI+ CG3EM and its Intel Arc G3 Extreme processor, ekes out better performance with anywhere between a 20-40% performance uplift in our game testing, but it's also just under 40% more expensive in the US. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792062148661-zradx86so *, #fv-chart-1792062148661-zradx86so *:before, #fv-chart-1792062148661-zradx86so *:after, #fv-chart-1792062148661-zradx86so-slideshow *, #fv-chart-1792062148661-zradx86so-slideshow *:before, #fv-chart-1792062148661-zradx86so-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792062148661-zradx86so, #fv-chart-1792062148661-zradx86so-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062148661-zradx86so { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792062148661-zradx86so .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792062148661-zradx86so .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792062148661-zradx86so.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792062148661-zradx86so.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062148661-zradx86so .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062148661-zradx86so-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn.disabled, #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792062148661-zradx86so .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792062148661-zradx86so .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792062148661-zradx86so .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792062148661-zradx86so .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792062148661-zradx86so .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792062148661-zradx86so .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792062148661-zradx86so .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792062148661-zradx86so .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792062148661-zradx86so .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792062148661-zradx86so .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062148661-zradx86so .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792062148661-zradx86so .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792062148661-zradx86so .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792062148661-zradx86so .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792062148661-zradx86so .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792062148661-zradx86so .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792062148661-zradx86so .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792062148661-zradx86so .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-bar-row, #fv-chart-1792062148661-zradx86so .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792062148661-zradx86so .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792062148661-zradx86so .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792062148661-zradx86so.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792062148661-zradx86so .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792062148661-zradx86so .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792062148661-zradx86so .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792062148661-zradx86so .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792062148661-zradx86so .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792062148661-zradx86so .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792062148661-zradx86so .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792062148661-zradx86so .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792062148661-zradx86so .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792062148661-zradx86so .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792062148661-zradx86so .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792062148661-zradx86so .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792062148661-zradx86so .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062148661-zradx86so .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-pie-container, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row, #fv-chart-1792062148661-zradx86so.mobile-view .fv-stacked-product, #fv-chart-1792062148661-zradx86so.mobile-view .fv-grouped-bar-product, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stacked-product, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-label, #fv-chart-1792062148661-zradx86so.mobile-view .fv-grouped-product-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-label, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-container, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-cluster, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-container, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-x-axis-wrapper, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-x-axis-label-space, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-x-axis-chart-space, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-benchmark-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-dropdown-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-carousel-nav-btn, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-chart-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-chart-subhead, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-header, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-wrapper, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-vs, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-container, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062148661-zradx86so.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792062148661-zradx86so .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-row, #fv-chart-1792062148661-zradx86so .fv-stacked-product, #fv-chart-1792062148661-zradx86so .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label, #fv-chart-1792062148661-zradx86so .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-container, #fv-chart-1792062148661-zradx86so .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062148661-zradx86so .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062148661-zradx86so .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-logo, #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062148661-zradx86so .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062148661-zradx86so.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Productivity suite testing",  "description": "Scores in major productivity suites and benchmarking tools (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:02:28.662Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "3DMark Time Spy",    "3DMark Storage",    "7-zip",    "Cinebench R24",    "Battery life | PCMark 10",    "FFXIV Shadowbringers",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – 3DMark Time Spy",      "value": 3395,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Time Spy",      "value": 4086,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – 3DMark Time Spy",      "value": 2244,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – 3DMark Time Spy",      "value": 4890,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – 3DMark Time Spy",      "value": 6499,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – 3DMark Time Spy",      "value": 3690,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – 3DMark Storage",      "value": 1951,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Storage",      "value": 1233,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – 3DMark Storage",      "value": 1582,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – 3DMark Storage",      "value": 2152,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – 3DMark Storage",      "value": 1575,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – 7-zip",      "value": 82.18,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 7-zip",      "value": 81.77,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – 7-zip",      "value": 30.41,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – 7-zip",      "value": 92.318,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – 7-zip",      "value": 101.82,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Cinebench R24",      "value": 101,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cinebench R24",      "value": 110,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Cinebench R24",      "value": 67,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Cinebench R24",      "value": 62,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Cinebench R24",      "value": 111,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Cinebench R24",      "value": 111,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Battery life | PCMark 10",      "value": 128,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Battery life | PCMark 10",      "value": 149,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Battery life | PCMark 10",      "value": 126,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Battery life | PCMark 10",      "value": 308,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Battery life | PCMark 10",      "value": 153,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Battery life | PCMark 10",      "value": 82,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – FFXIV Shadowbringers",      "value": 16.23,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – FFXIV Shadowbringers",      "value": 21.4,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – FFXIV Shadowbringers",      "value": 20.56,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – FFXIV Shadowbringers",      "value": 10.952,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – FFXIV Shadowbringers",      "value": 16.76,      "unitText": "Total load time (seconds)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:02:28.662Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":45,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["3DMark Time Spy","3DMark Storage","7-zip","Cinebench R24","Battery life | PCMark 10","FFXIV Shadowbringers"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Productivity suite testing","subhead":"Scores in major productivity suites and benchmarking tools (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-3DMark Time Spy":"3DMark Time Spy"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792062148661-zradx86so" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Productivity suite testing</h3><p class="fv-chart-subhead">Scores in major productivity suites and benchmarking tools (35 W plugged in)</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">3DMark Time Spy</option><option value="1">3DMark Storage</option><option value="2">7-zip</option><option value="3">Cinebench R24</option><option value="4">Battery life | PCMark 10</option><option value="5">FFXIV Shadowbringers</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-3DMark Time Spy" data-chart-type="Bar" data-title="3DMark Time Spy" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>GPU index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>CPU index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.633333333333333%; background-color: #E33235;" data-target-width="22.633333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3395</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20.346666666666664%; background-color: #FE9F58;" data-target-width="20.346666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3052</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.53999999999999%; background-color: #1CA9C4;" data-target-width="62.53999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9381</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.24%; background-color: #E33235;" data-target-width="27.24" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4086</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25.14%; background-color: #FE9F58;" data-target-width="25.14" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3771</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.78666666666667%; background-color: #1CA9C4;" data-target-width="63.78666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9568</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 14.96%; background-color: #E33235;" data-target-width="14.96" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2244</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.813333333333333%; background-color: #FE9F58;" data-target-width="13.813333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2072</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.30666666666667%; background-color: #1CA9C4;" data-target-width="28.30666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4246</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.6%; background-color: #E33235;" data-target-width="32.6" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4890</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30.133333333333333%; background-color: #FE9F58;" data-target-width="30.133333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4520</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.940000000000005%; background-color: #1CA9C4;" data-target-width="60.940000000000005" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9141</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.32666666666667%; background-color: #E33235;" data-target-width="43.32666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">6499</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.60666666666667%; background-color: #FE9F58;" data-target-width="40.60666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">6091</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 69.91333333333334%; background-color: #1CA9C4;" data-target-width="69.91333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10487</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 24.6%; background-color: #E33235;" data-target-width="24.6" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3690</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.233333333333334%; background-color: #FE9F58;" data-target-width="22.233333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3335</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.22%; background-color: #1CA9C4;" data-target-width="62.22" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9333</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>3,750</span><span>7,500</span><span>11,250</span><span>15,000</span></div></div></div><table class="sr-only"><caption>3DMark Time Spy Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>3395 Index score, 3052 GPU index score, 9381 CPU index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>4086 Index score, 3771 GPU index score, 9568 CPU index score</td></tr><tr><td>Lenovo Legion Go S</td><td>2244 Index score, 2072 GPU index score, 4246 CPU index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>4890 Index score, 4520 GPU index score, 9141 CPU index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>6499 Index score, 6091 GPU index score, 10487 CPU index score</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>3690 Index score, 3335 GPU index score, 9333 CPU index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-3DMark Storage" data-chart-type="Bar" data-title="3DMark Storage" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Avg bandwidth (MB/s)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Access time (ųs)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.03333333333333%; background-color: #E33235;" data-target-width="65.03333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1951</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.133666666666667%; background-color: #FE9F58;" data-target-width="11.133666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">334.01</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.0666666666666664%; background-color: #1CA9C4;" data-target-width="3.0666666666666664" data-target-margin="0"></div><span class="fv-bar-value-outside">92</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 41.099999999999994%; background-color: #E33235;" data-target-width="41.099999999999994" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1233</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.012666666666667%; background-color: #FE9F58;" data-target-width="7.012666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">210.38</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 4.833333333333333%; background-color: #1CA9C4;" data-target-width="4.833333333333333" data-target-margin="0"></div><span class="fv-bar-value-outside">145</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.733333333333334%; background-color: #E33235;" data-target-width="52.733333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1582</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 9.074666666666667%; background-color: #FE9F58;" data-target-width="9.074666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">272.24</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.8%; background-color: #1CA9C4;" data-target-width="3.8" data-target-margin="0"></div><span class="fv-bar-value-outside">114</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.73333333333333%; background-color: #E33235;" data-target-width="71.73333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2152</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 12.222000000000001%; background-color: #FE9F58;" data-target-width="12.222000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">366.66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.7666666666666666%; background-color: #1CA9C4;" data-target-width="2.7666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">83</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1575</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 8.918666666666667%; background-color: #FE9F58;" data-target-width="8.918666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">267.56</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.7666666666666666%; background-color: #1CA9C4;" data-target-width="3.7666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">113</span></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>750</span><span>1,500</span><span>2,250</span><span>3,000</span></div></div></div><table class="sr-only"><caption>3DMark Storage Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>1951 Index score, 334.01 Avg bandwidth (MB/s), 92 Access time (ųs)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>1233 Index score, 210.38 Avg bandwidth (MB/s), 145 Access time (ųs)</td></tr><tr><td>Lenovo Legion Go S</td><td>1582 Index score, 272.24 Avg bandwidth (MB/s), 114 Access time (ųs)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>N/A</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>2152 Index score, 366.66 Avg bandwidth (MB/s), 83 Access time (ųs)</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>1575 Index score, 267.56 Avg bandwidth (MB/s), 113 Access time (ųs)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-7-zip" data-chart-type="Bar" data-title="7-zip" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Compression (GIPS)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Decompression (GIPS)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.786666666666676%; background-color: #E33235;" data-target-width="54.786666666666676" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82.18</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70.32666666666665%; background-color: #FE9F58;" data-target-width="70.32666666666665" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">105.49</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.513333333333335%; background-color: #E33235;" data-target-width="54.513333333333335" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81.77</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #FE9F58;" data-target-width="56.99999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85.5</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20.273333333333333%; background-color: #E33235;" data-target-width="20.273333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30.41</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.24%; background-color: #FE9F58;" data-target-width="29.24" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43.86</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.54533333333333%; background-color: #E33235;" data-target-width="61.54533333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92.318</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.502%; background-color: #FE9F58;" data-target-width="52.502" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78.753</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.88%; background-color: #E33235;" data-target-width="67.88" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101.82</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.2%; background-color: #FE9F58;" data-target-width="71.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">106.8</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div></div></div><table class="sr-only"><caption>7-zip Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>82.18 Compression (GIPS), 105.49 Decompression (GIPS)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>81.77 Compression (GIPS), 85.5 Decompression (GIPS)</td></tr><tr><td>Lenovo Legion Go S</td><td>30.41 Compression (GIPS), 43.86 Decompression (GIPS)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>N/A</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>92.318 Compression (GIPS), 78.753 Decompression (GIPS)</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>101.82 Compression (GIPS), 106.8 Decompression (GIPS)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-Cinebench R24" data-chart-type="Bar" data-title="Cinebench R24" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Single-core index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Multi-core index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 10.100000000000001%; background-color: #E33235;" data-target-width="10.100000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.2%; background-color: #FE9F58;" data-target-width="79.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">792</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11%; background-color: #E33235;" data-target-width="11" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">110</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #FE9F58;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">800</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.7%; background-color: #E33235;" data-target-width="6.7" data-target-margin="0"></div><span class="fv-bar-value-outside">67</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 33.2%; background-color: #FE9F58;" data-target-width="33.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">332</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.2%; background-color: #E33235;" data-target-width="6.2" data-target-margin="0"></div><span class="fv-bar-value-outside">62</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.9%; background-color: #FE9F58;" data-target-width="48.9" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">489</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.1%; background-color: #E33235;" data-target-width="11.1" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.4%; background-color: #FE9F58;" data-target-width="79.4" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">794</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.1%; background-color: #E33235;" data-target-width="11.1" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.3%; background-color: #FE9F58;" data-target-width="91.3" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">913</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>250</span><span>500</span><span>750</span><span>1,000</span></div></div></div><table class="sr-only"><caption>Cinebench R24 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>101 Single-core index score, 792 Multi-core index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>110 Single-core index score, 800 Multi-core index score</td></tr><tr><td>Lenovo Legion Go S</td><td>67 Single-core index score, 332 Multi-core index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>62 Single-core index score, 489 Multi-core index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>111 Single-core index score, 794 Multi-core index score</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>111 Single-core index score, 913 Multi-core index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-Battery life | PCMark 10" data-chart-type="Bar" data-title="Battery life | PCMark 10" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 32%; background-color: #E33235;" data-target-width="32" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">128</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 37.25%; background-color: #FE9F58;" data-target-width="37.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">149</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 31.5%; background-color: #1CA9C4;" data-target-width="31.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">126</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 77%; background-color: #EB6F71;" data-target-width="77" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">308</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 38.25%; background-color: #FFC08B;" data-target-width="38.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">153</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 20.5%; background-color: #66C5D7;" data-target-width="20.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>100</span><span>200</span><span>300</span><span>400</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>Battery life | PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>128</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>149</td></tr><tr><td>Lenovo Legion Go S</td><td>126</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>308</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>153</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>82</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-FFXIV Shadowbringers" data-chart-type="Bar" data-title="FFXIV Shadowbringers" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 54.1%; background-color: #E33235;" data-target-width="54.1" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16.23</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 71.33333333333333%; background-color: #FE9F58;" data-target-width="71.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21.4</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 68.53333333333332%; background-color: #1CA9C4;" data-target-width="68.53333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20.56</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 36.50666666666667%; background-color: #FFC08B;" data-target-width="36.50666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10.952</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 55.866666666666674%; background-color: #66C5D7;" data-target-width="55.866666666666674" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16.76</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div><div class="fv-x-axis-unit">Total load time (seconds)</div></div></div><table class="sr-only"><caption>FFXIV Shadowbringers Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>16.23</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>21.4</td></tr><tr><td>Lenovo Legion Go S</td><td>20.56</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>N/A</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>10.952</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>16.76</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792062148661-zradx86so', false); });      } else {        initialize('fv-chart-1792062148661-zradx86so', false);      }    })();      </script></div><p>One thing I am impressed with is the same thing our Dave was impressed with: the ROG Ally X20 works an absolute treat pulled down to between 15 W and 20 W. It's a great way of preserving battery, keeping thermals frosty (though the X20 already rocks in that regard) and bringing down fan noise. When I'm looking to play Balatro, I bring that wattage way down and forget about it until the X20 dies half a day later. I swear I only planned on having one game. </p><h2 class="article-body__section" id="section-ergonomics"><span>Ergonomics</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/hUgY4aoKvZaiY2zJqTXqm3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TiCptkNKiofgwKEHa6tqp3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3fhSuKUXsQiJFfGUB3qmp3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4Gk8CvxsYXUanKzWeb2tp3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The X20 is very likely the most comfortable handheld I've ever, well, hand…held. It has a slight cutout between the screen and the grips, which I often found myself sliding my index finger and pinky fingers under, and the new rubberised grips not only feel great but offer good enough traction that I'm never afraid of it slipping out of my hands. </p><p>It's so clear from the X20 that Microsoft know how to make controllers, as the buttons are fittingly clacky, the thumbsticks feel great, and the bumpers and triggers are easy to press down, with a comforting click to know I was successful. Well, as successful as I can be when I'm missing headshots. </p><p>I do really miss a trackpad, though. Windows 11 mode is fine enough, but feels like a slight downgrade without an intuitive way to control the mouse. My fat fingers struggle to click on the right thing sometimes, especially if it's a fairly small box, though the larger screen helps. You can control the mouse with the left analogue stick via Armoury Crate, but it doesn't beat the smoothness of a trackpad.</p><p>Still, trackpads are fairly rare among gaming handhelds, with it being done by the Legion GO, Steam Deck, and some GPD and Ayaneo devices. And if the ROG Ally X20 got a trackpad, it would struggle to fit all its buttons on without some compromises to feel. </p><p>At 756 grams, the X20 is certainly not a light device, but it is well balanced, and I've played it for hours at a time without fatigue. That's a feat, in my book. </p><h2 class="article-body__section" id="section-sound"><span>Sound</span></h2><p>The Asus ROG Xbox Ally X is a very quiet device. Not from the speakers, I should add; they can be cranked up quite high. Even at 35 W, the X20 fans never get loud enough to be annoying, but they are wonderfully tuned between 15-20 W. On just 16 volume, Cyberpunk's audio drowns out the fans on 25 W mode. </p><p>I wouldn't quite call them silent, but I found a PC across the other side of the room while idle produced a louder hum than the X20 playing Elden Ring. That's impressive, and it meant I never felt self-conscious bringing it out and about with me. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SkWtTVG97bmxoaKVKxnbh3" name="IMG_0920" alt="Asus ROG Xbox Ally X20 gaming handheld" src="https://cdn.mos.cms.futurecdn.net/SkWtTVG97bmxoaKVKxnbh3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The X20 has two sets of speakers on the front, on the left and right-hand side of the screen, and they are decently tuned and I've never wished they could get louder. The device also has a jack at the top to plug in your headphones, and Bluetooth compatibility if you can stomach the latency most Bluetooth speakers will give you. </p><h2 class="article-body__section" id="section-thermals"><span>Thermals</span></h2><p>Asus says the X20 is equipped with an "evolved ROG intelligent cooling system that drives air directly to the processor via a new internal channel and high-flow fans". In practice, that does indeed see it with cool thermals. I pushed the device to its limits at its 35 W Turbo mode, benchmarking all sorts of games for hours, and never saw it go above a CPU temperature of 79 °C. That is 17 entire °C below our tests for the standard Xbox Ally X. </p><p>I did also notice that the Max CPU package power was lower at 48 W, compared to the 55 W we saw last year.  This suggests some software tweaks have led to more fine-tuned power management too. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792062205475-taqkdrjw1 *, #fv-chart-1792062205475-taqkdrjw1 *:before, #fv-chart-1792062205475-taqkdrjw1 *:after, #fv-chart-1792062205475-taqkdrjw1-slideshow *, #fv-chart-1792062205475-taqkdrjw1-slideshow *:before, #fv-chart-1792062205475-taqkdrjw1-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792062205475-taqkdrjw1, #fv-chart-1792062205475-taqkdrjw1-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062205475-taqkdrjw1 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792062205475-taqkdrjw1 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792062205475-taqkdrjw1.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn.disabled, #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792062205475-taqkdrjw1 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792062205475-taqkdrjw1 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792062205475-taqkdrjw1 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792062205475-taqkdrjw1.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792062205475-taqkdrjw1 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-pie-container, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stacked-product, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-grouped-bar-product, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stacked-product, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-label, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-grouped-product-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-label, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-container, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-cluster, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-container, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-x-axis-wrapper, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-x-axis-label-space, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-x-axis-chart-space, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-benchmark-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-dropdown-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-carousel-nav-btn, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-chart-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-chart-subhead, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-header, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-wrapper, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-vs, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-container, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792062205475-taqkdrjw1 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-product, #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label, #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-container, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-logo, #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062205475-taqkdrjw1.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming test thermals",  "description": "Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:03:25.476Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "Thermal performance",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Thermal performance",      "value": 90,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Thermal performance",      "value": 79,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Thermal performance",      "value": 99.2,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Thermal performance",      "value": 75,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Thermal performance",      "value": 97,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Thermal performance",      "value": 92,      "unitText": "Max CPU temp (°C)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:03:25.476Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":45,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Thermal performance"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming test thermals","subhead":"Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-3DMark Time Spy":"3DMark Time Spy"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792062205475-taqkdrjw1" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming test thermals</h3><p class="fv-chart-subhead">Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792062205475-taqkdrjw1-bar-Thermal performance" data-chart-type="Bar" data-title="Thermal performance" data-subhead="Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Thermal performance</h4><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Max CPU temp (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Max CPU package power (W)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 99.2%; background-color: #E33235;" data-target-width="99.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">99.2</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 38%; background-color: #FE9F58;" data-target-width="38" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20%; background-color: #FE9F58;" data-target-width="20" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97%; background-color: #E33235;" data-target-width="97" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">97</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37%; background-color: #FE9F58;" data-target-width="37" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 92%; background-color: #E33235;" data-target-width="92" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Thermal performance Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>90 Max CPU temp (°C), 30 Max CPU package power (W)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>79 Max CPU temp (°C), 48 Max CPU package power (W)</td></tr><tr><td>Lenovo Legion Go S</td><td>99.2 Max CPU temp (°C), 38 Max CPU package power (W)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>75 Max CPU temp (°C), 20 Max CPU package power (W)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>97 Max CPU temp (°C), 37 Max CPU package power (W)</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>92 Max CPU temp (°C), 30 Max CPU package power (W)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792062205475-taqkdrjw1', false); });      } else {        initialize('fv-chart-1792062205475-taqkdrjw1', false);      }    })();      </script></div><p>I could, of course, get the device hotter by setting a custom wattage mode where peaks are higher, but that's not how I would use this device. Long term, I would probably set a custom mode at around 20 W, with peaks up to 30 W (and I'd set the RAM allocation for the GPU up to 10 GB for playing more intensive games). </p><p>Even at its hottest, I almost never felt any of that heat in my palms as I was playing, and it's low enough I'd never worry about the device throttling either. That extra temperature headroom does mean setting manual clocks higher would worry me less too, which is pretty sweet. At 25 W playing intensive games like Cyberpunk 2077 (and too much Tales of Seikyu), I could barely get the CPU temp to crack 68 °C. Impressive. </p><h2 class="article-body__section" id="section-software"><span>Software</span></h2><p>The Xbox mode works very well on the Asus ROG Xbox Ally X20. When you first boot it up, it moves into a stripped-back bit of software that simply allows you to open any of your games from within the Xbox UI. Not only does this give streamlined access to games and mean not having to deal with Windows 11, with its habit of booting up all your software when you turn it on, but it also means being able to skip the performance hit associated with it. </p><p>However, it's not an Xbox. You're still playing PC games on a PC device. If you boot up a Steam game from the Xbox app and haven't also booted up Steam, it will load that app first, then let you into your game. This is fine, but it's not flawless, and it's not like an Xbox. It's perhaps closer to booting into Steam Big Picture Mode. The Xbox library now pools together Steam, Epic etc, so you technically only <em>need </em>to boot up Windows when doing Windows-specific things. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="axXw9BH7PRoR48wN7j4Jj3" name="IMG_0956" alt="Asus ROG Xbox Ally X20 gaming handheld" src="https://cdn.mos.cms.futurecdn.net/axXw9BH7PRoR48wN7j4Jj3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It comes bundled with quite a bit of software, but for the ease of use of a gaming handheld, this makes a lot of sense. Armoury Crate SE allows you to tweak the device on the fly and get software updates; then it has the Xbox app (naturally enough). Being Windows, you do have the usual bloatware like Copilot (which I promptly removed), and you likely won't need to bother with Clipchamp either. </p><h2 class="article-body__section" id="section-battery-life"><span>Battery Life </span></h2><p>The X20 has the exact same size battery as the X. An 80 Wh battery is very solid in a gaming handheld, offering a decent sweet spot for capacity versus size and weight. </p><p>In PC Mark 10's gaming battery life test, I saw almost three hours at 17 W, with Windows in Balanced battery mode and 2 hours and 9 minutes on the beefy 25 W mode. It's important to note that this will effectively be how much gaming you will get done on a highly intensive game, so you can expect more than that if you're not pulling out Black Myth Wukong every time you bust out the Ally X20.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792062263613-9u2mkadui *, #fv-chart-1792062263613-9u2mkadui *:before, #fv-chart-1792062263613-9u2mkadui *:after, #fv-chart-1792062263613-9u2mkadui-slideshow *, #fv-chart-1792062263613-9u2mkadui-slideshow *:before, #fv-chart-1792062263613-9u2mkadui-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792062263613-9u2mkadui, #fv-chart-1792062263613-9u2mkadui-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062263613-9u2mkadui { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792062263613-9u2mkadui .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792062263613-9u2mkadui .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792062263613-9u2mkadui.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792062263613-9u2mkadui.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062263613-9u2mkadui .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062263613-9u2mkadui-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn.disabled, #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792062263613-9u2mkadui .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792062263613-9u2mkadui .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792062263613-9u2mkadui .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792062263613-9u2mkadui .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792062263613-9u2mkadui .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792062263613-9u2mkadui .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792062263613-9u2mkadui .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062263613-9u2mkadui .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792062263613-9u2mkadui .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792062263613-9u2mkadui .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792062263613-9u2mkadui .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792062263613-9u2mkadui .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792062263613-9u2mkadui .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-row, #fv-chart-1792062263613-9u2mkadui .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792062263613-9u2mkadui.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792062263613-9u2mkadui .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792062263613-9u2mkadui .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792062263613-9u2mkadui .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062263613-9u2mkadui .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-pie-container, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stacked-product, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-grouped-bar-product, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stacked-product, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-label, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-grouped-product-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-label, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-container, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-cluster, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-container, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-x-axis-wrapper, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-x-axis-label-space, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-x-axis-chart-space, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-benchmark-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-dropdown-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-carousel-nav-btn, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-chart-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-chart-subhead, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-header, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-wrapper, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-vs, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-container, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792062263613-9u2mkadui .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-row, #fv-chart-1792062263613-9u2mkadui .fv-stacked-product, #fv-chart-1792062263613-9u2mkadui .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label, #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-container, #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062263613-9u2mkadui .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-logo, #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062263613-9u2mkadui.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming battery life",  "description": "Recorded using PCMark 10's gaming battery life test (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:04:23.613Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "Battery life | PCMark 10",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Battery life | PCMark 10",      "value": 128,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Battery life | PCMark 10",      "value": 149,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Battery life | PCMark 10",      "value": 126,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Battery life | PCMark 10",      "value": 308,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Battery life | PCMark 10",      "value": 153,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Battery life | PCMark 10",      "value": 82,      "unitText": "Battery life (minutes)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:04:23.613Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":45,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Battery life | PCMark 10"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming battery life","subhead":"Recorded using PCMark 10's gaming battery life test (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-3DMark Time Spy":"3DMark Time Spy"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792062263613-9u2mkadui" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming battery life</h3><p class="fv-chart-subhead">Recorded using PCMark 10's gaming battery life test (35 W plugged in)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792062263613-9u2mkadui-bar-Battery life | PCMark 10" data-chart-type="Bar" data-title="Battery life | PCMark 10" data-subhead="Recorded using PCMark 10's gaming battery life test (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Battery life | PCMark 10</h4><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 32%; background-color: #E33235;" data-target-width="32" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">128</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 37.25%; background-color: #FE9F58;" data-target-width="37.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">149</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 31.5%; background-color: #1CA9C4;" data-target-width="31.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">126</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 77%; background-color: #EB6F71;" data-target-width="77" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">308</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 38.25%; background-color: #FFC08B;" data-target-width="38.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">153</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 20.5%; background-color: #66C5D7;" data-target-width="20.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>100</span><span>200</span><span>300</span><span>400</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>Battery life | PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>128</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>149</td></tr><tr><td>Lenovo Legion Go S</td><td>126</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>308</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>153</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>82</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792062263613-9u2mkadui', false); });      } else {        initialize('fv-chart-1792062263613-9u2mkadui', false);      }    })();      </script></div><p>When I actually used the device day to day, I found a battery life I would be happy with. I remember taking it to a cafe at lunchtime and playing Graveyard Keeper till close (so just under five hours), and I still found the device with 40% charge. In indie games, the Ally X20 can get up to nine hours, which is solid given its performance. </p><h2 class="article-body__section" id="section-aesthetics"><span>Aesthetics</span></h2><p>One of the biggest changes you will spot between the standard Asus Xbox ROG Ally X and Asus Xbox ROG Ally X20 (try and say that two times fast) is its aesthetic. Asus has given the new device a black and yellow look, with the RGB in the thumbsticks defaulting to yellow, the highlight being golden, and it being ever so slightly transparent. Held up in the light, you can make out some of the handheld's internals.</p><p>Other than that, and an LED in the Xbox button, it looks pretty much the same as the Ally X with its pretty Xbox-etched front, and surprisingly tasteful branding. Flip it over, and you see a gold commemorative ROG 20th anniversary plate on the back. This is the same plate you can spot in the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-azoth-extreme-edition-20-review/">Azoth Extreme Edition 20</a> and the <a href="https://www.pcgamer.com/hardware/gaming-mice/asus-rog-harpe-ii-extreme-edition-20-review/">Asus ROG Harpe II Extreme Edition 20</a>.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ix9CtVVraJHE4czdR72sn3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XBsUeFTHr4LJLtHoheDCm3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7pbwxxmKixk9SPYanvUZj3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PVUgUy6CfTpPiUx8FU5Vf3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HMSPwfRijD9ZHpjGUFGBe3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NP68a57rSxXGYEWYYgdHc3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gBm7cdtpgY9H3WjRCWszc3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The new OLED screen goes up to a peak brightness of 1,400 nits, which is bright enough to even bring this bad boy outdoors, and with the Lenovo Legion Go 2's 8.8-inch OLED panel going up to 1,000 nits and the OneXPlayer 3's 8.8-inch AMOLED display going up to 1,100 nits (though these two go up to 144 Hz), I'd pick the Asus model out of the three. It's so bright, in fact, that I cranked the brightness just before playing Cyberpunk 2077 one night in bed and winced when I saw the sun. I wish I was joking. </p><p>It's a VRR display going from 30 to 120 Hz, which means the X20 is equipped to handle high and low frame rates with little stuttering. In practice, I found it to be super smooth, and naturally, gorgeous. </p><h2 class="article-body__section" id="section-value"><span>Value </span></h2><p>So, the X20 version of this device is $300 more than the standard X one, and in return, you get an OLED screen, better thermals, a new look, and TMR thumbsticks. It is a luxurious device in a lot of ways, and has some smart design decisions, making for tame but welcome upgrades. These make the device better overall but worse for the money for the average person. </p><p>The chip, paired with 24 GB of LPDDR5X memory, makes it a formidable device capable of handling most games you can throw at it, but the pricing does make it stand out awkwardly in the market. For $300 less, you can get the same basic performance without those extras, and for $400 more, you can get the cream of the current crop. For us Brits, the Claw 8 EX AI+ CG3EM is a better pick for just £100 more. </p><p>As much as it pains me to say it, it's getting harder to find handheld gaming devices below $1,000. Even the 'cheapest' Steam Deck (<a href="https://store.steampowered.com/steamdeck" target="_blank">512 GB with OLED screen</a>) fetches $789 new, and its 2023 Zen 2/RDNA 2 chip wasn't exactly a powerhouse when it launched. </p><p>Last year, when I first saw the Xbox Ally X and its $1,000 price tag, I was surprised in a bad way, and yet the memory crisis has worsened to such a state that it now seems fairly reasonable. I don't see the same happening for the X20, but I can say that I've softened on it significantly since getting time with it every single day. Whether or not those extra upgrades are worth $300 will be largely dependent on your wallet and your eyes, but I can say I can see where that extra cost has been sunk straight back into the device. And for that, I'm impressed.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x20-review/</link>
                                                                            <description>
                            <![CDATA[ How much are an OLED screen, TMR sticks, and a fresh aesthetic worth to you? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Rz8jSXD5t23gd4mRtMcCzS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/q2KGqXCKzUfQnh7GN4Uzm3-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Handheld Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/q2KGqXCKzUfQnh7GN4Uzm3-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asus ROG Xbox Ally X20 gaming handheld]]></media:description>                                                            <media:text><![CDATA[Asus ROG Xbox Ally X20 gaming handheld]]></media:text>
                                <media:title type="plain"><![CDATA[Asus ROG Xbox Ally X20 gaming handheld]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/q2KGqXCKzUfQnh7GN4Uzm3-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div data-widget-type="review" data-model-name="asus rog xbox ally x20" data-widget-title=""></div><p>The Asus ROG 20th anniversary lineup has been interesting. Black, gold, and indulgent feels like the tagline here, with the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-azoth-extreme-edition-20-review/" target="_blank">Azoth Extreme Edition 20</a> and <a href="https://www.pcgamer.com/hardware/gaming-mice/asus-rog-harpe-ii-extreme-edition-20-review/" target="_blank">ROG Harpe II Extreme Edition 20</a> containing actual gold, and a fitting price tag to boot.</p><p>For any criticisms I may have, I don't think you're paying primarily for the branding on the Asus ROG Xbox Ally X20, though. You get a new OLED screen which is bigger and brighter than the IPS panel in the standard Xbox Ally X, TMR thumbsticks, refined triggers, a new cooling system, and with that screen comes a snappy 0.2 ms response time. </p><p>Refined is a good word for the device as a whole. Coming a year later than the last model, the software is smooth and intuitive, and it's easy to swap between Xbox and Windows mode, though it still doesn't feel like a console in practice. For my money, it's the best ROG Ally on the market right now, but the memory crisis has skewed the price of all gaming gear, and the X20 is certainly not the best value as a result. </p><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy if…</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅</strong> <strong>You want a beefy OLED handheld:</strong> OLED handhelds are still fairly niche, and with recent price bumps, I'd pick this over the Legion Go 2 or OneXPlayer's offerings.<br><br><strong>✅</strong> <strong>You want power on the go: </strong>I'd suggest a significantly cheaper handheld if you are after low-intensity games and don't particularly care for big-budget ones. For your Cyberpunks and your Horizons, you will want a Z2 Extreme chip or better to play them at a decent resolution and settings. </p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy if…</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You're fine with IPS: </strong>$300 more for the X20 over the X is pretty steep, especially if you aren't dying to play on an OLED. <br><br><strong>❌ You live in the UK:</strong> The pricing on the X20 is not as good value in Britain, with the superior G3-equipped MSI Claw being only £100 more (though no OLED) and the standard Xbox Ally X £400 less.</p></div></div></div></div><h2 class="article-body__section" id="section-features"><span>Features</span></h2><div ><table><caption>Asus ROG Xbox Ally X20 vs Ally X specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Asus ROG Xbox Ally X20</strong></p></th><th  ><p><strong>Asus ROG Xbox Ally X</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td></tr><tr><td class="firstcol " ><p><strong>CPU architecture</strong></p></td><td  ><p>Zen 5 / Zen 5c</p></td><td  ><p>Zen 5 / Zen 5c</p></td></tr><tr><td class="firstcol " ><p><strong>Core / threads</strong></p></td><td  ><p>8 / 16</p></td><td  ><p>8 / 16</p></td></tr><tr><td class="firstcol " ><p><strong>CPU boost clock</strong></p></td><td  ><p>5 GHz</p></td><td  ><p>5 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>GPU architecture</strong></p></td><td  ><p>RDNA 3.5</p></td><td  ><p>RDNA 3.5</p></td></tr><tr><td class="firstcol " ><p><strong>Shader count</strong></p></td><td  ><p>1024</p></td><td  ><p>1024</p></td></tr><tr><td class="firstcol " ><p><strong>GPU boost clock</strong></p></td><td  ><p>2.9 GHz</p></td><td  ><p>2.9 GHz</p></td></tr><tr><td class="firstcol " ><p><strong>VRAM</strong></p></td><td  ><p>8 GB (shared, adjustable)</p></td><td  ><p>8 GB (shared, adjustable)</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>24 GB LPDDR5X</p></td><td  ><p>24 GB LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>Screen</strong></p></td><td  ><p>7.4-inch OLED display</p></td><td  ><p>7-inch IPS LCD display</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution / refresh rate</strong></p></td><td  ><p>1920 x 1080 / 120 Hz</p></td><td  ><p>1920 x 1080 / 120 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Peak brightness</strong></p></td><td  ><p>1400 nits</p></td><td  ><p>500 nits</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td></tr><tr><td class="firstcol " ><p><strong>Thumbsticks</strong></p></td><td  ><p>TMR</p></td><td  ><p>Magnetic</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity </strong></p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD Express card reader</p><p>1x 3.5 mm combo jack</p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD card reader</p><p>1x 3.5 mm combo jack</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>30.0 x 12.1 x 5.13 cm</p></td><td  ><p>29 x 12.1 x 5.07 cm</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>80 Wh</p></td><td  ><p>80 Wh</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>756 g</p></td><td  ><p>715 g</p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://rog.asus.com/us/gaming-handhelds/rog-ally/rog-xbox-ally-x20-2026/wtb/" target="_blank">$1,300</a>  / <a href="https://uk.store.asus.com/rog-xbox-ally-x20.html" target="_blank">£1300</a></p></td><td  ><p><a href="https://bestbuy.7tiv.net/c/1943169/614286/10014?subId1=pcg-gb-6459252765237501214&sharedId=pcg-gb&u=https%3A%2F%2Fwww.bestbuy.com%2Fproduct%2Frog-xbox-ally-x-7-fhd-120hz-gaming-handheld-amd-ryzen-ai-z2-extreme-processor-24gb-with-1tb-ssd-windows%2FJJGHGPLVHW" target="_blank">$1,000</a>/<a href="https://www.awin1.com/awclick.php?awinmid=31726&awinaffid=103504&clickref=pcg-gb-6290159269328242922&p=https%3A%2F%2Fuk.store.asus.com%2Frog-xbox-ally-x.html" target="_blank">£900</a> (MSRP)</p></td></tr></tbody></table></div><p>The Asus ROG Xbox Ally X20 (or should I say XBOX) is a relatively granular update on the <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x-review/" target="_blank">Xbox Ally X</a>. I noticed it immediately when putting the two devices side by side, but when it comes to performance, you're getting identical experiences. They have the same chip, the same memory, the same storage. That's the Ryzen Z2 Extreme, 24 GB LPDDR5X, and 1 TB PCIe 4.0 M.2 2280, respectively. </p><p>Given you don't get a performance bump, you've gotta really care about the details to consider the X20. Arguably its biggest upgrade is the OLED panel, and it is a beauty. The DisplayHDR True Black 1400 certification isn't just for show, as it pops, appearing both bright and ultra-vibrant. It's also got a bigger screen, which does make the device more immersive, but also larger and chunkier. </p><p>You can technically upgrade the plain old joysticks in the ROG Xbox Ally X with a TMR module with a bit of know-how, but slapping in your own OLED screen would be very difficult, and I certainly wouldn't trust myself to do such fine electronic surgery. Therefore, I do see value in an upgraded, refined, and pretty older brother of last year's device. It's also got a whole new cooling system for frostier temps. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ycvmicSRpiengC9Dnsbpn3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hUgY4aoKvZaiY2zJqTXqm3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>You also get smaller upgrades here, like the ability to pull up and turn the D-Pad to make the corner buttons more or less pronounced, plus greater grooves on the face buttons to stop jagged edges, and a combination of more clicky bumpers and smoother triggers. These all combine to make the X20 feel more thoughtful in approach, and given the price bump, it sort of has to do that. </p><p>The X20 doesn't come with a charger in the box, which makes sense from an e-waste point of view, but it does mean you will get lacking plugged-in performance without an appropriately speedy charger. For instance, I ran the device at 35 W mode and did some of my benchmarks before realising I wasn't getting the full-fat 35 W mode because my charger wasn't quick enough. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NP68a57rSxXGYEWYYgdHc3" name="IMG_0928" alt="Asus ROG Xbox Ally X20 gaming handheld" src="https://cdn.mos.cms.futurecdn.net/NP68a57rSxXGYEWYYgdHc3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Could you say that's my fault for not seeing the low-power pop-up from Asus' software Armoury Crate? Absolutely. Does that mean you may need to pick up a quick charger if you want full-wattage plugged-in performance? Also, absolutely. </p><p>The box for the X20 also comes with a cardboard stand, which doesn't feel as luxurious as the device itself but is clean, effective, and environmentally conscious. It's a small but decent addition that I've been using consistently since unboxing the device without any problems. </p><h2 class="article-body__section" id="section-performance"><span>Performance</span></h2><p>There was a brief period when the original Asus ROG Xbox Ally X was the highest-performing gaming handheld money could buy. That was until the launch of the much more expensive <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/msi-claw-8-ex-ai-cg3em-review/" target="_blank">MSI Claw 8 EX AI+ CG3EM</a> (catchy name, I know) broke onto the scene. </p><p>Despite launching a year after the original Xbox Ally X, the X20 sees no difference in power (as it has identical specs), and therefore my performance figures are more or less the same as what Dave got in his review of the standard Xbox Ally X. I got a little less in Metro and a little more in Horizon and Cyberpunk 2077, with lower 1% lows in F1 25.  </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792064714287-k6gkselhb *, #fv-chart-1792064714287-k6gkselhb *:before, #fv-chart-1792064714287-k6gkselhb *:after, #fv-chart-1792064714287-k6gkselhb-slideshow *, #fv-chart-1792064714287-k6gkselhb-slideshow *:before, #fv-chart-1792064714287-k6gkselhb-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792064714287-k6gkselhb, #fv-chart-1792064714287-k6gkselhb-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792064714287-k6gkselhb { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792064714287-k6gkselhb .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792064714287-k6gkselhb .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792064714287-k6gkselhb.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792064714287-k6gkselhb.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792064714287-k6gkselhb .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792064714287-k6gkselhb-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn.disabled, #fv-chart-1792064714287-k6gkselhb-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792064714287-k6gkselhb-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792064714287-k6gkselhb .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792064714287-k6gkselhb .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792064714287-k6gkselhb .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792064714287-k6gkselhb .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792064714287-k6gkselhb .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792064714287-k6gkselhb .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792064714287-k6gkselhb .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792064714287-k6gkselhb .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792064714287-k6gkselhb .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792064714287-k6gkselhb .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792064714287-k6gkselhb .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792064714287-k6gkselhb .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792064714287-k6gkselhb .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792064714287-k6gkselhb .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792064714287-k6gkselhb .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792064714287-k6gkselhb .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-row, #fv-chart-1792064714287-k6gkselhb .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792064714287-k6gkselhb.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792064714287-k6gkselhb .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792064714287-k6gkselhb .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792064714287-k6gkselhb .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792064714287-k6gkselhb .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792064714287-k6gkselhb .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-pie-container, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stacked-product, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-grouped-bar-product, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stacked-product, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-label, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-grouped-product-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-label, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-container, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-cluster, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-container, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-x-axis-wrapper, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-x-axis-label-space, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-x-axis-chart-space, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-benchmark-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-dropdown-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-carousel-nav-btn, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-chart-title, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-chart-subhead, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-header, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-wrapper, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-vs, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select-container, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-versus-select, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792064714287-k6gkselhb.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792064714287-k6gkselhb .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-row, #fv-chart-1792064714287-k6gkselhb .fv-stacked-product, #fv-chart-1792064714287-k6gkselhb .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-label, #fv-chart-1792064714287-k6gkselhb .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-container, #fv-chart-1792064714287-k6gkselhb .fv-bar-cluster { width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792064714287-k6gkselhb .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792064714287-k6gkselhb .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-label-space { display: none !important; } #fv-chart-1792064714287-k6gkselhb .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792064714287-k6gkselhb .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792064714287-k6gkselhb .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-logo, #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792064714287-k6gkselhb .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792064714287-k6gkselhb .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792064714287-k6gkselhb .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792064714287-k6gkselhb.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "1080p gaming performance",  "description": "In a handful of games, with upscaling on and off (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:45:14.288Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "Black Myth Wukong (1080p Medium)",    "Black Myth Wukong | Upscaling (1080p Medium)",    "Cyberpunk 2077 (1080p Medium)",    "Cyberpunk 2077 | Upscaling (1080p Medium)",    "F1 24 (1080p Medium)",    "F1 24 | Upscaling (1080p Medium)",    "Horizon Zero Dawn (1080p Original)",    "Horizon Zero Dawn | Upscaling (1080p Original)",    "Metro Exodus Enhanced (1080p High)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Black Myth Wukong (1080p Medium)",      "value": 20,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong (1080p Medium)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Black Myth Wukong (1080p Medium)",      "value": 15,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Black Myth Wukong (1080p Medium)",      "value": 24,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Black Myth Wukong (1080p Medium)",      "value": 33,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Black Myth Wukong (1080p Medium)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 31,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 40,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 37,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 50,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 34,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Cyberpunk 2077 (1080p Medium)",      "value": 32,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 (1080p Medium)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Cyberpunk 2077 (1080p Medium)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Cyberpunk 2077 (1080p Medium)",      "value": 35,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Cyberpunk 2077 (1080p Medium)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Cyberpunk 2077 (1080p Medium)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 58,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 29,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 73,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 47,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – F1 24 (1080p Medium)",      "value": 65,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 (1080p Medium)",      "value": 85,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – F1 24 (1080p Medium)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – F1 24 (1080p Medium)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – F1 24 (1080p Medium)",      "value": 107,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – F1 24 (1080p Medium)",      "value": 74,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – F1 24 | Upscaling (1080p Medium)",      "value": 76,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 | Upscaling (1080p Medium)",      "value": 96,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – F1 24 | Upscaling (1080p Medium)",      "value": 57,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – F1 24 | Upscaling (1080p Medium)",      "value": 87,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – F1 24 | Upscaling (1080p Medium)",      "value": 124,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – F1 24 | Upscaling (1080p Medium)",      "value": 90,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Horizon Zero Dawn (1080p Original)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn (1080p Original)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Horizon Zero Dawn (1080p Original)",      "value": 36,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Horizon Zero Dawn (1080p Original)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Horizon Zero Dawn (1080p Original)",      "value": 61,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Horizon Zero Dawn (1080p Original)",      "value": 46,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 60,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 47,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Metro Exodus Enhanced (1080p High)",      "value": 21,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Metro Exodus Enhanced (1080p High)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Metro Exodus Enhanced (1080p High)",      "value": 14,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Metro Exodus Enhanced (1080p High)",      "value": 20,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Metro Exodus Enhanced (1080p High)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Metro Exodus Enhanced (1080p High)",      "value": 24,      "unitText": "Avg FPS"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:45:14.288Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"1080p gaming performance","subhead":"In a handful of games, with upscaling on and off (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792064714287-k6gkselhb" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">1080p gaming performance</h3><p class="fv-chart-subhead">In a handful of games, with upscaling on and off (35 W plugged in)</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Black Myth Wukong (1080p Medium)</option><option value="1">Black Myth Wukong | Upscaling (1080p Medium)</option><option value="2">Cyberpunk 2077 (1080p Medium)</option><option value="3">Cyberpunk 2077 | Upscaling (1080p Medium)</option><option value="4">F1 24 (1080p Medium)</option><option value="5">F1 24 | Upscaling (1080p Medium)</option><option value="6">Horizon Zero Dawn (1080p Original)</option><option value="7">Horizon Zero Dawn | Upscaling (1080p Original)</option><option value="8">Metro Exodus Enhanced (1080p High)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Black Myth Wukong (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #E33235;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #FE9F58;" data-target-width="47.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #E33235;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.500000000000004%; background-color: #FE9F58;" data-target-width="27.500000000000004" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #E33235;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>10</span><span>20</span><span>30</span><span>40</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>20 Avg FPS, 17 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>26 Avg FPS, 19 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>15 Avg FPS, 11 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>24 Avg FPS, 20 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>33 Avg FPS, 16 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>22 Avg FPS, 16 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Black Myth Wukong | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong | Upscaling (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.66666666666667%; background-color: #E33235;" data-target-width="51.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">31</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #E33235;" data-target-width="66.66666666666666" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #FE9F58;" data-target-width="58.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #E33235;" data-target-width="36.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #E33235;" data-target-width="61.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.333333333333336%; background-color: #FE9F58;" data-target-width="48.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.33333333333334%; background-color: #E33235;" data-target-width="83.33333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.666666666666664%; background-color: #FE9F58;" data-target-width="46.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">28</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #E33235;" data-target-width="56.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>31 Avg FPS, 18 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>40 Avg FPS, 35 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>22 Avg FPS, 18 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>37 Avg FPS, 29 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>50 Avg FPS, 28 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>34 Avg FPS, 27 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Cyberpunk 2077 (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.333333333333336%; background-color: #E33235;" data-target-width="53.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.666666666666664%; background-color: #FE9F58;" data-target-width="46.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">28</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #E33235;" data-target-width="36.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.666666666666664%; background-color: #FE9F58;" data-target-width="31.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #E33235;" data-target-width="58.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>32 Avg FPS, 28 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>42 Avg FPS, 33 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>22 Avg FPS, 19 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>35 Avg FPS, 24 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>51 Avg FPS, 33 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>36 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Cyberpunk 2077 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 | Upscaling (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.5%; background-color: #FE9F58;" data-target-width="32.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.5%; background-color: #E33235;" data-target-width="72.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.25%; background-color: #E33235;" data-target-width="36.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.25%; background-color: #FE9F58;" data-target-width="31.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #E33235;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.25%; background-color: #E33235;" data-target-width="91.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #FE9F58;" data-target-width="62.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.75%; background-color: #E33235;" data-target-width="58.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.75%; background-color: #FE9F58;" data-target-width="48.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>42 Avg FPS, 26 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>58 Avg FPS, 40 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>29 Avg FPS, 25 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>51 Avg FPS, 32 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>73 Avg FPS, 50 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>47 Avg FPS, 39 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-F1 24 (1080p Medium)" data-chart-type="Bar" data-title="F1 24 (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #E33235;" data-target-width="43.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #E33235;" data-target-width="56.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.666666666666664%; background-color: #FE9F58;" data-target-width="40.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #E33235;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.666666666666664%; background-color: #FE9F58;" data-target-width="22.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #E33235;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 33.33333333333333%; background-color: #FE9F58;" data-target-width="33.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.33333333333334%; background-color: #E33235;" data-target-width="71.33333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">107</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 49.333333333333336%; background-color: #E33235;" data-target-width="49.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">74</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div></div></div><table class="sr-only"><caption>F1 24 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>65 Avg FPS, 59 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>85 Avg FPS, 61 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>45 Avg FPS, 34 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>72 Avg FPS, 50 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>107 Avg FPS, 64 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>74 Avg FPS, 64 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-F1 24 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="F1 24 | Upscaling (1080p Medium)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50.66666666666667%; background-color: #E33235;" data-target-width="50.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46%; background-color: #FE9F58;" data-target-width="46" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64%; background-color: #E33235;" data-target-width="64" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 38%; background-color: #E33235;" data-target-width="38" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 14.000000000000002%; background-color: #FE9F58;" data-target-width="14.000000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.99999999999999%; background-color: #E33235;" data-target-width="57.99999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">87</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.66666666666667%; background-color: #E33235;" data-target-width="82.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">124</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.666666666666664%; background-color: #FE9F58;" data-target-width="58.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">88</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div></div></div><table class="sr-only"><caption>F1 24 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>76 Avg FPS, 69 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>96 Avg FPS, 72 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>57 Avg FPS, 21 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>87 Avg FPS, 59 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>124 Avg FPS, 88 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>90 Avg FPS, 72 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Horizon Zero Dawn (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn (1080p Original)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #E33235;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.750000000000002%; background-color: #FE9F58;" data-target-width="13.750000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #E33235;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.5%; background-color: #FE9F58;" data-target-width="22.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #E33235;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.75%; background-color: #FE9F58;" data-target-width="3.75" data-target-margin="0"></div><span class="fv-bar-value-outside">3</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.25%; background-color: #E33235;" data-target-width="76.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.49999999999999%; background-color: #E33235;" data-target-width="57.49999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.25%; background-color: #FE9F58;" data-target-width="6.25" data-target-margin="0"></div><span class="fv-bar-value-outside">5</span></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>44 Avg FPS, 11 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>51 Avg FPS, 18 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>36 Avg FPS, 3 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>42 Avg FPS, 30 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>61 Avg FPS, 32 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>46 Avg FPS, 5 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Horizon Zero Dawn | Upscaling (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn | Upscaling (1080p Original)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.25%; background-color: #FE9F58;" data-target-width="11.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.25%; background-color: #FE9F58;" data-target-width="31.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #E33235;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 10%; background-color: #FE9F58;" data-target-width="10" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">8</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.75%; background-color: #E33235;" data-target-width="58.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.74999999999999%; background-color: #FE9F58;" data-target-width="63.74999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.5%; background-color: #FE9F58;" data-target-width="32.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn | Upscaling (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>60 Avg FPS, 9 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>69 Avg FPS, 25 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>51 Avg FPS, 8 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>47 Avg FPS, 36 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>66 Avg FPS, 51 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>66 Avg FPS, 26 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792064714287-k6gkselhb-bar-Metro Exodus Enhanced (1080p High)" data-chart-type="Bar" data-title="Metro Exodus Enhanced (1080p High)" data-subhead="In a handful of games, with upscaling on and off (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #E33235;" data-target-width="35" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 16.666666666666664%; background-color: #FE9F58;" data-target-width="16.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #E33235;" data-target-width="36.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.666666666666668%; background-color: #FE9F58;" data-target-width="21.666666666666668" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 23.333333333333332%; background-color: #E33235;" data-target-width="23.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">14</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.333333333333334%; background-color: #FE9F58;" data-target-width="13.333333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">8</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 33.33333333333333%; background-color: #E33235;" data-target-width="33.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25%; background-color: #FE9F58;" data-target-width="25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25%; background-color: #FE9F58;" data-target-width="25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #E33235;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.666666666666668%; background-color: #FE9F58;" data-target-width="21.666666666666668" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>21 Avg FPS, 10 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>22 Avg FPS, 13 1% Low FPS</td></tr><tr><td>Lenovo Legion Go S</td><td>14 Avg FPS, 8 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>20 Avg FPS, 15 1% Low FPS</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>41 Avg FPS, 15 1% Low FPS</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>24 Avg FPS, 13 1% Low FPS</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792064714287-k6gkselhb', false); });      } else {        initialize('fv-chart-1792064714287-k6gkselhb', false);      }    })();      </script></div><p>I left the GPU memory budget at 8 GB, flicked the device onto its 35 W Turbo mode, and had a good time in F1 24, Horizon Zero Dawn, and Metro Exodus without any upscaling. Cyberpunk 2077 is borderline, sitting around the 40 fps mark, but I couldn't recommend Black Myth Wukong without a bit of upscaling or frame generation.</p><p>These are really respectable scores, and more than enough for handheld gaming right now. The AMD Z2 Extreme chip is still a great performer, and though it's not the top dog, it's certainly one of them. The actual top dog, the MSI Claw 8 EX AI+ CG3EM and its Intel Arc G3 Extreme processor, ekes out better performance with anywhere between a 20-40% performance uplift in our game testing, but it's also just under 40% more expensive in the US. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792062148661-zradx86so *, #fv-chart-1792062148661-zradx86so *:before, #fv-chart-1792062148661-zradx86so *:after, #fv-chart-1792062148661-zradx86so-slideshow *, #fv-chart-1792062148661-zradx86so-slideshow *:before, #fv-chart-1792062148661-zradx86so-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792062148661-zradx86so, #fv-chart-1792062148661-zradx86so-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062148661-zradx86so { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792062148661-zradx86so .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792062148661-zradx86so .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792062148661-zradx86so.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792062148661-zradx86so.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062148661-zradx86so .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062148661-zradx86so-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn.disabled, #fv-chart-1792062148661-zradx86so-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792062148661-zradx86so-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792062148661-zradx86so .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792062148661-zradx86so .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792062148661-zradx86so .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792062148661-zradx86so .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792062148661-zradx86so .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792062148661-zradx86so .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792062148661-zradx86so .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792062148661-zradx86so .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792062148661-zradx86so .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792062148661-zradx86so .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792062148661-zradx86so .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792062148661-zradx86so .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792062148661-zradx86so .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062148661-zradx86so .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062148661-zradx86so .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792062148661-zradx86so .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792062148661-zradx86so .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792062148661-zradx86so .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792062148661-zradx86so .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792062148661-zradx86so .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792062148661-zradx86so .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792062148661-zradx86so .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-bar-row, #fv-chart-1792062148661-zradx86so .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792062148661-zradx86so .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792062148661-zradx86so .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792062148661-zradx86so.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792062148661-zradx86so .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792062148661-zradx86so .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792062148661-zradx86so .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792062148661-zradx86so .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792062148661-zradx86so .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792062148661-zradx86so .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792062148661-zradx86so .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792062148661-zradx86so .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792062148661-zradx86so .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792062148661-zradx86so .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792062148661-zradx86so .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792062148661-zradx86so .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792062148661-zradx86so .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062148661-zradx86so .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-pie-container, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row, #fv-chart-1792062148661-zradx86so.mobile-view .fv-stacked-product, #fv-chart-1792062148661-zradx86so.mobile-view .fv-grouped-bar-product, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stacked-product, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-label, #fv-chart-1792062148661-zradx86so.mobile-view .fv-grouped-product-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-label, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-container, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-cluster, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-container, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-x-axis-wrapper, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-x-axis-label-space, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-x-axis-chart-space, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-benchmark-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-dropdown-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-carousel-nav-btn, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-chart-title, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-chart-subhead, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-header, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-wrapper, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-vs, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select-container, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-versus-select, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062148661-zradx86so.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792062148661-zradx86so .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062148661-zradx86so .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-row, #fv-chart-1792062148661-zradx86so .fv-stacked-product, #fv-chart-1792062148661-zradx86so .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-label, #fv-chart-1792062148661-zradx86so .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062148661-zradx86so .fv-bar-container, #fv-chart-1792062148661-zradx86so .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062148661-zradx86so .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062148661-zradx86so .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062148661-zradx86so .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062148661-zradx86so .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062148661-zradx86so .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062148661-zradx86so .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062148661-zradx86so .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-logo, #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062148661-zradx86so .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062148661-zradx86so .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062148661-zradx86so .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062148661-zradx86so.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Productivity suite testing",  "description": "Scores in major productivity suites and benchmarking tools (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:02:28.662Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "3DMark Time Spy",    "3DMark Storage",    "7-zip",    "Cinebench R24",    "Battery life | PCMark 10",    "FFXIV Shadowbringers",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – 3DMark Time Spy",      "value": 3395,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Time Spy",      "value": 4086,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – 3DMark Time Spy",      "value": 2244,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – 3DMark Time Spy",      "value": 4890,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – 3DMark Time Spy",      "value": 6499,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – 3DMark Time Spy",      "value": 3690,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – 3DMark Storage",      "value": 1951,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Storage",      "value": 1233,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – 3DMark Storage",      "value": 1582,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – 3DMark Storage",      "value": 2152,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – 3DMark Storage",      "value": 1575,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – 7-zip",      "value": 82.18,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 7-zip",      "value": 81.77,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – 7-zip",      "value": 30.41,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – 7-zip",      "value": 92.318,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – 7-zip",      "value": 101.82,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Cinebench R24",      "value": 101,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cinebench R24",      "value": 110,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Cinebench R24",      "value": 67,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Cinebench R24",      "value": 62,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Cinebench R24",      "value": 111,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Cinebench R24",      "value": 111,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Battery life | PCMark 10",      "value": 128,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Battery life | PCMark 10",      "value": 149,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Battery life | PCMark 10",      "value": 126,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Battery life | PCMark 10",      "value": 308,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Battery life | PCMark 10",      "value": 153,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Battery life | PCMark 10",      "value": 82,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – FFXIV Shadowbringers",      "value": 16.23,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – FFXIV Shadowbringers",      "value": 21.4,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – FFXIV Shadowbringers",      "value": 20.56,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – FFXIV Shadowbringers",      "value": 10.952,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – FFXIV Shadowbringers",      "value": 16.76,      "unitText": "Total load time (seconds)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:02:28.662Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":45,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["3DMark Time Spy","3DMark Storage","7-zip","Cinebench R24","Battery life | PCMark 10","FFXIV Shadowbringers"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Productivity suite testing","subhead":"Scores in major productivity suites and benchmarking tools (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-3DMark Time Spy":"3DMark Time Spy"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792062148661-zradx86so" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Productivity suite testing</h3><p class="fv-chart-subhead">Scores in major productivity suites and benchmarking tools (35 W plugged in)</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">3DMark Time Spy</option><option value="1">3DMark Storage</option><option value="2">7-zip</option><option value="3">Cinebench R24</option><option value="4">Battery life | PCMark 10</option><option value="5">FFXIV Shadowbringers</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-3DMark Time Spy" data-chart-type="Bar" data-title="3DMark Time Spy" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>GPU index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>CPU index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.633333333333333%; background-color: #E33235;" data-target-width="22.633333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3395</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20.346666666666664%; background-color: #FE9F58;" data-target-width="20.346666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3052</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.53999999999999%; background-color: #1CA9C4;" data-target-width="62.53999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9381</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.24%; background-color: #E33235;" data-target-width="27.24" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4086</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25.14%; background-color: #FE9F58;" data-target-width="25.14" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3771</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.78666666666667%; background-color: #1CA9C4;" data-target-width="63.78666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9568</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 14.96%; background-color: #E33235;" data-target-width="14.96" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2244</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.813333333333333%; background-color: #FE9F58;" data-target-width="13.813333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2072</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 28.30666666666667%; background-color: #1CA9C4;" data-target-width="28.30666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4246</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.6%; background-color: #E33235;" data-target-width="32.6" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4890</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30.133333333333333%; background-color: #FE9F58;" data-target-width="30.133333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4520</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.940000000000005%; background-color: #1CA9C4;" data-target-width="60.940000000000005" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9141</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.32666666666667%; background-color: #E33235;" data-target-width="43.32666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">6499</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.60666666666667%; background-color: #FE9F58;" data-target-width="40.60666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">6091</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 69.91333333333334%; background-color: #1CA9C4;" data-target-width="69.91333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10487</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 24.6%; background-color: #E33235;" data-target-width="24.6" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3690</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.233333333333334%; background-color: #FE9F58;" data-target-width="22.233333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3335</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.22%; background-color: #1CA9C4;" data-target-width="62.22" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9333</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>3,750</span><span>7,500</span><span>11,250</span><span>15,000</span></div></div></div><table class="sr-only"><caption>3DMark Time Spy Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>3395 Index score, 3052 GPU index score, 9381 CPU index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>4086 Index score, 3771 GPU index score, 9568 CPU index score</td></tr><tr><td>Lenovo Legion Go S</td><td>2244 Index score, 2072 GPU index score, 4246 CPU index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>4890 Index score, 4520 GPU index score, 9141 CPU index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>6499 Index score, 6091 GPU index score, 10487 CPU index score</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>3690 Index score, 3335 GPU index score, 9333 CPU index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-3DMark Storage" data-chart-type="Bar" data-title="3DMark Storage" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Avg bandwidth (MB/s)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Access time (ųs)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.03333333333333%; background-color: #E33235;" data-target-width="65.03333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1951</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.133666666666667%; background-color: #FE9F58;" data-target-width="11.133666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">334.01</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.0666666666666664%; background-color: #1CA9C4;" data-target-width="3.0666666666666664" data-target-margin="0"></div><span class="fv-bar-value-outside">92</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 41.099999999999994%; background-color: #E33235;" data-target-width="41.099999999999994" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1233</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.012666666666667%; background-color: #FE9F58;" data-target-width="7.012666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">210.38</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 4.833333333333333%; background-color: #1CA9C4;" data-target-width="4.833333333333333" data-target-margin="0"></div><span class="fv-bar-value-outside">145</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.733333333333334%; background-color: #E33235;" data-target-width="52.733333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1582</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 9.074666666666667%; background-color: #FE9F58;" data-target-width="9.074666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">272.24</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.8%; background-color: #1CA9C4;" data-target-width="3.8" data-target-margin="0"></div><span class="fv-bar-value-outside">114</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.73333333333333%; background-color: #E33235;" data-target-width="71.73333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">2152</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 12.222000000000001%; background-color: #FE9F58;" data-target-width="12.222000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">366.66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 2.7666666666666666%; background-color: #1CA9C4;" data-target-width="2.7666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">83</span></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1575</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 8.918666666666667%; background-color: #FE9F58;" data-target-width="8.918666666666667" data-target-margin="0"></div><span class="fv-bar-value-outside">267.56</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 3.7666666666666666%; background-color: #1CA9C4;" data-target-width="3.7666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">113</span></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>750</span><span>1,500</span><span>2,250</span><span>3,000</span></div></div></div><table class="sr-only"><caption>3DMark Storage Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>1951 Index score, 334.01 Avg bandwidth (MB/s), 92 Access time (ųs)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>1233 Index score, 210.38 Avg bandwidth (MB/s), 145 Access time (ųs)</td></tr><tr><td>Lenovo Legion Go S</td><td>1582 Index score, 272.24 Avg bandwidth (MB/s), 114 Access time (ųs)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>N/A</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>2152 Index score, 366.66 Avg bandwidth (MB/s), 83 Access time (ųs)</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>1575 Index score, 267.56 Avg bandwidth (MB/s), 113 Access time (ųs)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-7-zip" data-chart-type="Bar" data-title="7-zip" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Compression (GIPS)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Decompression (GIPS)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.786666666666676%; background-color: #E33235;" data-target-width="54.786666666666676" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82.18</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70.32666666666665%; background-color: #FE9F58;" data-target-width="70.32666666666665" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">105.49</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.513333333333335%; background-color: #E33235;" data-target-width="54.513333333333335" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81.77</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #FE9F58;" data-target-width="56.99999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85.5</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20.273333333333333%; background-color: #E33235;" data-target-width="20.273333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30.41</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.24%; background-color: #FE9F58;" data-target-width="29.24" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43.86</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.54533333333333%; background-color: #E33235;" data-target-width="61.54533333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92.318</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.502%; background-color: #FE9F58;" data-target-width="52.502" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78.753</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.88%; background-color: #E33235;" data-target-width="67.88" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101.82</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.2%; background-color: #FE9F58;" data-target-width="71.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">106.8</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div></div></div><table class="sr-only"><caption>7-zip Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>82.18 Compression (GIPS), 105.49 Decompression (GIPS)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>81.77 Compression (GIPS), 85.5 Decompression (GIPS)</td></tr><tr><td>Lenovo Legion Go S</td><td>30.41 Compression (GIPS), 43.86 Decompression (GIPS)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>N/A</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>92.318 Compression (GIPS), 78.753 Decompression (GIPS)</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>101.82 Compression (GIPS), 106.8 Decompression (GIPS)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-Cinebench R24" data-chart-type="Bar" data-title="Cinebench R24" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Single-core index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Multi-core index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 10.100000000000001%; background-color: #E33235;" data-target-width="10.100000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.2%; background-color: #FE9F58;" data-target-width="79.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">792</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11%; background-color: #E33235;" data-target-width="11" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">110</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #FE9F58;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">800</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.7%; background-color: #E33235;" data-target-width="6.7" data-target-margin="0"></div><span class="fv-bar-value-outside">67</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 33.2%; background-color: #FE9F58;" data-target-width="33.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">332</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.2%; background-color: #E33235;" data-target-width="6.2" data-target-margin="0"></div><span class="fv-bar-value-outside">62</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.9%; background-color: #FE9F58;" data-target-width="48.9" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">489</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.1%; background-color: #E33235;" data-target-width="11.1" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.4%; background-color: #FE9F58;" data-target-width="79.4" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">794</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 11.1%; background-color: #E33235;" data-target-width="11.1" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.3%; background-color: #FE9F58;" data-target-width="91.3" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">913</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>250</span><span>500</span><span>750</span><span>1,000</span></div></div></div><table class="sr-only"><caption>Cinebench R24 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>101 Single-core index score, 792 Multi-core index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>110 Single-core index score, 800 Multi-core index score</td></tr><tr><td>Lenovo Legion Go S</td><td>67 Single-core index score, 332 Multi-core index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>62 Single-core index score, 489 Multi-core index score</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>111 Single-core index score, 794 Multi-core index score</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>111 Single-core index score, 913 Multi-core index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-Battery life | PCMark 10" data-chart-type="Bar" data-title="Battery life | PCMark 10" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 32%; background-color: #E33235;" data-target-width="32" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">128</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 37.25%; background-color: #FE9F58;" data-target-width="37.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">149</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 31.5%; background-color: #1CA9C4;" data-target-width="31.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">126</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 77%; background-color: #EB6F71;" data-target-width="77" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">308</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 38.25%; background-color: #FFC08B;" data-target-width="38.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">153</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 20.5%; background-color: #66C5D7;" data-target-width="20.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>100</span><span>200</span><span>300</span><span>400</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>Battery life | PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>128</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>149</td></tr><tr><td>Lenovo Legion Go S</td><td>126</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>308</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>153</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>82</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792062148661-zradx86so-bar-FFXIV Shadowbringers" data-chart-type="Bar" data-title="FFXIV Shadowbringers" data-subhead="Scores in major productivity suites and benchmarking tools (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 54.1%; background-color: #E33235;" data-target-width="54.1" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16.23</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 71.33333333333333%; background-color: #FE9F58;" data-target-width="71.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21.4</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 68.53333333333332%; background-color: #1CA9C4;" data-target-width="68.53333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20.56</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 36.50666666666667%; background-color: #FFC08B;" data-target-width="36.50666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10.952</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 55.866666666666674%; background-color: #66C5D7;" data-target-width="55.866666666666674" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16.76</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div><div class="fv-x-axis-unit">Total load time (seconds)</div></div></div><table class="sr-only"><caption>FFXIV Shadowbringers Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>16.23</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>21.4</td></tr><tr><td>Lenovo Legion Go S</td><td>20.56</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>N/A</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>10.952</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>16.76</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792062148661-zradx86so', false); });      } else {        initialize('fv-chart-1792062148661-zradx86so', false);      }    })();      </script></div><p>One thing I am impressed with is the same thing our Dave was impressed with: the ROG Ally X20 works an absolute treat pulled down to between 15 W and 20 W. It's a great way of preserving battery, keeping thermals frosty (though the X20 already rocks in that regard) and bringing down fan noise. When I'm looking to play Balatro, I bring that wattage way down and forget about it until the X20 dies half a day later. I swear I only planned on having one game. </p><h2 class="article-body__section" id="section-ergonomics"><span>Ergonomics</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/hUgY4aoKvZaiY2zJqTXqm3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TiCptkNKiofgwKEHa6tqp3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3fhSuKUXsQiJFfGUB3qmp3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4Gk8CvxsYXUanKzWeb2tp3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The X20 is very likely the most comfortable handheld I've ever, well, hand…held. It has a slight cutout between the screen and the grips, which I often found myself sliding my index finger and pinky fingers under, and the new rubberised grips not only feel great but offer good enough traction that I'm never afraid of it slipping out of my hands. </p><p>It's so clear from the X20 that Microsoft know how to make controllers, as the buttons are fittingly clacky, the thumbsticks feel great, and the bumpers and triggers are easy to press down, with a comforting click to know I was successful. Well, as successful as I can be when I'm missing headshots. </p><p>I do really miss a trackpad, though. Windows 11 mode is fine enough, but feels like a slight downgrade without an intuitive way to control the mouse. My fat fingers struggle to click on the right thing sometimes, especially if it's a fairly small box, though the larger screen helps. You can control the mouse with the left analogue stick via Armoury Crate, but it doesn't beat the smoothness of a trackpad.</p><p>Still, trackpads are fairly rare among gaming handhelds, with it being done by the Legion GO, Steam Deck, and some GPD and Ayaneo devices. And if the ROG Ally X20 got a trackpad, it would struggle to fit all its buttons on without some compromises to feel. </p><p>At 756 grams, the X20 is certainly not a light device, but it is well balanced, and I've played it for hours at a time without fatigue. That's a feat, in my book. </p><h2 class="article-body__section" id="section-sound"><span>Sound</span></h2><p>The Asus ROG Xbox Ally X is a very quiet device. Not from the speakers, I should add; they can be cranked up quite high. Even at 35 W, the X20 fans never get loud enough to be annoying, but they are wonderfully tuned between 15-20 W. On just 16 volume, Cyberpunk's audio drowns out the fans on 25 W mode. </p><p>I wouldn't quite call them silent, but I found a PC across the other side of the room while idle produced a louder hum than the X20 playing Elden Ring. That's impressive, and it meant I never felt self-conscious bringing it out and about with me. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SkWtTVG97bmxoaKVKxnbh3" name="IMG_0920" alt="Asus ROG Xbox Ally X20 gaming handheld" src="https://cdn.mos.cms.futurecdn.net/SkWtTVG97bmxoaKVKxnbh3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The X20 has two sets of speakers on the front, on the left and right-hand side of the screen, and they are decently tuned and I've never wished they could get louder. The device also has a jack at the top to plug in your headphones, and Bluetooth compatibility if you can stomach the latency most Bluetooth speakers will give you. </p><h2 class="article-body__section" id="section-thermals"><span>Thermals</span></h2><p>Asus says the X20 is equipped with an "evolved ROG intelligent cooling system that drives air directly to the processor via a new internal channel and high-flow fans". In practice, that does indeed see it with cool thermals. I pushed the device to its limits at its 35 W Turbo mode, benchmarking all sorts of games for hours, and never saw it go above a CPU temperature of 79 °C. That is 17 entire °C below our tests for the standard Xbox Ally X. </p><p>I did also notice that the Max CPU package power was lower at 48 W, compared to the 55 W we saw last year.  This suggests some software tweaks have led to more fine-tuned power management too. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792062205475-taqkdrjw1 *, #fv-chart-1792062205475-taqkdrjw1 *:before, #fv-chart-1792062205475-taqkdrjw1 *:after, #fv-chart-1792062205475-taqkdrjw1-slideshow *, #fv-chart-1792062205475-taqkdrjw1-slideshow *:before, #fv-chart-1792062205475-taqkdrjw1-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792062205475-taqkdrjw1, #fv-chart-1792062205475-taqkdrjw1-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062205475-taqkdrjw1 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792062205475-taqkdrjw1 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792062205475-taqkdrjw1.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn.disabled, #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792062205475-taqkdrjw1-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792062205475-taqkdrjw1 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792062205475-taqkdrjw1 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792062205475-taqkdrjw1 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792062205475-taqkdrjw1.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792062205475-taqkdrjw1 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-pie-container, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stacked-product, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-grouped-bar-product, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stacked-product, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-label, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-grouped-product-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-label, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-container, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-cluster, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-container, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-x-axis-wrapper, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-x-axis-label-space, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-x-axis-chart-space, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-benchmark-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-dropdown-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-carousel-nav-btn, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-chart-title, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-chart-subhead, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-header, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-wrapper, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-vs, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select-container, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-versus-select, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062205475-taqkdrjw1.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792062205475-taqkdrjw1 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row, #fv-chart-1792062205475-taqkdrjw1 .fv-stacked-product, #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-label, #fv-chart-1792062205475-taqkdrjw1 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-container, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062205475-taqkdrjw1 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-logo, #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062205475-taqkdrjw1 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062205475-taqkdrjw1.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming test thermals",  "description": "Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:03:25.476Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "Thermal performance",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Thermal performance",      "value": 90,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Thermal performance",      "value": 79,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Thermal performance",      "value": 99.2,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Thermal performance",      "value": 75,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Thermal performance",      "value": 97,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Thermal performance",      "value": 92,      "unitText": "Max CPU temp (°C)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:03:25.476Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":45,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Thermal performance"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming test thermals","subhead":"Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-3DMark Time Spy":"3DMark Time Spy"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792062205475-taqkdrjw1" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming test thermals</h3><p class="fv-chart-subhead">Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792062205475-taqkdrjw1-bar-Thermal performance" data-chart-type="Bar" data-title="Thermal performance" data-subhead="Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Thermal performance</h4><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Max CPU temp (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Max CPU package power (W)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 99.2%; background-color: #E33235;" data-target-width="99.2" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">99.2</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 38%; background-color: #FE9F58;" data-target-width="38" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">75</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 20%; background-color: #FE9F58;" data-target-width="20" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97%; background-color: #E33235;" data-target-width="97" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">97</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37%; background-color: #FE9F58;" data-target-width="37" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 92%; background-color: #E33235;" data-target-width="92" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Thermal performance Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>90 Max CPU temp (°C), 30 Max CPU package power (W)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>79 Max CPU temp (°C), 48 Max CPU package power (W)</td></tr><tr><td>Lenovo Legion Go S</td><td>99.2 Max CPU temp (°C), 38 Max CPU package power (W)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>75 Max CPU temp (°C), 20 Max CPU package power (W)</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>97 Max CPU temp (°C), 37 Max CPU package power (W)</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>92 Max CPU temp (°C), 30 Max CPU package power (W)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792062205475-taqkdrjw1', false); });      } else {        initialize('fv-chart-1792062205475-taqkdrjw1', false);      }    })();      </script></div><p>I could, of course, get the device hotter by setting a custom wattage mode where peaks are higher, but that's not how I would use this device. Long term, I would probably set a custom mode at around 20 W, with peaks up to 30 W (and I'd set the RAM allocation for the GPU up to 10 GB for playing more intensive games). </p><p>Even at its hottest, I almost never felt any of that heat in my palms as I was playing, and it's low enough I'd never worry about the device throttling either. That extra temperature headroom does mean setting manual clocks higher would worry me less too, which is pretty sweet. At 25 W playing intensive games like Cyberpunk 2077 (and too much Tales of Seikyu), I could barely get the CPU temp to crack 68 °C. Impressive. </p><h2 class="article-body__section" id="section-software"><span>Software</span></h2><p>The Xbox mode works very well on the Asus ROG Xbox Ally X20. When you first boot it up, it moves into a stripped-back bit of software that simply allows you to open any of your games from within the Xbox UI. Not only does this give streamlined access to games and mean not having to deal with Windows 11, with its habit of booting up all your software when you turn it on, but it also means being able to skip the performance hit associated with it. </p><p>However, it's not an Xbox. You're still playing PC games on a PC device. If you boot up a Steam game from the Xbox app and haven't also booted up Steam, it will load that app first, then let you into your game. This is fine, but it's not flawless, and it's not like an Xbox. It's perhaps closer to booting into Steam Big Picture Mode. The Xbox library now pools together Steam, Epic etc, so you technically only <em>need </em>to boot up Windows when doing Windows-specific things. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="axXw9BH7PRoR48wN7j4Jj3" name="IMG_0956" alt="Asus ROG Xbox Ally X20 gaming handheld" src="https://cdn.mos.cms.futurecdn.net/axXw9BH7PRoR48wN7j4Jj3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It comes bundled with quite a bit of software, but for the ease of use of a gaming handheld, this makes a lot of sense. Armoury Crate SE allows you to tweak the device on the fly and get software updates; then it has the Xbox app (naturally enough). Being Windows, you do have the usual bloatware like Copilot (which I promptly removed), and you likely won't need to bother with Clipchamp either. </p><h2 class="article-body__section" id="section-battery-life"><span>Battery Life </span></h2><p>The X20 has the exact same size battery as the X. An 80 Wh battery is very solid in a gaming handheld, offering a decent sweet spot for capacity versus size and weight. </p><p>In PC Mark 10's gaming battery life test, I saw almost three hours at 17 W, with Windows in Balanced battery mode and 2 hours and 9 minutes on the beefy 25 W mode. It's important to note that this will effectively be how much gaming you will get done on a highly intensive game, so you can expect more than that if you're not pulling out Black Myth Wukong every time you bust out the Ally X20.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792062263613-9u2mkadui *, #fv-chart-1792062263613-9u2mkadui *:before, #fv-chart-1792062263613-9u2mkadui *:after, #fv-chart-1792062263613-9u2mkadui-slideshow *, #fv-chart-1792062263613-9u2mkadui-slideshow *:before, #fv-chart-1792062263613-9u2mkadui-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792062263613-9u2mkadui, #fv-chart-1792062263613-9u2mkadui-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062263613-9u2mkadui { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792062263613-9u2mkadui .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792062263613-9u2mkadui .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792062263613-9u2mkadui.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792062263613-9u2mkadui.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062263613-9u2mkadui .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792062263613-9u2mkadui-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn.disabled, #fv-chart-1792062263613-9u2mkadui-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792062263613-9u2mkadui-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792062263613-9u2mkadui .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792062263613-9u2mkadui .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792062263613-9u2mkadui .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792062263613-9u2mkadui .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792062263613-9u2mkadui .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792062263613-9u2mkadui .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792062263613-9u2mkadui .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792062263613-9u2mkadui .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792062263613-9u2mkadui .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062263613-9u2mkadui .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792062263613-9u2mkadui .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792062263613-9u2mkadui .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792062263613-9u2mkadui .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792062263613-9u2mkadui .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792062263613-9u2mkadui .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792062263613-9u2mkadui .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-row, #fv-chart-1792062263613-9u2mkadui .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792062263613-9u2mkadui.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792062263613-9u2mkadui .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792062263613-9u2mkadui .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792062263613-9u2mkadui .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792062263613-9u2mkadui .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062263613-9u2mkadui .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-pie-container, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stacked-product, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-grouped-bar-product, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stacked-product, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-label, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-grouped-product-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-label, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-container, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-cluster, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-container, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-x-axis-wrapper, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-x-axis-label-space, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-x-axis-chart-space, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-benchmark-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-dropdown-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-carousel-nav-btn, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-chart-title, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-chart-subhead, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-header, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-wrapper, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-vs, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select-container, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-versus-select, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062263613-9u2mkadui.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792062263613-9u2mkadui .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-row, #fv-chart-1792062263613-9u2mkadui .fv-stacked-product, #fv-chart-1792062263613-9u2mkadui .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-label, #fv-chart-1792062263613-9u2mkadui .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-container, #fv-chart-1792062263613-9u2mkadui .fv-bar-cluster { width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792062263613-9u2mkadui .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792062263613-9u2mkadui .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-label-space { display: none !important; } #fv-chart-1792062263613-9u2mkadui .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792062263613-9u2mkadui .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792062263613-9u2mkadui .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-logo, #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792062263613-9u2mkadui .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792062263613-9u2mkadui .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792062263613-9u2mkadui .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792062263613-9u2mkadui.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming battery life",  "description": "Recorded using PCMark 10's gaming battery life test (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T11:04:23.613Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Ally X",    "Asus ROG Xbox Ally X20",    "Lenovo Legion Go S",    "MSI Claw 8 EX AI+ CG3EM (Endurance mode)",    "MSI Claw 8 EX AI+ CG3EM (v1.0)",    "OneXPlayer OneXFly F1 Pro",    "Battery life | PCMark 10",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Ally X – Battery life | PCMark 10",      "value": 128,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Battery life | PCMark 10",      "value": 149,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion Go S – Battery life | PCMark 10",      "value": 126,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (Endurance mode) – Battery life | PCMark 10",      "value": 308,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "MSI Claw 8 EX AI+ CG3EM (v1.0) – Battery life | PCMark 10",      "value": 153,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "OneXPlayer OneXFly F1 Pro – Battery life | PCMark 10",      "value": 82,      "unitText": "Battery life (minutes)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T11:04:23.613Z","state":{"data":[{"productName":"Asus ROG Ally X","attribute":"3DMark Time Spy","value":3395,"unit":"Index score","multiValues":[{"value":3395,"unit":"Index score"},{"value":3052,"unit":"GPU index score"},{"value":9381,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"3DMark Storage","value":1951,"unit":"Index score","multiValues":[{"value":1951,"unit":"Index score"},{"value":334.01,"unit":"Avg bandwidth (MB/s)"},{"value":92,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"FFXIV Shadowbringers","value":16.23,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":17,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":31,"unit":"Avg FPS","multiValues":[{"value":31,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":32,"unit":"Avg FPS","multiValues":[{"value":32,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 (1080p Medium)","value":65,"unit":"Avg FPS","multiValues":[{"value":65,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":76,"unit":"Avg FPS","multiValues":[{"value":76,"unit":"Avg FPS"},{"value":69,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":44,"unit":"Avg FPS","multiValues":[{"value":44,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":60,"unit":"Avg FPS","multiValues":[{"value":60,"unit":"Avg FPS"},{"value":9,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":21,"unit":"Avg FPS","multiValues":[{"value":21,"unit":"Avg FPS"},{"value":10,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"7-zip","value":82.18,"unit":"Compression (GIPS)","multiValues":[{"value":82.18,"unit":"Compression (GIPS)"},{"value":105.49,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Cinebench R24","value":101,"unit":"Single-core index score","multiValues":[{"value":101,"unit":"Single-core index score"},{"value":792,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Battery life | PCMark 10","value":128,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Ally X","attribute":"Thermal performance","value":90,"unit":"Max CPU temp (°C)","multiValues":[{"value":90,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":45,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Time Spy","value":2244,"unit":"Index score","multiValues":[{"value":2244,"unit":"Index score"},{"value":2072,"unit":"GPU index score"},{"value":4246,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"3DMark Storage","value":1582,"unit":"Index score","multiValues":[{"value":1582,"unit":"Index score"},{"value":272.24,"unit":"Avg bandwidth (MB/s)"},{"value":114,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"FFXIV Shadowbringers","value":20.56,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong (1080p Medium)","value":15,"unit":"Avg FPS","multiValues":[{"value":15,"unit":"Avg FPS"},{"value":11,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":29,"unit":"Avg FPS","multiValues":[{"value":29,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 (1080p Medium)","value":45,"unit":"Avg FPS","multiValues":[{"value":45,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"F1 24 | Upscaling (1080p Medium)","value":57,"unit":"Avg FPS","multiValues":[{"value":57,"unit":"Avg FPS"},{"value":21,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn (1080p Original)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":3,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Metro Exodus Enhanced (1080p High)","value":14,"unit":"Avg FPS","multiValues":[{"value":14,"unit":"Avg FPS"},{"value":8,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"7-zip","value":30.41,"unit":"Compression (GIPS)","multiValues":[{"value":30.41,"unit":"Compression (GIPS)"},{"value":43.86,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Cinebench R24","value":67,"unit":"Single-core index score","multiValues":[{"value":67,"unit":"Single-core index score"},{"value":332,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Battery life | PCMark 10","value":126,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Lenovo Legion Go S","attribute":"Thermal performance","value":99.2,"unit":"Max CPU temp (°C)","multiValues":[{"value":99.2,"unit":"Max CPU temp (°C)"},{"value":38,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"3DMark Time Spy","value":4890,"unit":"Index score","multiValues":[{"value":4890,"unit":"Index score"},{"value":4520,"unit":"GPU index score"},{"value":9141,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong (1080p Medium)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":20,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":37,"unit":"Avg FPS","multiValues":[{"value":37,"unit":"Avg FPS"},{"value":29,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 (1080p Medium)","value":35,"unit":"Avg FPS","multiValues":[{"value":35,"unit":"Avg FPS"},{"value":24,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 (1080p Medium)","value":72,"unit":"Avg FPS","multiValues":[{"value":72,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"F1 24 | Upscaling (1080p Medium)","value":87,"unit":"Avg FPS","multiValues":[{"value":87,"unit":"Avg FPS"},{"value":59,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn (1080p Original)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":36,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Metro Exodus Enhanced (1080p High)","value":20,"unit":"Avg FPS","multiValues":[{"value":20,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Cinebench R24","value":62,"unit":"Single-core index score","multiValues":[{"value":62,"unit":"Single-core index score"},{"value":489,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Battery life | PCMark 10","value":308,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","attribute":"Thermal performance","value":75,"unit":"Max CPU temp (°C)","multiValues":[{"value":75,"unit":"Max CPU temp (°C)"},{"value":20,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Time Spy","value":6499,"unit":"Index score","multiValues":[{"value":6499,"unit":"Index score"},{"value":6091,"unit":"GPU index score"},{"value":10487,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"3DMark Storage","value":2152,"unit":"Index score","multiValues":[{"value":2152,"unit":"Index score"},{"value":366.66,"unit":"Avg bandwidth (MB/s)"},{"value":83,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"FFXIV Shadowbringers","value":10.952,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong (1080p Medium)","value":33,"unit":"Avg FPS","multiValues":[{"value":33,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":50,"unit":"Avg FPS","multiValues":[{"value":50,"unit":"Avg FPS"},{"value":28,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 (1080p Medium)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":73,"unit":"Avg FPS","multiValues":[{"value":73,"unit":"Avg FPS"},{"value":50,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 (1080p Medium)","value":107,"unit":"Avg FPS","multiValues":[{"value":107,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"F1 24 | Upscaling (1080p Medium)","value":124,"unit":"Avg FPS","multiValues":[{"value":124,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn (1080p Original)","value":61,"unit":"Avg FPS","multiValues":[{"value":61,"unit":"Avg FPS"},{"value":32,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":51,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Metro Exodus Enhanced (1080p High)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"7-zip","value":92.318,"unit":"Compression (GIPS)","multiValues":[{"value":92.318,"unit":"Compression (GIPS)"},{"value":78.753,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":794,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Battery life | PCMark 10","value":153,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","attribute":"Thermal performance","value":97,"unit":"Max CPU temp (°C)","multiValues":[{"value":97,"unit":"Max CPU temp (°C)"},{"value":37,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Time Spy","value":3690,"unit":"Index score","multiValues":[{"value":3690,"unit":"Index score"},{"value":3335,"unit":"GPU index score"},{"value":9333,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"3DMark Storage","value":1575,"unit":"Index score","multiValues":[{"value":1575,"unit":"Index score"},{"value":267.56,"unit":"Avg bandwidth (MB/s)"},{"value":113,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"FFXIV Shadowbringers","value":16.76,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong (1080p Medium)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":16,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":34,"unit":"Avg FPS","multiValues":[{"value":34,"unit":"Avg FPS"},{"value":27,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 (1080p Medium)","value":36,"unit":"Avg FPS","multiValues":[{"value":36,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":47,"unit":"Avg FPS","multiValues":[{"value":47,"unit":"Avg FPS"},{"value":39,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 (1080p Medium)","value":74,"unit":"Avg FPS","multiValues":[{"value":74,"unit":"Avg FPS"},{"value":64,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"F1 24 | Upscaling (1080p Medium)","value":90,"unit":"Avg FPS","multiValues":[{"value":90,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn (1080p Original)","value":46,"unit":"Avg FPS","multiValues":[{"value":46,"unit":"Avg FPS"},{"value":5,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":66,"unit":"Avg FPS","multiValues":[{"value":66,"unit":"Avg FPS"},{"value":26,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Metro Exodus Enhanced (1080p High)","value":24,"unit":"Avg FPS","multiValues":[{"value":24,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"7-zip","value":101.82,"unit":"Compression (GIPS)","multiValues":[{"value":101.82,"unit":"Compression (GIPS)"},{"value":106.8,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":913,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Battery life | PCMark 10","value":82,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"OneXPlayer OneXFly F1 Pro","attribute":"Thermal performance","value":92,"unit":"Max CPU temp (°C)","multiValues":[{"value":92,"unit":"Max CPU temp (°C)"},{"value":30,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Ally X","Asus ROG Xbox Ally X20","Lenovo Legion Go S","MSI Claw 8 EX AI+ CG3EM (Endurance mode)","MSI Claw 8 EX AI+ CG3EM (v1.0)","OneXPlayer OneXFly F1 Pro"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Battery life | PCMark 10"],"productColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"initialProductColors":[{"productName":"Asus ROG Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"},{"productName":"Lenovo Legion Go S","color":"#1CA9C4"},{"productName":"MSI Claw 8 EX AI+ CG3EM (Endurance mode)","color":"#EB6F71"},{"productName":"MSI Claw 8 EX AI+ CG3EM (v1.0)","color":"#FFC08B"},{"productName":"OneXPlayer OneXFly F1 Pro","color":"#66C5D7"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming battery life","subhead":"Recorded using PCMark 10's gaming battery life test (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-3DMark Time Spy":"3DMark Time Spy"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792062263613-9u2mkadui" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming battery life</h3><p class="fv-chart-subhead">Recorded using PCMark 10's gaming battery life test (35 W plugged in)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792062263613-9u2mkadui-bar-Battery life | PCMark 10" data-chart-type="Bar" data-title="Battery life | PCMark 10" data-subhead="Recorded using PCMark 10's gaming battery life test (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Battery life | PCMark 10</h4><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 32%; background-color: #E33235;" data-target-width="32" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">128</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 37.25%; background-color: #FE9F58;" data-target-width="37.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">149</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Lenovo Legion Go S</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 31.5%; background-color: #1CA9C4;" data-target-width="31.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">126</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (Endurance mode)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 77%; background-color: #EB6F71;" data-target-width="77" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">308</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">MSI Claw 8 EX AI+ CG3EM (v1.0)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 38.25%; background-color: #FFC08B;" data-target-width="38.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">153</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label ">OneXPlayer OneXFly F1 Pro</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 20.5%; background-color: #66C5D7;" data-target-width="20.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>100</span><span>200</span><span>300</span><span>400</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>Battery life | PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Ally X</td><td>128</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>149</td></tr><tr><td>Lenovo Legion Go S</td><td>126</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (Endurance mode)</td><td>308</td></tr><tr><td>MSI Claw 8 EX AI+ CG3EM (v1.0)</td><td>153</td></tr><tr><td>OneXPlayer OneXFly F1 Pro</td><td>82</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792062263613-9u2mkadui', false); });      } else {        initialize('fv-chart-1792062263613-9u2mkadui', false);      }    })();      </script></div><p>When I actually used the device day to day, I found a battery life I would be happy with. I remember taking it to a cafe at lunchtime and playing Graveyard Keeper till close (so just under five hours), and I still found the device with 40% charge. In indie games, the Ally X20 can get up to nine hours, which is solid given its performance. </p><h2 class="article-body__section" id="section-aesthetics"><span>Aesthetics</span></h2><p>One of the biggest changes you will spot between the standard Asus Xbox ROG Ally X and Asus Xbox ROG Ally X20 (try and say that two times fast) is its aesthetic. Asus has given the new device a black and yellow look, with the RGB in the thumbsticks defaulting to yellow, the highlight being golden, and it being ever so slightly transparent. Held up in the light, you can make out some of the handheld's internals.</p><p>Other than that, and an LED in the Xbox button, it looks pretty much the same as the Ally X with its pretty Xbox-etched front, and surprisingly tasteful branding. Flip it over, and you see a gold commemorative ROG 20th anniversary plate on the back. This is the same plate you can spot in the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-azoth-extreme-edition-20-review/">Azoth Extreme Edition 20</a> and the <a href="https://www.pcgamer.com/hardware/gaming-mice/asus-rog-harpe-ii-extreme-edition-20-review/">Asus ROG Harpe II Extreme Edition 20</a>.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ix9CtVVraJHE4czdR72sn3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XBsUeFTHr4LJLtHoheDCm3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7pbwxxmKixk9SPYanvUZj3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PVUgUy6CfTpPiUx8FU5Vf3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HMSPwfRijD9ZHpjGUFGBe3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NP68a57rSxXGYEWYYgdHc3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gBm7cdtpgY9H3WjRCWszc3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The new OLED screen goes up to a peak brightness of 1,400 nits, which is bright enough to even bring this bad boy outdoors, and with the Lenovo Legion Go 2's 8.8-inch OLED panel going up to 1,000 nits and the OneXPlayer 3's 8.8-inch AMOLED display going up to 1,100 nits (though these two go up to 144 Hz), I'd pick the Asus model out of the three. It's so bright, in fact, that I cranked the brightness just before playing Cyberpunk 2077 one night in bed and winced when I saw the sun. I wish I was joking. </p><p>It's a VRR display going from 30 to 120 Hz, which means the X20 is equipped to handle high and low frame rates with little stuttering. In practice, I found it to be super smooth, and naturally, gorgeous. </p><h2 class="article-body__section" id="section-value"><span>Value </span></h2><p>So, the X20 version of this device is $300 more than the standard X one, and in return, you get an OLED screen, better thermals, a new look, and TMR thumbsticks. It is a luxurious device in a lot of ways, and has some smart design decisions, making for tame but welcome upgrades. These make the device better overall but worse for the money for the average person. </p><p>The chip, paired with 24 GB of LPDDR5X memory, makes it a formidable device capable of handling most games you can throw at it, but the pricing does make it stand out awkwardly in the market. For $300 less, you can get the same basic performance without those extras, and for $400 more, you can get the cream of the current crop. For us Brits, the Claw 8 EX AI+ CG3EM is a better pick for just £100 more. </p><p>As much as it pains me to say it, it's getting harder to find handheld gaming devices below $1,000. Even the 'cheapest' Steam Deck (<a href="https://store.steampowered.com/steamdeck" target="_blank">512 GB with OLED screen</a>) fetches $789 new, and its 2023 Zen 2/RDNA 2 chip wasn't exactly a powerhouse when it launched. </p><p>Last year, when I first saw the Xbox Ally X and its $1,000 price tag, I was surprised in a bad way, and yet the memory crisis has worsened to such a state that it now seems fairly reasonable. I don't see the same happening for the X20, but I can say that I've softened on it significantly since getting time with it every single day. Whether or not those extra upgrades are worth $300 will be largely dependent on your wallet and your eyes, but I can say I can see where that extra cost has been sunk straight back into the device. And for that, I'm impressed.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Xbox Ally X 20 vs Xbox Ally X: A wickedly bright OLED screen and frosty temps make for a begrudgingly attractive upgrade for the Asus handheld ]]></title>
                                                                                                <dc:content><![CDATA[ <p>So, you've seen the Asus ROG Xbox Ally X20 in all its black and gold glory and wondered if it's worth paying $300 more for it. Well, the answer is 'it really depends on what kind of device you are looking for' and 'how much is a fresh OLED screen worth to you?' </p><p>Unlike the other ROG 20th anniversary edition bits of Asus gear, the X20 is not about superfluous add-ons (unless you pick up the bundle with XR glasses). You aren't getting a commemorative faceplate here, or extra stickers. You get an OLED screen, TMR thumbsticks, improved thermals, and MicroSD Express compatibility. </p><p>You also get Impulse triggers, which means they can rumble independently, and the D-Pad can be flicked around to make the corners more or less pronounced. </p><p>The screen is perhaps the biggest sell here, with its 1400 HDR-certified display going up to a peak brightness of 1,400 nits. As I found in <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x20-review" target="_blank">my review</a>, it's so sizzlingly bright at points that I looked at the sun in Cyberpunk 2077 while lying in bed one night and actually winced. Check out the full differences below. </p><div ><table><caption>Asus ROG Xbox Ally X20 vs Xbox Ally X</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Asus ROG Xbox Ally X20</strong></p></td><td  ><p><strong>Asus ROG Xbox Ally X</strong></p></td></tr><tr><td class="firstcol " ><p>Processor</p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td></tr><tr><td class="firstcol " ><p>CPU architecture</p></td><td  ><p>Zen 5 / Zen 5c</p></td><td  ><p>Zen 5 / Zen 5c</p></td></tr><tr><td class="firstcol " ><p>Core / threads</p></td><td  ><p>8 / 16</p></td><td  ><p>8 / 16</p></td></tr><tr><td class="firstcol " ><p>CPU boost clock</p></td><td  ><p>5 GHz</p></td><td  ><p>5 GHz</p></td></tr><tr><td class="firstcol " ><p>GPU architecture</p></td><td  ><p>RDNA 3.5</p></td><td  ><p>RDNA 3.5</p></td></tr><tr><td class="firstcol " ><p>Shader count</p></td><td  ><p>1024</p></td><td  ><p>1024</p></td></tr><tr><td class="firstcol " ><p>GPU boost clock</p></td><td  ><p>2.9 GHz</p></td><td  ><p>2.9 GHz</p></td></tr><tr><td class="firstcol " ><p>VRAM</p></td><td  ><p>8 GB (shared, adjustable)</p></td><td  ><p>8 GB (shared, adjustable)</p></td></tr><tr><td class="firstcol " ><p>Memory</p></td><td  ><p>24 GB LPDDR5X</p></td><td  ><p>24 GB LPDDR5X</p></td></tr><tr><td class="firstcol " ><p>Screen</p></td><td  ><p>7.4-inch OLED display</p></td><td  ><p>7-inch IPS LCD display</p></td></tr><tr><td class="firstcol " ><p>Resolution / refresh rate</p></td><td  ><p>1920 x 1080 / 120 Hz</p></td><td  ><p>1920 x 1080 / 120 Hz</p></td></tr><tr><td class="firstcol " ><p>Peak brightness</p></td><td  ><p>1400 nits</p></td><td  ><p>500 nits</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td></tr><tr><td class="firstcol " ><p>Thumbsticks</p></td><td  ><p>TMR</p></td><td  ><p>Magnetic</p></td></tr><tr><td class="firstcol " ><p>Connectivity </p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD Express card reader</p><p>1x 3.5 mm combo jack</p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD card reader</p><p>1x 3.5 mm combo jack</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>30.0 x 12.1 x 5.13 cm</p></td><td  ><p>29 x 12.1 x 5.07 cm</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>80 Wh</p></td><td  ><p>80 Wh</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>756 g</p></td><td  ><p>715 g</p></td></tr><tr><td class="firstcol " ><p>Price</p></td><td  ><p><a href="https://rog.asus.com/us/gaming-handhelds/rog-ally/rog-xbox-ally-x20-2026/wtb/" target="_blank">$1,300</a>  / <a href="https://uk.store.asus.com/rog-xbox-ally-x20.html" target="_blank">£1300</a></p></td><td  ><p><a href="https://bestbuy.7tiv.net/c/1943169/614286/10014?subId1=pcg-gb-6459252765237501214&sharedId=pcg-gb&u=https%3A%2F%2Fwww.bestbuy.com%2Fproduct%2Frog-xbox-ally-x-7-fhd-120hz-gaming-handheld-amd-ryzen-ai-z2-extreme-processor-24gb-with-1tb-ssd-windows%2FJJGHGPLVHW" target="_blank">$1,000</a> / <a href="https://www.awin1.com/awclick.php?awinmid=31726&awinaffid=103504&clickref=pcg-gb-6290159269328242922&p=https%3A%2F%2Fuk.store.asus.com%2Frog-xbox-ally-x.html" target="_blank">£900</a> (MSRP)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-asus-rog-xbox-ally-x20-vs-asus-rog-xbox-ally-x-performance"><span>Asus ROG Xbox Ally X20 vs Asus ROG Xbox Ally X: Performance</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792067331437-296yhmu7w *, #fv-chart-1792067331437-296yhmu7w *:before, #fv-chart-1792067331437-296yhmu7w *:after, #fv-chart-1792067331437-296yhmu7w-slideshow *, #fv-chart-1792067331437-296yhmu7w-slideshow *:before, #fv-chart-1792067331437-296yhmu7w-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792067331437-296yhmu7w, #fv-chart-1792067331437-296yhmu7w-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067331437-296yhmu7w { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792067331437-296yhmu7w .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792067331437-296yhmu7w .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792067331437-296yhmu7w.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792067331437-296yhmu7w.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067331437-296yhmu7w .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067331437-296yhmu7w-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn.disabled, #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792067331437-296yhmu7w .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792067331437-296yhmu7w .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792067331437-296yhmu7w .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792067331437-296yhmu7w .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792067331437-296yhmu7w .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792067331437-296yhmu7w .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792067331437-296yhmu7w .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067331437-296yhmu7w .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792067331437-296yhmu7w .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792067331437-296yhmu7w .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792067331437-296yhmu7w .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792067331437-296yhmu7w .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792067331437-296yhmu7w .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-row, #fv-chart-1792067331437-296yhmu7w .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792067331437-296yhmu7w.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792067331437-296yhmu7w .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792067331437-296yhmu7w .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792067331437-296yhmu7w .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067331437-296yhmu7w .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-pie-container, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stacked-product, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-grouped-bar-product, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stacked-product, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-label, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-grouped-product-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-label, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-container, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-cluster, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-container, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-x-axis-wrapper, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-x-axis-label-space, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-x-axis-chart-space, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-benchmark-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-dropdown-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-carousel-nav-btn, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-chart-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-chart-subhead, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-header, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-wrapper, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-vs, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-container, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792067331437-296yhmu7w .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-row, #fv-chart-1792067331437-296yhmu7w .fv-stacked-product, #fv-chart-1792067331437-296yhmu7w .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label, #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-container, #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067331437-296yhmu7w .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-logo, #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067331437-296yhmu7w.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Performance test",  "description": "In a handful of games and productivity apps (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:28:51.438Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Xbox Ally X",    "Asus ROG Xbox Ally X20",    "3DMark Time Spy",    "3DMark Storage",    "FFXIV Shadowbringers",    "Black Myth Wukong (1080p Medium)",    "Black Myth Wukong | Upscaling (1080p Medium)",    "Cyberpunk 2077 (1080p Medium)",    "Cyberpunk 2077 | Upscaling (1080p Medium)",    "F1 24 (1080p Medium)",    "F1 24 | Upscaling (1080p Medium)",    "Horizon Zero Dawn (1080p Original)",    "Horizon Zero Dawn | Upscaling (1080p Original)",    "Metro Exodus Enhanced (1080p High)",    "7-zip",    "Cinebench R24",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – 3DMark Time Spy",      "value": 4033,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Time Spy",      "value": 4086,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – 3DMark Storage",      "value": 1163,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Storage",      "value": 1233,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – FFXIV Shadowbringers",      "value": 18.91,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – FFXIV Shadowbringers",      "value": 21.4,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Black Myth Wukong (1080p Medium)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong (1080p Medium)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 39,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 40,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Cyberpunk 2077 (1080p Medium)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 (1080p Medium)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 53,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 58,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – F1 24 (1080p Medium)",      "value": 84,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 (1080p Medium)",      "value": 85,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – F1 24 | Upscaling (1080p Medium)",      "value": 97,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 | Upscaling (1080p Medium)",      "value": 96,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Horizon Zero Dawn (1080p Original)",      "value": 48,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn (1080p Original)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 70,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Metro Exodus Enhanced (1080p High)",      "value": 27,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Metro Exodus Enhanced (1080p High)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – 7-zip",      "value": 81.14,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 7-zip",      "value": 81.77,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Cinebench R24",      "value": 111,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cinebench R24",      "value": 110,      "unitText": "Single-core index score"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:28:51.438Z","state":{"data":[{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Time Spy","value":4033,"unit":"Index score","multiValues":[{"value":4033,"unit":"Index score"},{"value":3663,"unit":"GPU index score"},{"value":9462,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Storage","value":1163,"unit":"Index score","multiValues":[{"value":1163,"unit":"Index score"},{"value":199.98,"unit":"Avg bandwidth (MB/s)"},{"value":155,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"FFXIV Shadowbringers","value":18.91,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":39,"unit":"Avg FPS","multiValues":[{"value":39,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":53,"unit":"Avg FPS","multiValues":[{"value":53,"unit":"Avg FPS"},{"value":44,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 (1080p Medium)","value":84,"unit":"Avg FPS","multiValues":[{"value":84,"unit":"Avg FPS"},{"value":76,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":97,"unit":"Avg FPS","multiValues":[{"value":97,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":48,"unit":"Avg FPS","multiValues":[{"value":48,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":70,"unit":"Avg FPS","multiValues":[{"value":70,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":27,"unit":"Avg FPS","multiValues":[{"value":27,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"7-zip","value":81.14,"unit":"Compression (GIPS)","multiValues":[{"value":81.14,"unit":"Compression (GIPS)"},{"value":86.54,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":762,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Battery life | PCMark 10","value":125,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Thermal performance","value":96,"unit":"Max CPU temp (°C)","multiValues":[{"value":96,"unit":"Max CPU temp (°C)"},{"value":55,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24"],"productColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"initialProductColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Performance test","subhead":"In a handful of games and productivity apps (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792067331437-296yhmu7w" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Performance test</h3><p class="fv-chart-subhead">In a handful of games and productivity apps (35 W plugged in)</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">3DMark Time Spy</option><option value="1">3DMark Storage</option><option value="2">FFXIV Shadowbringers</option><option value="3">Black Myth Wukong (1080p Medium)</option><option value="4">Black Myth Wukong | Upscaling (1080p Medium)</option><option value="5">Cyberpunk 2077 (1080p Medium)</option><option value="6">Cyberpunk 2077 | Upscaling (1080p Medium)</option><option value="7">F1 24 (1080p Medium)</option><option value="8">F1 24 | Upscaling (1080p Medium)</option><option value="9">Horizon Zero Dawn (1080p Original)</option><option value="10">Horizon Zero Dawn | Upscaling (1080p Original)</option><option value="11">Metro Exodus Enhanced (1080p High)</option><option value="12">7-zip</option><option value="13">Cinebench R24</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-3DMark Time Spy" data-chart-type="Bar" data-title="3DMark Time Spy" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>GPU index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>CPU index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.33%; background-color: #E33235;" data-target-width="40.33" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4033</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.63%; background-color: #FE9F58;" data-target-width="36.63" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3663</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 94.62%; background-color: #1CA9C4;" data-target-width="94.62" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9462</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.86%; background-color: #E33235;" data-target-width="40.86" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4086</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.71%; background-color: #FE9F58;" data-target-width="37.71" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3771</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95.67999999999999%; background-color: #1CA9C4;" data-target-width="95.67999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9568</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>2,500</span><span>5,000</span><span>7,500</span><span>10,000</span></div></div></div><table class="sr-only"><caption>3DMark Time Spy Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>4033 Index score, 3663 GPU index score, 9462 CPU index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>4086 Index score, 3771 GPU index score, 9568 CPU index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-3DMark Storage" data-chart-type="Bar" data-title="3DMark Storage" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Avg bandwidth (MB/s)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Access time (ųs)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.53333333333333%; background-color: #E33235;" data-target-width="77.53333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1163</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.331999999999999%; background-color: #FE9F58;" data-target-width="13.331999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">199.98</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 10.333333333333334%; background-color: #1CA9C4;" data-target-width="10.333333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">155</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.19999999999999%; background-color: #E33235;" data-target-width="82.19999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1233</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 14.025333333333334%; background-color: #FE9F58;" data-target-width="14.025333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">210.38</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 9.666666666666666%; background-color: #1CA9C4;" data-target-width="9.666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">145</span></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>375</span><span>750</span><span>1,125</span><span>1,500</span></div></div></div><table class="sr-only"><caption>3DMark Storage Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>1163 Index score, 199.98 Avg bandwidth (MB/s), 155 Access time (ųs)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>1233 Index score, 210.38 Avg bandwidth (MB/s), 145 Access time (ųs)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-FFXIV Shadowbringers" data-chart-type="Bar" data-title="FFXIV Shadowbringers" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 63.03333333333333%; background-color: #E33235;" data-target-width="63.03333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18.91</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 71.33333333333333%; background-color: #FE9F58;" data-target-width="71.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21.4</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div><div class="fv-x-axis-unit">Total load time (seconds)</div></div></div><table class="sr-only"><caption>FFXIV Shadowbringers Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>18.91</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>21.4</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Black Myth Wukong (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.66666666666667%; background-color: #E33235;" data-target-width="86.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.33333333333333%; background-color: #FE9F58;" data-target-width="63.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.66666666666667%; background-color: #E33235;" data-target-width="86.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.33333333333333%; background-color: #FE9F58;" data-target-width="63.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>26 Avg FPS, 19 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>26 Avg FPS, 19 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Black Myth Wukong | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong | Upscaling (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.5%; background-color: #E33235;" data-target-width="97.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #FE9F58;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.5%; background-color: #FE9F58;" data-target-width="87.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>10</span><span>20</span><span>30</span><span>40</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>39 Avg FPS, 30 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>40 Avg FPS, 35 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Cyberpunk 2077 (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #FE9F58;" data-target-width="56.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>41 Avg FPS, 34 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>42 Avg FPS, 33 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Cyberpunk 2077 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 | Upscaling (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.33333333333333%; background-color: #E33235;" data-target-width="88.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #FE9F58;" data-target-width="73.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96.66666666666667%; background-color: #E33235;" data-target-width="96.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #FE9F58;" data-target-width="66.66666666666666" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>53 Avg FPS, 44 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>58 Avg FPS, 40 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-F1 24 (1080p Medium)" data-chart-type="Bar" data-title="F1 24 (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76%; background-color: #FE9F58;" data-target-width="76" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61%; background-color: #FE9F58;" data-target-width="61" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>F1 24 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>84 Avg FPS, 76 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>85 Avg FPS, 61 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-F1 24 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="F1 24 | Upscaling (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97%; background-color: #E33235;" data-target-width="97" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">97</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #FE9F58;" data-target-width="88" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">88</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96%; background-color: #E33235;" data-target-width="96" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #FE9F58;" data-target-width="72" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>F1 24 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>97 Avg FPS, 88 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>96 Avg FPS, 72 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Horizon Zero Dawn (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn (1080p Original)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25%; background-color: #FE9F58;" data-target-width="25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>48 Avg FPS, 15 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>51 Avg FPS, 18 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Horizon Zero Dawn | Upscaling (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn | Upscaling (1080p Original)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.5%; background-color: #E33235;" data-target-width="87.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">70</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.5%; background-color: #FE9F58;" data-target-width="22.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.25%; background-color: #FE9F58;" data-target-width="31.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn | Upscaling (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>70 Avg FPS, 18 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>69 Avg FPS, 25 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Metro Exodus Enhanced (1080p High)" data-chart-type="Bar" data-title="Metro Exodus Enhanced (1080p High)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #FE9F58;" data-target-width="43.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>27 Avg FPS, 15 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>22 Avg FPS, 13 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-7-zip" data-chart-type="Bar" data-title="7-zip" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Compression (GIPS)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Decompression (GIPS)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.14%; background-color: #E33235;" data-target-width="81.14" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81.14</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.54%; background-color: #FE9F58;" data-target-width="86.54" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">86.54</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.77%; background-color: #E33235;" data-target-width="81.77" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81.77</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85.5%; background-color: #FE9F58;" data-target-width="85.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85.5</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>7-zip Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>81.14 Compression (GIPS), 86.54 Decompression (GIPS)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>81.77 Compression (GIPS), 85.5 Decompression (GIPS)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Cinebench R24" data-chart-type="Bar" data-title="Cinebench R24" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Single-core index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Multi-core index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.875000000000002%; background-color: #E33235;" data-target-width="13.875000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95.25%; background-color: #FE9F58;" data-target-width="95.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">762</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.750000000000002%; background-color: #E33235;" data-target-width="13.750000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">110</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #FE9F58;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">800</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>200</span><span>400</span><span>600</span><span>800</span></div></div></div><table class="sr-only"><caption>Cinebench R24 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>111 Single-core index score, 762 Multi-core index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>110 Single-core index score, 800 Multi-core index score</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792067331437-296yhmu7w', false); });      } else {        initialize('fv-chart-1792067331437-296yhmu7w', false);      }    })();      </script></div><p>With both devices featuring the same chip and memory, you can expect more or less the same performance. In my testing, I got lower Metro performance and worse 1% lows in F1 25, but better performance in Horizon Zero Dawn, Cyberpunk 2077 and 3DMark, so the framerate differences overall just about balance out. I also noticed the X20 never went above 49 watts, which means I would feel more comfortable cranking up the wattage. It helps that its thermals are much improved. </p><h2 class="article-body__section" id="section-asus-rog-xbox-ally-x20-vs-asus-rog-xbox-ally-x-thermals"><span>Asus ROG Xbox Ally X20 vs Asus ROG Xbox Ally X: Thermals</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792067276603-y5jq2ysri *, #fv-chart-1792067276603-y5jq2ysri *:before, #fv-chart-1792067276603-y5jq2ysri *:after, #fv-chart-1792067276603-y5jq2ysri-slideshow *, #fv-chart-1792067276603-y5jq2ysri-slideshow *:before, #fv-chart-1792067276603-y5jq2ysri-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792067276603-y5jq2ysri, #fv-chart-1792067276603-y5jq2ysri-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067276603-y5jq2ysri { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792067276603-y5jq2ysri .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792067276603-y5jq2ysri .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792067276603-y5jq2ysri.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067276603-y5jq2ysri .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn.disabled, #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792067276603-y5jq2ysri .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792067276603-y5jq2ysri .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792067276603-y5jq2ysri .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792067276603-y5jq2ysri .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792067276603-y5jq2ysri .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792067276603-y5jq2ysri.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792067276603-y5jq2ysri .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067276603-y5jq2ysri .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-pie-container, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stacked-product, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-grouped-bar-product, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stacked-product, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-label, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-grouped-product-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-label, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-container, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-cluster, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-container, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-x-axis-wrapper, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-x-axis-label-space, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-x-axis-chart-space, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-benchmark-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-dropdown-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-carousel-nav-btn, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-chart-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-chart-subhead, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-header, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-wrapper, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-vs, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-container, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792067276603-y5jq2ysri .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri .fv-stacked-product, #fv-chart-1792067276603-y5jq2ysri .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label, #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-container, #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-logo, #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067276603-y5jq2ysri.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming test thermals",  "description": "Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:27:56.604Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Xbox Ally X",    "Asus ROG Xbox Ally X20",    "Thermal performance",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Thermal performance",      "value": 96,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Thermal performance",      "value": 79,      "unitText": "Max CPU temp (°C)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:27:56.604Z","state":{"data":[{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Time Spy","value":4033,"unit":"Index score","multiValues":[{"value":4033,"unit":"Index score"},{"value":3663,"unit":"GPU index score"},{"value":9462,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Storage","value":1163,"unit":"Index score","multiValues":[{"value":1163,"unit":"Index score"},{"value":199.98,"unit":"Avg bandwidth (MB/s)"},{"value":155,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"FFXIV Shadowbringers","value":18.91,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":39,"unit":"Avg FPS","multiValues":[{"value":39,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":53,"unit":"Avg FPS","multiValues":[{"value":53,"unit":"Avg FPS"},{"value":44,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 (1080p Medium)","value":84,"unit":"Avg FPS","multiValues":[{"value":84,"unit":"Avg FPS"},{"value":76,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":97,"unit":"Avg FPS","multiValues":[{"value":97,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":48,"unit":"Avg FPS","multiValues":[{"value":48,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":70,"unit":"Avg FPS","multiValues":[{"value":70,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":27,"unit":"Avg FPS","multiValues":[{"value":27,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"7-zip","value":81.14,"unit":"Compression (GIPS)","multiValues":[{"value":81.14,"unit":"Compression (GIPS)"},{"value":86.54,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":762,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Battery life | PCMark 10","value":125,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Thermal performance","value":96,"unit":"Max CPU temp (°C)","multiValues":[{"value":96,"unit":"Max CPU temp (°C)"},{"value":55,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Thermal performance"],"productColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"initialProductColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming test thermals","subhead":"Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792067276603-y5jq2ysri" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming test thermals</h3><p class="fv-chart-subhead">Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792067276603-y5jq2ysri-bar-Thermal performance" data-chart-type="Bar" data-title="Thermal performance" data-subhead="Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Thermal performance</h4><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Max CPU temp (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Max CPU package power (W)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96%; background-color: #E33235;" data-target-width="96" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Thermal performance Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>96 Max CPU temp (°C), 55 Max CPU package power (W)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>79 Max CPU temp (°C), 48 Max CPU package power (W)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792067276603-y5jq2ysri', false); });      } else {        initialize('fv-chart-1792067276603-y5jq2ysri', false);      }    })();      </script></div><p>The X20 comes with a refined new thermal cooling system, and it's more than just a marketing term. I recorded temps up to 17 °C  cooler compared to the previous model, and even in long gaming sessions, I couldn't manage to push the system's temp above 80°C with its included wattage modes (between 17 W and 35 W). Importantly, I never felt that heat on my fingers as I played, making it a relatively frosty gaming device. </p><h2 class="article-body__section" id="section-asus-rog-xbox-ally-x20-vs-asus-rog-xbox-ally-x-battery-life"><span>Asus ROG Xbox Ally X20 vs Asus ROG Xbox Ally X: Battery life</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792067743562-at1ybeld5 *, #fv-chart-1792067743562-at1ybeld5 *:before, #fv-chart-1792067743562-at1ybeld5 *:after, #fv-chart-1792067743562-at1ybeld5-slideshow *, #fv-chart-1792067743562-at1ybeld5-slideshow *:before, #fv-chart-1792067743562-at1ybeld5-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792067743562-at1ybeld5, #fv-chart-1792067743562-at1ybeld5-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067743562-at1ybeld5 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792067743562-at1ybeld5 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792067743562-at1ybeld5 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792067743562-at1ybeld5.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792067743562-at1ybeld5.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067743562-at1ybeld5 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067743562-at1ybeld5-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn.disabled, #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792067743562-at1ybeld5 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792067743562-at1ybeld5 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792067743562-at1ybeld5 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792067743562-at1ybeld5 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792067743562-at1ybeld5 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-row, #fv-chart-1792067743562-at1ybeld5 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792067743562-at1ybeld5.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792067743562-at1ybeld5 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067743562-at1ybeld5 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-pie-container, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stacked-product, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-grouped-bar-product, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stacked-product, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-label, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-grouped-product-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-label, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-container, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-cluster, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-container, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-x-axis-wrapper, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-x-axis-label-space, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-x-axis-chart-space, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-benchmark-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-dropdown-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-carousel-nav-btn, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-chart-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-chart-subhead, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-header, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-wrapper, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-vs, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-container, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792067743562-at1ybeld5 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-row, #fv-chart-1792067743562-at1ybeld5 .fv-stacked-product, #fv-chart-1792067743562-at1ybeld5 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label, #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-container, #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-logo, #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067743562-at1ybeld5.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming battery life",  "description": "Recorded using PCMark 10's gaming battery life test (25 W)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:35:43.562Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Xbox Ally X",    "Asus ROG Xbox Ally X20",    "Battery life | PCMark 10",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Battery life | PCMark 10",      "value": 125,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Battery life | PCMark 10",      "value": 149,      "unitText": "Battery life (minutes)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:35:43.562Z","state":{"data":[{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Time Spy","value":4033,"unit":"Index score","multiValues":[{"value":4033,"unit":"Index score"},{"value":3663,"unit":"GPU index score"},{"value":9462,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Storage","value":1163,"unit":"Index score","multiValues":[{"value":1163,"unit":"Index score"},{"value":199.98,"unit":"Avg bandwidth (MB/s)"},{"value":155,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"FFXIV Shadowbringers","value":18.91,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":39,"unit":"Avg FPS","multiValues":[{"value":39,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":53,"unit":"Avg FPS","multiValues":[{"value":53,"unit":"Avg FPS"},{"value":44,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 (1080p Medium)","value":84,"unit":"Avg FPS","multiValues":[{"value":84,"unit":"Avg FPS"},{"value":76,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":97,"unit":"Avg FPS","multiValues":[{"value":97,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":48,"unit":"Avg FPS","multiValues":[{"value":48,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":70,"unit":"Avg FPS","multiValues":[{"value":70,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":27,"unit":"Avg FPS","multiValues":[{"value":27,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"7-zip","value":81.14,"unit":"Compression (GIPS)","multiValues":[{"value":81.14,"unit":"Compression (GIPS)"},{"value":86.54,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":762,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Battery life | PCMark 10","value":125,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Thermal performance","value":96,"unit":"Max CPU temp (°C)","multiValues":[{"value":96,"unit":"Max CPU temp (°C)"},{"value":55,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Battery life | PCMark 10"],"productColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"initialProductColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming battery life","subhead":"Recorded using PCMark 10's gaming battery life test (25 W)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792067743562-at1ybeld5" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming battery life</h3><p class="fv-chart-subhead">Recorded using PCMark 10's gaming battery life test (25 W)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792067743562-at1ybeld5-bar-Battery life | PCMark 10" data-chart-type="Bar" data-title="Battery life | PCMark 10" data-subhead="Recorded using PCMark 10's gaming battery life test (25 W)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Battery life | PCMark 10</h4><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 83.33333333333334%; background-color: #E33235;" data-target-width="83.33333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">125</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 99.33333333333333%; background-color: #FE9F58;" data-target-width="99.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">149</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>Battery life | PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>125</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>149</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792067743562-at1ybeld5', false); });      } else {        initialize('fv-chart-1792067743562-at1ybeld5', false);      }    })();      </script></div><p>In stress testing gaming benchmarks, the X20 managed 2 hours and 9 minutes in the 25 W gaming mode, and almost 3 hours in the 17 W mode. Importantly, it can get up to 9 hours of indie gaming on the go, in my experience. The standard X model has the exact same size battery, so you can expect a similar battery life, though our testing saw it perform a little under the X20. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ycvmicSRpiengC9Dnsbpn3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qoLyjbhMierWTsuYREdvq3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7pbwxxmKixk9SPYanvUZj3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Though you're getting similar performance figures, the day-to-day use of the Ally X20 is superior from my experience. The screen is gorgeous and super bright, all the buttons feel superb under the fingers, it's super quiet (unless you want it to be loud), and it looks phenomenal. </p><p>As well as all of this, those frosty temps mean you can shove up the wattage if you want, or just have a ton of headroom to avoid throttling in the future. I would really struggle to want to spend over $1,000 on any gaming handheld right now, but if I were flush with cash, I would be majorly tempted to pop the X20 in my basket. </p><section class="article__schema-question"><h3>Should you upgrade to the Asus ROG Xbox Ally X20?</h3><article class="article__schema-answer"><p>If you already have the Xbox Ally X, I wouldn't recommend spending another $1,300 to get a better screen, thermals and TMR sticks (plus some little extras). If, however, you're deciding between the two, I can say that the new additions are very welcome and make for a refined, desirable device. If you've got the cash to splash, it's a sweet device. It's just a shame that the memory crisis has killed handheld market prices. </p></article></section> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/handheld-gaming-pcs/xbox-ally-x-20-vs-xbox-ally-x-a-wickedly-bright-oled-screen-and-frosty-temps-make-for-a-begrudgingly-attractive-upgrade-for-the-asus-handheld/</link>
                                                                            <description>
                            <![CDATA[ All that glitters might actually be gold. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3fgf452ReAUkfhvUqtjo69</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ix9CtVVraJHE4czdR72sn3-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 13:07:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Handheld Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ix9CtVVraJHE4czdR72sn3-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asus ROG Xbox Ally X20 gaming handheld]]></media:description>                                                            <media:text><![CDATA[Asus ROG Xbox Ally X20 gaming handheld]]></media:text>
                                <media:title type="plain"><![CDATA[Asus ROG Xbox Ally X20 gaming handheld]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ix9CtVVraJHE4czdR72sn3-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>So, you've seen the Asus ROG Xbox Ally X20 in all its black and gold glory and wondered if it's worth paying $300 more for it. Well, the answer is 'it really depends on what kind of device you are looking for' and 'how much is a fresh OLED screen worth to you?' </p><p>Unlike the other ROG 20th anniversary edition bits of Asus gear, the X20 is not about superfluous add-ons (unless you pick up the bundle with XR glasses). You aren't getting a commemorative faceplate here, or extra stickers. You get an OLED screen, TMR thumbsticks, improved thermals, and MicroSD Express compatibility. </p><p>You also get Impulse triggers, which means they can rumble independently, and the D-Pad can be flicked around to make the corners more or less pronounced. </p><p>The screen is perhaps the biggest sell here, with its 1400 HDR-certified display going up to a peak brightness of 1,400 nits. As I found in <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x20-review" target="_blank">my review</a>, it's so sizzlingly bright at points that I looked at the sun in Cyberpunk 2077 while lying in bed one night and actually winced. Check out the full differences below. </p><div ><table><caption>Asus ROG Xbox Ally X20 vs Xbox Ally X</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Asus ROG Xbox Ally X20</strong></p></td><td  ><p><strong>Asus ROG Xbox Ally X</strong></p></td></tr><tr><td class="firstcol " ><p>Processor</p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td><td  ><p>AMD Ryzen Z2 Extreme</p></td></tr><tr><td class="firstcol " ><p>CPU architecture</p></td><td  ><p>Zen 5 / Zen 5c</p></td><td  ><p>Zen 5 / Zen 5c</p></td></tr><tr><td class="firstcol " ><p>Core / threads</p></td><td  ><p>8 / 16</p></td><td  ><p>8 / 16</p></td></tr><tr><td class="firstcol " ><p>CPU boost clock</p></td><td  ><p>5 GHz</p></td><td  ><p>5 GHz</p></td></tr><tr><td class="firstcol " ><p>GPU architecture</p></td><td  ><p>RDNA 3.5</p></td><td  ><p>RDNA 3.5</p></td></tr><tr><td class="firstcol " ><p>Shader count</p></td><td  ><p>1024</p></td><td  ><p>1024</p></td></tr><tr><td class="firstcol " ><p>GPU boost clock</p></td><td  ><p>2.9 GHz</p></td><td  ><p>2.9 GHz</p></td></tr><tr><td class="firstcol " ><p>VRAM</p></td><td  ><p>8 GB (shared, adjustable)</p></td><td  ><p>8 GB (shared, adjustable)</p></td></tr><tr><td class="firstcol " ><p>Memory</p></td><td  ><p>24 GB LPDDR5X</p></td><td  ><p>24 GB LPDDR5X</p></td></tr><tr><td class="firstcol " ><p>Screen</p></td><td  ><p>7.4-inch OLED display</p></td><td  ><p>7-inch IPS LCD display</p></td></tr><tr><td class="firstcol " ><p>Resolution / refresh rate</p></td><td  ><p>1920 x 1080 / 120 Hz</p></td><td  ><p>1920 x 1080 / 120 Hz</p></td></tr><tr><td class="firstcol " ><p>Peak brightness</p></td><td  ><p>1400 nits</p></td><td  ><p>500 nits</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td><td  ><p>1 TB PCIe 4.0 NVMe M.2 2280 SSD</p></td></tr><tr><td class="firstcol " ><p>Thumbsticks</p></td><td  ><p>TMR</p></td><td  ><p>Magnetic</p></td></tr><tr><td class="firstcol " ><p>Connectivity </p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD Express card reader</p><p>1x 3.5 mm combo jack</p></td><td  ><p>1x USB4 Type-C with DP 2.1 / PD 3.0 / TB 4 compatible</p><p>1x USB 3.2 Gen with DP 2.1 / PD 3.0</p><p>1x UHS-II microSD card reader</p><p>1x 3.5 mm combo jack</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>30.0 x 12.1 x 5.13 cm</p></td><td  ><p>29 x 12.1 x 5.07 cm</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>80 Wh</p></td><td  ><p>80 Wh</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>756 g</p></td><td  ><p>715 g</p></td></tr><tr><td class="firstcol " ><p>Price</p></td><td  ><p><a href="https://rog.asus.com/us/gaming-handhelds/rog-ally/rog-xbox-ally-x20-2026/wtb/" target="_blank">$1,300</a>  / <a href="https://uk.store.asus.com/rog-xbox-ally-x20.html" target="_blank">£1300</a></p></td><td  ><p><a href="https://bestbuy.7tiv.net/c/1943169/614286/10014?subId1=pcg-gb-6459252765237501214&sharedId=pcg-gb&u=https%3A%2F%2Fwww.bestbuy.com%2Fproduct%2Frog-xbox-ally-x-7-fhd-120hz-gaming-handheld-amd-ryzen-ai-z2-extreme-processor-24gb-with-1tb-ssd-windows%2FJJGHGPLVHW" target="_blank">$1,000</a> / <a href="https://www.awin1.com/awclick.php?awinmid=31726&awinaffid=103504&clickref=pcg-gb-6290159269328242922&p=https%3A%2F%2Fuk.store.asus.com%2Frog-xbox-ally-x.html" target="_blank">£900</a> (MSRP)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-asus-rog-xbox-ally-x20-vs-asus-rog-xbox-ally-x-performance"><span>Asus ROG Xbox Ally X20 vs Asus ROG Xbox Ally X: Performance</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792067331437-296yhmu7w *, #fv-chart-1792067331437-296yhmu7w *:before, #fv-chart-1792067331437-296yhmu7w *:after, #fv-chart-1792067331437-296yhmu7w-slideshow *, #fv-chart-1792067331437-296yhmu7w-slideshow *:before, #fv-chart-1792067331437-296yhmu7w-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792067331437-296yhmu7w, #fv-chart-1792067331437-296yhmu7w-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067331437-296yhmu7w { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792067331437-296yhmu7w .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792067331437-296yhmu7w .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792067331437-296yhmu7w.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792067331437-296yhmu7w.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067331437-296yhmu7w .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067331437-296yhmu7w-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn.disabled, #fv-chart-1792067331437-296yhmu7w-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792067331437-296yhmu7w-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792067331437-296yhmu7w .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792067331437-296yhmu7w .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792067331437-296yhmu7w .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792067331437-296yhmu7w .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792067331437-296yhmu7w .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792067331437-296yhmu7w .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792067331437-296yhmu7w .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792067331437-296yhmu7w .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792067331437-296yhmu7w .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067331437-296yhmu7w .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067331437-296yhmu7w .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792067331437-296yhmu7w .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792067331437-296yhmu7w .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792067331437-296yhmu7w .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792067331437-296yhmu7w .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792067331437-296yhmu7w .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-row, #fv-chart-1792067331437-296yhmu7w .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792067331437-296yhmu7w.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792067331437-296yhmu7w .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792067331437-296yhmu7w .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792067331437-296yhmu7w .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792067331437-296yhmu7w .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067331437-296yhmu7w .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-pie-container, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stacked-product, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-grouped-bar-product, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stacked-product, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-label, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-grouped-product-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-label, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-container, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-cluster, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-container, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-x-axis-wrapper, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-x-axis-label-space, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-x-axis-chart-space, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-benchmark-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-dropdown-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-carousel-nav-btn, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-chart-title, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-chart-subhead, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-header, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-wrapper, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-vs, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select-container, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-versus-select, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067331437-296yhmu7w.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792067331437-296yhmu7w .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-row, #fv-chart-1792067331437-296yhmu7w .fv-stacked-product, #fv-chart-1792067331437-296yhmu7w .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-label, #fv-chart-1792067331437-296yhmu7w .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-container, #fv-chart-1792067331437-296yhmu7w .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067331437-296yhmu7w .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067331437-296yhmu7w .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067331437-296yhmu7w .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067331437-296yhmu7w .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067331437-296yhmu7w .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-logo, #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067331437-296yhmu7w .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067331437-296yhmu7w .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067331437-296yhmu7w .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067331437-296yhmu7w.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Performance test",  "description": "In a handful of games and productivity apps (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:28:51.438Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Xbox Ally X",    "Asus ROG Xbox Ally X20",    "3DMark Time Spy",    "3DMark Storage",    "FFXIV Shadowbringers",    "Black Myth Wukong (1080p Medium)",    "Black Myth Wukong | Upscaling (1080p Medium)",    "Cyberpunk 2077 (1080p Medium)",    "Cyberpunk 2077 | Upscaling (1080p Medium)",    "F1 24 (1080p Medium)",    "F1 24 | Upscaling (1080p Medium)",    "Horizon Zero Dawn (1080p Original)",    "Horizon Zero Dawn | Upscaling (1080p Original)",    "Metro Exodus Enhanced (1080p High)",    "7-zip",    "Cinebench R24",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – 3DMark Time Spy",      "value": 4033,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Time Spy",      "value": 4086,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – 3DMark Storage",      "value": 1163,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 3DMark Storage",      "value": 1233,      "unitText": "Index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – FFXIV Shadowbringers",      "value": 18.91,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – FFXIV Shadowbringers",      "value": 21.4,      "unitText": "Total load time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Black Myth Wukong (1080p Medium)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong (1080p Medium)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 39,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Black Myth Wukong | Upscaling (1080p Medium)",      "value": 40,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Cyberpunk 2077 (1080p Medium)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 (1080p Medium)",      "value": 42,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 53,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cyberpunk 2077 | Upscaling (1080p Medium)",      "value": 58,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – F1 24 (1080p Medium)",      "value": 84,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 (1080p Medium)",      "value": 85,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – F1 24 | Upscaling (1080p Medium)",      "value": 97,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – F1 24 | Upscaling (1080p Medium)",      "value": 96,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Horizon Zero Dawn (1080p Original)",      "value": 48,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn (1080p Original)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 70,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Horizon Zero Dawn | Upscaling (1080p Original)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Metro Exodus Enhanced (1080p High)",      "value": 27,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Metro Exodus Enhanced (1080p High)",      "value": 22,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – 7-zip",      "value": 81.14,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – 7-zip",      "value": 81.77,      "unitText": "Compression (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Cinebench R24",      "value": 111,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Cinebench R24",      "value": 110,      "unitText": "Single-core index score"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:28:51.438Z","state":{"data":[{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Time Spy","value":4033,"unit":"Index score","multiValues":[{"value":4033,"unit":"Index score"},{"value":3663,"unit":"GPU index score"},{"value":9462,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Storage","value":1163,"unit":"Index score","multiValues":[{"value":1163,"unit":"Index score"},{"value":199.98,"unit":"Avg bandwidth (MB/s)"},{"value":155,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"FFXIV Shadowbringers","value":18.91,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":39,"unit":"Avg FPS","multiValues":[{"value":39,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":53,"unit":"Avg FPS","multiValues":[{"value":53,"unit":"Avg FPS"},{"value":44,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 (1080p Medium)","value":84,"unit":"Avg FPS","multiValues":[{"value":84,"unit":"Avg FPS"},{"value":76,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":97,"unit":"Avg FPS","multiValues":[{"value":97,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":48,"unit":"Avg FPS","multiValues":[{"value":48,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":70,"unit":"Avg FPS","multiValues":[{"value":70,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":27,"unit":"Avg FPS","multiValues":[{"value":27,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"7-zip","value":81.14,"unit":"Compression (GIPS)","multiValues":[{"value":81.14,"unit":"Compression (GIPS)"},{"value":86.54,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":762,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Battery life | PCMark 10","value":125,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Thermal performance","value":96,"unit":"Max CPU temp (°C)","multiValues":[{"value":96,"unit":"Max CPU temp (°C)"},{"value":55,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24"],"productColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"initialProductColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Dropdown","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Performance test","subhead":"In a handful of games and productivity apps (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792067331437-296yhmu7w" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Performance test</h3><p class="fv-chart-subhead">In a handful of games and productivity apps (35 W plugged in)</p><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">3DMark Time Spy</option><option value="1">3DMark Storage</option><option value="2">FFXIV Shadowbringers</option><option value="3">Black Myth Wukong (1080p Medium)</option><option value="4">Black Myth Wukong | Upscaling (1080p Medium)</option><option value="5">Cyberpunk 2077 (1080p Medium)</option><option value="6">Cyberpunk 2077 | Upscaling (1080p Medium)</option><option value="7">F1 24 (1080p Medium)</option><option value="8">F1 24 | Upscaling (1080p Medium)</option><option value="9">Horizon Zero Dawn (1080p Original)</option><option value="10">Horizon Zero Dawn | Upscaling (1080p Original)</option><option value="11">Metro Exodus Enhanced (1080p High)</option><option value="12">7-zip</option><option value="13">Cinebench R24</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-3DMark Time Spy" data-chart-type="Bar" data-title="3DMark Time Spy" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>GPU index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>CPU index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.33%; background-color: #E33235;" data-target-width="40.33" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4033</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.63%; background-color: #FE9F58;" data-target-width="36.63" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3663</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 94.62%; background-color: #1CA9C4;" data-target-width="94.62" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9462</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.86%; background-color: #E33235;" data-target-width="40.86" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4086</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.71%; background-color: #FE9F58;" data-target-width="37.71" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3771</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95.67999999999999%; background-color: #1CA9C4;" data-target-width="95.67999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">9568</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>2,500</span><span>5,000</span><span>7,500</span><span>10,000</span></div></div></div><table class="sr-only"><caption>3DMark Time Spy Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>4033 Index score, 3663 GPU index score, 9462 CPU index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>4086 Index score, 3771 GPU index score, 9568 CPU index score</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-3DMark Storage" data-chart-type="Bar" data-title="3DMark Storage" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Avg bandwidth (MB/s)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div><span>Access time (ųs)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.53333333333333%; background-color: #E33235;" data-target-width="77.53333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1163</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.331999999999999%; background-color: #FE9F58;" data-target-width="13.331999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">199.98</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 10.333333333333334%; background-color: #1CA9C4;" data-target-width="10.333333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">155</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.19999999999999%; background-color: #E33235;" data-target-width="82.19999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1233</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 14.025333333333334%; background-color: #FE9F58;" data-target-width="14.025333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">210.38</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 9.666666666666666%; background-color: #1CA9C4;" data-target-width="9.666666666666666" data-target-margin="0"></div><span class="fv-bar-value-outside">145</span></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>375</span><span>750</span><span>1,125</span><span>1,500</span></div></div></div><table class="sr-only"><caption>3DMark Storage Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>1163 Index score, 199.98 Avg bandwidth (MB/s), 155 Access time (ųs)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>1233 Index score, 210.38 Avg bandwidth (MB/s), 145 Access time (ųs)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-FFXIV Shadowbringers" data-chart-type="Bar" data-title="FFXIV Shadowbringers" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 63.03333333333333%; background-color: #E33235;" data-target-width="63.03333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18.91</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 71.33333333333333%; background-color: #FE9F58;" data-target-width="71.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21.4</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div><div class="fv-x-axis-unit">Total load time (seconds)</div></div></div><table class="sr-only"><caption>FFXIV Shadowbringers Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>18.91</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>21.4</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Black Myth Wukong (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.66666666666667%; background-color: #E33235;" data-target-width="86.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.33333333333333%; background-color: #FE9F58;" data-target-width="63.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.66666666666667%; background-color: #E33235;" data-target-width="86.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 63.33333333333333%; background-color: #FE9F58;" data-target-width="63.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">19</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>26 Avg FPS, 19 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>26 Avg FPS, 19 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Black Myth Wukong | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Black Myth Wukong | Upscaling (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.5%; background-color: #E33235;" data-target-width="97.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #FE9F58;" data-target-width="75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.5%; background-color: #FE9F58;" data-target-width="87.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>10</span><span>20</span><span>30</span><span>40</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>39 Avg FPS, 30 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>40 Avg FPS, 35 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Cyberpunk 2077 (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #FE9F58;" data-target-width="56.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>41 Avg FPS, 34 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>42 Avg FPS, 33 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Cyberpunk 2077 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="Cyberpunk 2077 | Upscaling (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.33333333333333%; background-color: #E33235;" data-target-width="88.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #FE9F58;" data-target-width="73.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96.66666666666667%; background-color: #E33235;" data-target-width="96.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #FE9F58;" data-target-width="66.66666666666666" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>53 Avg FPS, 44 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>58 Avg FPS, 40 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-F1 24 (1080p Medium)" data-chart-type="Bar" data-title="F1 24 (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76%; background-color: #FE9F58;" data-target-width="76" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61%; background-color: #FE9F58;" data-target-width="61" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>F1 24 (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>84 Avg FPS, 76 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>85 Avg FPS, 61 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-F1 24 | Upscaling (1080p Medium)" data-chart-type="Bar" data-title="F1 24 | Upscaling (1080p Medium)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97%; background-color: #E33235;" data-target-width="97" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">97</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #FE9F58;" data-target-width="88" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">88</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96%; background-color: #E33235;" data-target-width="96" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #FE9F58;" data-target-width="72" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>F1 24 | Upscaling (1080p Medium) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>97 Avg FPS, 88 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>96 Avg FPS, 72 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Horizon Zero Dawn (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn (1080p Original)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 25%; background-color: #FE9F58;" data-target-width="25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>48 Avg FPS, 15 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>51 Avg FPS, 18 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Horizon Zero Dawn | Upscaling (1080p Original)" data-chart-type="Bar" data-title="Horizon Zero Dawn | Upscaling (1080p Original)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.5%; background-color: #E33235;" data-target-width="87.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">70</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 22.5%; background-color: #FE9F58;" data-target-width="22.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">18</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">69</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.25%; background-color: #FE9F58;" data-target-width="31.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Horizon Zero Dawn | Upscaling (1080p Original) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>70 Avg FPS, 18 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>69 Avg FPS, 25 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Metro Exodus Enhanced (1080p High)" data-chart-type="Bar" data-title="Metro Exodus Enhanced (1080p High)" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #FE9F58;" data-target-width="43.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>7.5</span><span>15</span><span>22.5</span><span>30</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced (1080p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>27 Avg FPS, 15 1% Low FPS</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>22 Avg FPS, 13 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-7-zip" data-chart-type="Bar" data-title="7-zip" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Compression (GIPS)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Decompression (GIPS)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.14%; background-color: #E33235;" data-target-width="81.14" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81.14</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.54%; background-color: #FE9F58;" data-target-width="86.54" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">86.54</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.77%; background-color: #E33235;" data-target-width="81.77" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">81.77</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85.5%; background-color: #FE9F58;" data-target-width="85.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85.5</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>7-zip Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>81.14 Compression (GIPS), 86.54 Decompression (GIPS)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>81.77 Compression (GIPS), 85.5 Decompression (GIPS)</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1792067331437-296yhmu7w-bar-Cinebench R24" data-chart-type="Bar" data-title="Cinebench R24" data-subhead="In a handful of games and productivity apps (35 W plugged in)" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Single-core index score</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Multi-core index score</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.875000000000002%; background-color: #E33235;" data-target-width="13.875000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95.25%; background-color: #FE9F58;" data-target-width="95.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">762</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.750000000000002%; background-color: #E33235;" data-target-width="13.750000000000002" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">110</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #FE9F58;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">800</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>200</span><span>400</span><span>600</span><span>800</span></div></div></div><table class="sr-only"><caption>Cinebench R24 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>111 Single-core index score, 762 Multi-core index score</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>110 Single-core index score, 800 Multi-core index score</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792067331437-296yhmu7w', false); });      } else {        initialize('fv-chart-1792067331437-296yhmu7w', false);      }    })();      </script></div><p>With both devices featuring the same chip and memory, you can expect more or less the same performance. In my testing, I got lower Metro performance and worse 1% lows in F1 25, but better performance in Horizon Zero Dawn, Cyberpunk 2077 and 3DMark, so the framerate differences overall just about balance out. I also noticed the X20 never went above 49 watts, which means I would feel more comfortable cranking up the wattage. It helps that its thermals are much improved. </p><h2 class="article-body__section" id="section-asus-rog-xbox-ally-x20-vs-asus-rog-xbox-ally-x-thermals"><span>Asus ROG Xbox Ally X20 vs Asus ROG Xbox Ally X: Thermals</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792067276603-y5jq2ysri *, #fv-chart-1792067276603-y5jq2ysri *:before, #fv-chart-1792067276603-y5jq2ysri *:after, #fv-chart-1792067276603-y5jq2ysri-slideshow *, #fv-chart-1792067276603-y5jq2ysri-slideshow *:before, #fv-chart-1792067276603-y5jq2ysri-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792067276603-y5jq2ysri, #fv-chart-1792067276603-y5jq2ysri-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067276603-y5jq2ysri { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792067276603-y5jq2ysri .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792067276603-y5jq2ysri .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792067276603-y5jq2ysri.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067276603-y5jq2ysri .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn.disabled, #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792067276603-y5jq2ysri-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792067276603-y5jq2ysri .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792067276603-y5jq2ysri .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792067276603-y5jq2ysri .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792067276603-y5jq2ysri .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792067276603-y5jq2ysri .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792067276603-y5jq2ysri.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792067276603-y5jq2ysri .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792067276603-y5jq2ysri .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067276603-y5jq2ysri .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-pie-container, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stacked-product, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-grouped-bar-product, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stacked-product, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-label, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-grouped-product-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-label, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-container, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-cluster, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-container, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-x-axis-wrapper, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-x-axis-label-space, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-x-axis-chart-space, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-benchmark-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-dropdown-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-carousel-nav-btn, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-chart-title, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-chart-subhead, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-header, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-wrapper, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-vs, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select-container, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-versus-select, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067276603-y5jq2ysri.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792067276603-y5jq2ysri .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-row, #fv-chart-1792067276603-y5jq2ysri .fv-stacked-product, #fv-chart-1792067276603-y5jq2ysri .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-label, #fv-chart-1792067276603-y5jq2ysri .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-container, #fv-chart-1792067276603-y5jq2ysri .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067276603-y5jq2ysri .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067276603-y5jq2ysri .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067276603-y5jq2ysri .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-logo, #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067276603-y5jq2ysri .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067276603-y5jq2ysri .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067276603-y5jq2ysri .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067276603-y5jq2ysri.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming test thermals",  "description": "Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:27:56.604Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Xbox Ally X",    "Asus ROG Xbox Ally X20",    "Thermal performance",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Thermal performance",      "value": 96,      "unitText": "Max CPU temp (°C)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Thermal performance",      "value": 79,      "unitText": "Max CPU temp (°C)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:27:56.604Z","state":{"data":[{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Time Spy","value":4033,"unit":"Index score","multiValues":[{"value":4033,"unit":"Index score"},{"value":3663,"unit":"GPU index score"},{"value":9462,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Storage","value":1163,"unit":"Index score","multiValues":[{"value":1163,"unit":"Index score"},{"value":199.98,"unit":"Avg bandwidth (MB/s)"},{"value":155,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"FFXIV Shadowbringers","value":18.91,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":39,"unit":"Avg FPS","multiValues":[{"value":39,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":53,"unit":"Avg FPS","multiValues":[{"value":53,"unit":"Avg FPS"},{"value":44,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 (1080p Medium)","value":84,"unit":"Avg FPS","multiValues":[{"value":84,"unit":"Avg FPS"},{"value":76,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":97,"unit":"Avg FPS","multiValues":[{"value":97,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":48,"unit":"Avg FPS","multiValues":[{"value":48,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":70,"unit":"Avg FPS","multiValues":[{"value":70,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":27,"unit":"Avg FPS","multiValues":[{"value":27,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"7-zip","value":81.14,"unit":"Compression (GIPS)","multiValues":[{"value":81.14,"unit":"Compression (GIPS)"},{"value":86.54,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":762,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Battery life | PCMark 10","value":125,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Thermal performance","value":96,"unit":"Max CPU temp (°C)","multiValues":[{"value":96,"unit":"Max CPU temp (°C)"},{"value":55,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Thermal performance"],"productColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"initialProductColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming test thermals","subhead":"Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792067276603-y5jq2ysri" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming test thermals</h3><p class="fv-chart-subhead">Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792067276603-y5jq2ysri-bar-Thermal performance" data-chart-type="Bar" data-title="Thermal performance" data-subhead="Recorded in HW Info whilst performing gaming benchmarks (35 W plugged in)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Thermal performance</h4><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Max CPU temp (°C)</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>Max CPU package power (W)</span></div></div><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96%; background-color: #E33235;" data-target-width="96" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Thermal performance Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>96 Max CPU temp (°C), 55 Max CPU package power (W)</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>79 Max CPU temp (°C), 48 Max CPU package power (W)</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792067276603-y5jq2ysri', false); });      } else {        initialize('fv-chart-1792067276603-y5jq2ysri', false);      }    })();      </script></div><p>The X20 comes with a refined new thermal cooling system, and it's more than just a marketing term. I recorded temps up to 17 °C  cooler compared to the previous model, and even in long gaming sessions, I couldn't manage to push the system's temp above 80°C with its included wattage modes (between 17 W and 35 W). Importantly, I never felt that heat on my fingers as I played, making it a relatively frosty gaming device. </p><h2 class="article-body__section" id="section-asus-rog-xbox-ally-x20-vs-asus-rog-xbox-ally-x-battery-life"><span>Asus ROG Xbox Ally X20 vs Asus ROG Xbox Ally X: Battery life</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1792067743562-at1ybeld5 *, #fv-chart-1792067743562-at1ybeld5 *:before, #fv-chart-1792067743562-at1ybeld5 *:after, #fv-chart-1792067743562-at1ybeld5-slideshow *, #fv-chart-1792067743562-at1ybeld5-slideshow *:before, #fv-chart-1792067743562-at1ybeld5-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1792067743562-at1ybeld5, #fv-chart-1792067743562-at1ybeld5-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067743562-at1ybeld5 { position: relative !important; overflow: visible !important; --riv-primary: #E33235; } #fv-chart-1792067743562-at1ybeld5 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ededed !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1792067743562-at1ybeld5 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1792067743562-at1ybeld5.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1792067743562-at1ybeld5.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067743562-at1ybeld5 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1792067743562-at1ybeld5-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #E33235; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn.disabled, #fv-chart-1792067743562-at1ybeld5-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1792067743562-at1ybeld5-slideshow .fv-slideshow-select:focus { outline: 2px solid #E33235 !important; border-color: #E33235 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1792067743562-at1ybeld5 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1792067743562-at1ybeld5 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1792067743562-at1ybeld5 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1792067743562-at1ybeld5 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1792067743562-at1ybeld5 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-row, #fv-chart-1792067743562-at1ybeld5 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1792067743562-at1ybeld5.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1792067743562-at1ybeld5 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1792067743562-at1ybeld5 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067743562-at1ybeld5 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-pie-container, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stacked-product, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-grouped-bar-product, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stacked-product, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-label, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-grouped-product-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-label, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-container, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-cluster, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-container, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-x-axis-wrapper, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-x-axis-label-space, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-x-axis-chart-space, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-benchmark-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-dropdown-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-carousel-nav-btn, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-chart-title, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-chart-subhead, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-header, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-wrapper, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-vs, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select-container, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-versus-select, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-btn, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-logo, #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-icon, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067743562-at1ybeld5.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1792067743562-at1ybeld5 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-row, #fv-chart-1792067743562-at1ybeld5 .fv-stacked-product, #fv-chart-1792067743562-at1ybeld5 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-label, #fv-chart-1792067743562-at1ybeld5 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-container, #fv-chart-1792067743562-at1ybeld5 .fv-bar-cluster { width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1792067743562-at1ybeld5 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1792067743562-at1ybeld5 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-label-space { display: none !important; } #fv-chart-1792067743562-at1ybeld5 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-logo, #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1792067743562-at1ybeld5 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1792067743562-at1ybeld5 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1792067743562-at1ybeld5 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1792067743562-at1ybeld5.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming battery life",  "description": "Recorded using PCMark 10's gaming battery life test (25 W)",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-10-15T12:35:43.562Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Asus ROG Xbox Ally X",    "Asus ROG Xbox Ally X20",    "Battery life | PCMark 10",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X – Battery life | PCMark 10",      "value": 125,      "unitText": "Battery life (minutes)"    },    {      "@type": "PropertyValue",      "name": "Asus ROG Xbox Ally X20 – Battery life | PCMark 10",      "value": 149,      "unitText": "Battery life (minutes)"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-10-15T12:35:43.562Z","state":{"data":[{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Time Spy","value":4033,"unit":"Index score","multiValues":[{"value":4033,"unit":"Index score"},{"value":3663,"unit":"GPU index score"},{"value":9462,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"3DMark Storage","value":1163,"unit":"Index score","multiValues":[{"value":1163,"unit":"Index score"},{"value":199.98,"unit":"Avg bandwidth (MB/s)"},{"value":155,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"FFXIV Shadowbringers","value":18.91,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":39,"unit":"Avg FPS","multiValues":[{"value":39,"unit":"Avg FPS"},{"value":30,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 (1080p Medium)","value":41,"unit":"Avg FPS","multiValues":[{"value":41,"unit":"Avg FPS"},{"value":34,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":53,"unit":"Avg FPS","multiValues":[{"value":53,"unit":"Avg FPS"},{"value":44,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 (1080p Medium)","value":84,"unit":"Avg FPS","multiValues":[{"value":84,"unit":"Avg FPS"},{"value":76,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"F1 24 | Upscaling (1080p Medium)","value":97,"unit":"Avg FPS","multiValues":[{"value":97,"unit":"Avg FPS"},{"value":88,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn (1080p Original)","value":48,"unit":"Avg FPS","multiValues":[{"value":48,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":70,"unit":"Avg FPS","multiValues":[{"value":70,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Metro Exodus Enhanced (1080p High)","value":27,"unit":"Avg FPS","multiValues":[{"value":27,"unit":"Avg FPS"},{"value":15,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"7-zip","value":81.14,"unit":"Compression (GIPS)","multiValues":[{"value":81.14,"unit":"Compression (GIPS)"},{"value":86.54,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Cinebench R24","value":111,"unit":"Single-core index score","multiValues":[{"value":111,"unit":"Single-core index score"},{"value":762,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Battery life | PCMark 10","value":125,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X","attribute":"Thermal performance","value":96,"unit":"Max CPU temp (°C)","multiValues":[{"value":96,"unit":"Max CPU temp (°C)"},{"value":55,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Time Spy","value":4086,"unit":"Index score","multiValues":[{"value":4086,"unit":"Index score"},{"value":3771,"unit":"GPU index score"},{"value":9568,"unit":"CPU index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"3DMark Storage","value":1233,"unit":"Index score","multiValues":[{"value":1233,"unit":"Index score"},{"value":210.38,"unit":"Avg bandwidth (MB/s)"},{"value":145,"unit":"Access time (ųs)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"FFXIV Shadowbringers","value":21.4,"unit":"Total load time (seconds)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong (1080p Medium)","value":26,"unit":"Avg FPS","multiValues":[{"value":26,"unit":"Avg FPS"},{"value":19,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Black Myth Wukong | Upscaling (1080p Medium)","value":40,"unit":"Avg FPS","multiValues":[{"value":40,"unit":"Avg FPS"},{"value":35,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 (1080p Medium)","value":42,"unit":"Avg FPS","multiValues":[{"value":42,"unit":"Avg FPS"},{"value":33,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cyberpunk 2077 | Upscaling (1080p Medium)","value":58,"unit":"Avg FPS","multiValues":[{"value":58,"unit":"Avg FPS"},{"value":40,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 (1080p Medium)","value":85,"unit":"Avg FPS","multiValues":[{"value":85,"unit":"Avg FPS"},{"value":61,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"F1 24 | Upscaling (1080p Medium)","value":96,"unit":"Avg FPS","multiValues":[{"value":96,"unit":"Avg FPS"},{"value":72,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn (1080p Original)","value":51,"unit":"Avg FPS","multiValues":[{"value":51,"unit":"Avg FPS"},{"value":18,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Horizon Zero Dawn | Upscaling (1080p Original)","value":69,"unit":"Avg FPS","multiValues":[{"value":69,"unit":"Avg FPS"},{"value":25,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Metro Exodus Enhanced (1080p High)","value":22,"unit":"Avg FPS","multiValues":[{"value":22,"unit":"Avg FPS"},{"value":13,"unit":"1% Low FPS"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"7-zip","value":81.77,"unit":"Compression (GIPS)","multiValues":[{"value":81.77,"unit":"Compression (GIPS)"},{"value":85.5,"unit":"Decompression (GIPS)"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Cinebench R24","value":110,"unit":"Single-core index score","multiValues":[{"value":110,"unit":"Single-core index score"},{"value":800,"unit":"Multi-core index score"}],"color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Battery life | PCMark 10","value":149,"unit":"Battery life (minutes)","color":"","site":"PC Gamer"},{"productName":"Asus ROG Xbox Ally X20","attribute":"Thermal performance","value":79,"unit":"Max CPU temp (°C)","multiValues":[{"value":79,"unit":"Max CPU temp (°C)"},{"value":48,"unit":"Max CPU package power (W)"}],"color":"","site":"PC Gamer"}],"products":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"attributes":["3DMark Time Spy","3DMark Storage","FFXIV Shadowbringers","Black Myth Wukong (1080p Medium)","Black Myth Wukong | Upscaling (1080p Medium)","Cyberpunk 2077 (1080p Medium)","Cyberpunk 2077 | Upscaling (1080p Medium)","F1 24 (1080p Medium)","F1 24 | Upscaling (1080p Medium)","Horizon Zero Dawn (1080p Original)","Horizon Zero Dawn | Upscaling (1080p Original)","Metro Exodus Enhanced (1080p High)","7-zip","Cinebench R24","Battery life | PCMark 10","Thermal performance"],"selectedProducts":["Asus ROG Xbox Ally X","Asus ROG Xbox Ally X20"],"selectedPrimaryProduct":"Asus ROG Xbox Ally X20","selectedAttributes":["Battery life | PCMark 10"],"productColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"initialProductColors":[{"productName":"Asus ROG Xbox Ally X","color":"#E33235"},{"productName":"Asus ROG Xbox Ally X20","color":"#FE9F58"}],"attributeColors":[],"attributeGroups":[],"chartType":"Bar","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"PC Gamer","logoUrl":"https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png","sliderLogoShape":"square","embedBg":"#ededed","colors":{"primary":"#E33235","secondary":"#FE9F58","accent":"#1CA9C4","background":"#ededed","text":"#1F2937","productColors":["#E33235","#FE9F58","#1CA9C4","#EB6F71","#FFC08B","#66C5D7","#B5282A","#D07F46"]}},"textContent":{"title":"Gaming battery life","subhead":"Recorded using PCMark 10's gaming battery life test (25 W)","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1792067743562-at1ybeld5" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming battery life</h3><p class="fv-chart-subhead">Recorded using PCMark 10's gaming battery life test (25 W)</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1792067743562-at1ybeld5-bar-Battery life | PCMark 10" data-chart-type="Bar" data-title="Battery life | PCMark 10" data-subhead="Recorded using PCMark 10's gaming battery life test (25 W)" data-caption="" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Battery life | PCMark 10</h4><div class="fv-bar-row"><div class="fv-bar-label ">Asus ROG Xbox Ally X</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 83.33333333333334%; background-color: #E33235;" data-target-width="83.33333333333334" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">125</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Asus ROG Xbox Ally X20</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 99.33333333333333%; background-color: #FE9F58;" data-target-width="99.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">149</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div><div class="fv-x-axis-unit">Battery life (minutes)</div></div></div><table class="sr-only"><caption>Battery life | PCMark 10 Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Asus ROG Xbox Ally X</td><td>125</td></tr><tr><td>Asus ROG Xbox Ally X20</td><td>149</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1792067743562-at1ybeld5', false); });      } else {        initialize('fv-chart-1792067743562-at1ybeld5', false);      }    })();      </script></div><p>In stress testing gaming benchmarks, the X20 managed 2 hours and 9 minutes in the 25 W gaming mode, and almost 3 hours in the 17 W mode. Importantly, it can get up to 9 hours of indie gaming on the go, in my experience. The standard X model has the exact same size battery, so you can expect a similar battery life, though our testing saw it perform a little under the X20. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ycvmicSRpiengC9Dnsbpn3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qoLyjbhMierWTsuYREdvq3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7pbwxxmKixk9SPYanvUZj3-1920-80.jpg" alt="Asus ROG Xbox Ally X20 gaming handheld" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Though you're getting similar performance figures, the day-to-day use of the Ally X20 is superior from my experience. The screen is gorgeous and super bright, all the buttons feel superb under the fingers, it's super quiet (unless you want it to be loud), and it looks phenomenal. </p><p>As well as all of this, those frosty temps mean you can shove up the wattage if you want, or just have a ton of headroom to avoid throttling in the future. I would really struggle to want to spend over $1,000 on any gaming handheld right now, but if I were flush with cash, I would be majorly tempted to pop the X20 in my basket. </p><section class="article__schema-question"><h3>Should you upgrade to the Asus ROG Xbox Ally X20?</h3><article class="article__schema-answer"><p>If you already have the Xbox Ally X, I wouldn't recommend spending another $1,300 to get a better screen, thermals and TMR sticks (plus some little extras). If, however, you're deciding between the two, I can say that the new additions are very welcome and make for a refined, desirable device. If you've got the cash to splash, it's a sweet device. It's just a shame that the memory crisis has killed handheld market prices. </p></article></section>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ A co-op survival game where trolls aren't just there to be killed? 'We don't talk about them as enemies, but rather as neighbors' ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/PS75sHVT0kM" allowfullscreen></iframe></div></div><p>A deep forest of towering trees can be an intimidating place, especially if you're only three inches tall. In co-op PvE survival game <a href="https://store.steampowered.com/app/4139890/TROLLHEIM_GNOMES/">Trollheim: Gnomes</a>, you're a wee little Sprýg Gnome looking for a new place to call home after Oden has driven you from Midgård.</p><p>That home is a dense, dark forest, and you're not the only one seeking refuge there. In addition to foraging, exploring, building your home, and dealing with survival systems like cold and hunger, your gnome will have to contend with other residents of the forest, which the Trollheim devs call väsen.</p><p>Väsen can be faeries, sirens, and you guessed it, trolls. But unlike the trolls in another <a href="https://www.pcgamer.com/games/survival-crafting/valheim-review/">'heim I could name</a>, Trollheim's trolls aren't just there to ruin your day with a well-swung tree trunk or to be defeated for their resource drops.</p><p>"When we talk about our NPCs, we don't talk about them as enemies, but rather as neighbors," said Jojje Dalunde, game director at Off-leash Interactive. "Because that's really what they are, and as you know, you can have good neighbors and you can have bad neighbors. In this game, you as a player get to choose if you are going to be a good neighbor or a bad neighbor. And the väsen in this world will react to how you interact with them and how you behave."</p><p>In the presentation, the trolls didn't look particularly friendly, yelling warnings at gnomes who go too close, throwing things at them, and swinging their fists. But that doesn't necessarily make them bad guys, does it? Maybe the gnome is on their turf, intruding on their homeland, and maybe this troll hasn't had great interactions with gnomes in the past.</p><p>Of course, it's your choice: if you want to attack the väsen instead of befriending them you can… but isn't the idea of making friends with the so-called "monsters" a fun one? (If I could give gifts to the trolls in Valheim, I definitely would. Anything to stop them from raiding my base.)</p><p>If you accidentally (or purposefully) make an enemy of one of your neighbors, it's not the end of the world, either. "There are ways to befriend väsen that you may have crossed," Dalunde said. "So if you were a bad neighbor, there are ways to make amends for it and find common ground."</p><p>The base-building looks nice, as your tiny gnomes can climb the towering trees and build elegant little homes amidst their thick trunks and long branches, then connect them with ziplines. Your glider? It's a leaf or a few feathers, because you're very small. You get the picture. Trollheim: Gnomes is coming to early access later this year.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/survival-crafting/a-co-op-survival-game-where-trolls-arent-just-there-to-be-killed-we-dont-talk-about-them-as-enemies-but-rather-as-neighbors/</link>
                                                                            <description>
                            <![CDATA[ What kind of neighbor will you be in Trollheim: Gnomes? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">KSotgKKXM4TGnd8KzBNqg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nYMGqyjGCy3hSRN9yAi4ei-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Survival & Crafting]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ clivingston@pcgamer.com (Christopher Livingston) ]]></author>                    <dc:creator><![CDATA[ Christopher Livingston ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vMPWcamtj9aoVBYFtt2Hp7-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/nYMGqyjGCy3hSRN9yAi4ei-1920-80.jpg">
                                                            <media:credit><![CDATA[Fireshine Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Gnomes looking at a campfire]]></media:description>                                                            <media:text><![CDATA[Gnomes looking at a campfire]]></media:text>
                                <media:title type="plain"><![CDATA[Gnomes looking at a campfire]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nYMGqyjGCy3hSRN9yAi4ei-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/PS75sHVT0kM" allowfullscreen></iframe></div></div><p>A deep forest of towering trees can be an intimidating place, especially if you're only three inches tall. In co-op PvE survival game <a href="https://store.steampowered.com/app/4139890/TROLLHEIM_GNOMES/">Trollheim: Gnomes</a>, you're a wee little Sprýg Gnome looking for a new place to call home after Oden has driven you from Midgård.</p><p>That home is a dense, dark forest, and you're not the only one seeking refuge there. In addition to foraging, exploring, building your home, and dealing with survival systems like cold and hunger, your gnome will have to contend with other residents of the forest, which the Trollheim devs call väsen.</p><p>Väsen can be faeries, sirens, and you guessed it, trolls. But unlike the trolls in another <a href="https://www.pcgamer.com/games/survival-crafting/valheim-review/">'heim I could name</a>, Trollheim's trolls aren't just there to ruin your day with a well-swung tree trunk or to be defeated for their resource drops.</p><p>"When we talk about our NPCs, we don't talk about them as enemies, but rather as neighbors," said Jojje Dalunde, game director at Off-leash Interactive. "Because that's really what they are, and as you know, you can have good neighbors and you can have bad neighbors. In this game, you as a player get to choose if you are going to be a good neighbor or a bad neighbor. And the väsen in this world will react to how you interact with them and how you behave."</p><p>In the presentation, the trolls didn't look particularly friendly, yelling warnings at gnomes who go too close, throwing things at them, and swinging their fists. But that doesn't necessarily make them bad guys, does it? Maybe the gnome is on their turf, intruding on their homeland, and maybe this troll hasn't had great interactions with gnomes in the past.</p><p>Of course, it's your choice: if you want to attack the väsen instead of befriending them you can… but isn't the idea of making friends with the so-called "monsters" a fun one? (If I could give gifts to the trolls in Valheim, I definitely would. Anything to stop them from raiding my base.)</p><p>If you accidentally (or purposefully) make an enemy of one of your neighbors, it's not the end of the world, either. "There are ways to befriend väsen that you may have crossed," Dalunde said. "So if you were a bad neighbor, there are ways to make amends for it and find common ground."</p><p>The base-building looks nice, as your tiny gnomes can climb the towering trees and build elegant little homes amidst their thick trunks and long branches, then connect them with ziplines. Your glider? It's a leaf or a few feathers, because you're very small. You get the picture. Trollheim: Gnomes is coming to early access later this year.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'There is no secret sauce' to a successful live service game according to Overwatch's associate game director, but knowing your audience is a good start ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Not many live service games have <a href="https://www.pcgamer.com/games/fps/looking-back-on-10-years-of-overwatch-the-promises-kept-and-where-team-4-goes-from-here/">stood the test of time quite like Overwatch</a>. 10 years in and it's still been able to retain its playerbase, maintain momentum, and even ramp it up. How, you ask? Well, besides having really cute skins and a very enticing game loop, Team 4 figured out exactly where <a href="https://www.pcgamer.com/uk/overwatch/">Overwatch</a> needed to stand years ago. </p><p>"Overwatch exists in an incredibly competitive space among live service shooters," Overwatch's game director Aaron Keller tells me. "Some of the biggest games in the world are here."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jkRdksMSaxqGoauCPv8jkD" name="overwatch s3 shion 3" alt="A promotional Overwatch gameplay screenshot of new hero Shion. The robot woman's red eyes light up as she is surrounded by bright blue lightning." src="https://cdn.mos.cms.futurecdn.net/jkRdksMSaxqGoauCPv8jkD-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard Entertainment)</span></figcaption></figure><p>To have (and crucially, maintain) a successful live service game is the golden goose egg of this industry right now. With publishers like Sony trying to force it upon countless studios before <a href="https://www.pcgamer.com/games/after-cancelling-8-of-the-12-live-service-games-sony-promised-to-release-by-2025-playstation-studios-boss-says-the-number-doesnt-really-matter-what-is-important-to-me-is-having-a-diverse-set-of-player-experiences/">pulling the plug on eight out of 12 projects</a> when things start to go sideways. Even games that manage to land with an eager audience like Arc Raiders can struggle to maintain momentum. But for some, like Overwatch, the live service model has worked, so what's the secret? </p><p>"That's a big question," associate game director Alec Dawson says. "I think some of the things we've learned is to shut away fear as much as possible and push beyond, experiment within that experience. But what it really boils down to is coming to work each morning and making good decisions every day. We've lived that over the last two years." But unfortunately for any eager Sony execs reading this, "there's no secret sauce in particular." </p><p>"It's incredibly hard to make something that players can interact with every day for years on end," Keller adds. "You can get 95% of the way there, and your game could still die three months after release. It is much, much harder to come up with that initial sort of experience than I think a lot of people give it credit for. But once you've done it, you've kind of just started the race." </p><p>Free time and cash are both at a premium for most players, and with so many options available, games studios need to offer up exactly what they're looking for. Because if they don't, someone else will. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.51%;"><img id="xAPcJQWTXPH6qy4e7Wjeeg" name="roadhog-screenshot-003.jpg" alt="Overwatch 2 hero Roadhog" src="https://cdn.mos.cms.futurecdn.net/xAPcJQWTXPH6qy4e7Wjeeg-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1085" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Activision Blizzard)</span></figcaption></figure><p>"Our players really want novelty and they really want variety, but they want it inside of a competitive framework," Keller explains. "If you look at other games on the market, there's ones that are really just more about the novelty side of the game, and there's other ones that are really just about straight up competition. There's not a lot of change in those games. We occupy this really unique spot in the middle." </p><p>Marvel Rivals came the closest to taking Overwatch's spot, but that didn't last long as it cemented itself as a casual game which is more concerned with <a href="https://www.pcgamer.com/games/third-person-shooter/we-balance-for-fun-first-and-foremost-marvel-games-executive-producer-discusses-marvel-rivals-priorities-and-why-competitive-balancing-comes-second/">balancing for fun</a>. Alternatively, Overwatch offers higher skill ceilings and a "sense that your time was worthwhile in the experience," Dawson explains. "That the rules and structure of the sport were fair towards the outcome." </p><p>This isn't to say that Team 4 have uncovered the secret to perfect game balancing, I'm not sure that'll ever be possible, but the idea still stands that players should be able to take away some kind of lesson from each game, lessons that'll help form them into a more skilled player. Even if that lesson is to 'don't solo queue at 2 am'. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PTJNn6U2t7PhpamQWpCfQn" name="overwatch tier list hero stats" alt="Overwatch tier list: Sigma listing various characters into the air using his ultimate." src="https://cdn.mos.cms.futurecdn.net/PTJNn6U2t7PhpamQWpCfQn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>"There's a design value at Blizzard called control is king," Keller adds. The idea that players want to feel like they're in control of everything their hero does and therefore experience the cool moments that come from that. Overwatch's newest hero Doctrine is "a powerful example of something like that." </p><div><blockquote><p>I can't wait for players to see some of the archetypes that are coming next season, and especially Season 1 next year.</p><p>Aaron Keller, Game Director </p></blockquote></div><p>Doctrine offers two experiences: a primal and slightly simplistic one in which it feels good to just use his base kit to land shots. Then there's a more nuanced version, which offers players the chance to raise the skill ceiling with his Infuse mechanic. </p><p>"It's so satisfying to be holding down Infuse while you're trying to line up your shot, as the beam gets bigger, you get that sound effect, then you pull the trigger, and you see that connection. It's so satisfying. The hero team, and the audio team, the VFX animations, everybody kind of comes together to have that one moment where control really is king. That moment just needs to feel as good and as visceral as possible." </p><p>Doctrine is the only hero I've played since the new season came out last week, and I can confirm his kit is just as good as Keller makes it sound. It's a testimony to Team 4 that 54 heroes later they're still able to offer players something that feels unique, specialised, and just a hell of a lot of fun to play. </p><p>"One of the Blizzard greats, Chris Metzen, always described our company as a hero factory," Keller says. "This is just what we do, and you can see it in a lot of our other games, from StarCraft to Warcraft to Diablo, just all these characters that are really larger than life. It's what our fans can really throw their passion behind. </p><p>"I think that Overwatch really carries that torch forward. We're trying to make these amazing fantasies that people can just jump into and live out. I can't wait for players to see some of the archetypes that are coming next season, and especially Season 1 next year." </p><div class="product"><a data-dimension112="11a95c92-c890-11f1-99dd-6149cecc8c45" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="11a95c92-c890-11f1-99dd-6149cecc8c45" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/fps/there-is-no-secret-sauce-to-a-successful-live-service-game-according-to-overwatchs-associate-game-director-but-knowing-your-audience-is-a-good-start/</link>
                                                                            <description>
                            <![CDATA[ "We occupy this really unique spot in the middle." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VFNLz6TfCjmNG666pKVti</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/tQUSFsqoZvrLGnD8V6DkH3-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 12:14:35 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[FPS]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elie Gould ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5HPuSiRgqza2PQESSqE7gG-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Elie is a news writer with an unhealthy love of horror games—even though their greatest fear is being chased. When they&#039;re not screaming or hiding, there&#039;s a good chance you&#039;ll find them testing their metal in metroidvanias or just admiring their Pokemon TCG collection. Elie has previously worked at TechRadar Gaming as a staff writer and studied at JOMEC in International Journalism and Documentaries – spending their free time filming short docs about Smash Bros. or any indie game that crossed their path.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/tQUSFsqoZvrLGnD8V6DkH3-1920-80.jpg">
                                                            <media:credit><![CDATA[Activision Blizzard]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of Overwatch character D.Va]]></media:description>                                                            <media:text><![CDATA[Close-up of Overwatch character D.Va]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of Overwatch character D.Va]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/tQUSFsqoZvrLGnD8V6DkH3-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Not many live service games have <a href="https://www.pcgamer.com/games/fps/looking-back-on-10-years-of-overwatch-the-promises-kept-and-where-team-4-goes-from-here/">stood the test of time quite like Overwatch</a>. 10 years in and it's still been able to retain its playerbase, maintain momentum, and even ramp it up. How, you ask? Well, besides having really cute skins and a very enticing game loop, Team 4 figured out exactly where <a href="https://www.pcgamer.com/uk/overwatch/">Overwatch</a> needed to stand years ago. </p><p>"Overwatch exists in an incredibly competitive space among live service shooters," Overwatch's game director Aaron Keller tells me. "Some of the biggest games in the world are here."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jkRdksMSaxqGoauCPv8jkD" name="overwatch s3 shion 3" alt="A promotional Overwatch gameplay screenshot of new hero Shion. The robot woman's red eyes light up as she is surrounded by bright blue lightning." src="https://cdn.mos.cms.futurecdn.net/jkRdksMSaxqGoauCPv8jkD-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard Entertainment)</span></figcaption></figure><p>To have (and crucially, maintain) a successful live service game is the golden goose egg of this industry right now. With publishers like Sony trying to force it upon countless studios before <a href="https://www.pcgamer.com/games/after-cancelling-8-of-the-12-live-service-games-sony-promised-to-release-by-2025-playstation-studios-boss-says-the-number-doesnt-really-matter-what-is-important-to-me-is-having-a-diverse-set-of-player-experiences/">pulling the plug on eight out of 12 projects</a> when things start to go sideways. Even games that manage to land with an eager audience like Arc Raiders can struggle to maintain momentum. But for some, like Overwatch, the live service model has worked, so what's the secret? </p><p>"That's a big question," associate game director Alec Dawson says. "I think some of the things we've learned is to shut away fear as much as possible and push beyond, experiment within that experience. But what it really boils down to is coming to work each morning and making good decisions every day. We've lived that over the last two years." But unfortunately for any eager Sony execs reading this, "there's no secret sauce in particular." </p><p>"It's incredibly hard to make something that players can interact with every day for years on end," Keller adds. "You can get 95% of the way there, and your game could still die three months after release. It is much, much harder to come up with that initial sort of experience than I think a lot of people give it credit for. But once you've done it, you've kind of just started the race." </p><p>Free time and cash are both at a premium for most players, and with so many options available, games studios need to offer up exactly what they're looking for. Because if they don't, someone else will. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.51%;"><img id="xAPcJQWTXPH6qy4e7Wjeeg" name="roadhog-screenshot-003.jpg" alt="Overwatch 2 hero Roadhog" src="https://cdn.mos.cms.futurecdn.net/xAPcJQWTXPH6qy4e7Wjeeg-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1085" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Activision Blizzard)</span></figcaption></figure><p>"Our players really want novelty and they really want variety, but they want it inside of a competitive framework," Keller explains. "If you look at other games on the market, there's ones that are really just more about the novelty side of the game, and there's other ones that are really just about straight up competition. There's not a lot of change in those games. We occupy this really unique spot in the middle." </p><p>Marvel Rivals came the closest to taking Overwatch's spot, but that didn't last long as it cemented itself as a casual game which is more concerned with <a href="https://www.pcgamer.com/games/third-person-shooter/we-balance-for-fun-first-and-foremost-marvel-games-executive-producer-discusses-marvel-rivals-priorities-and-why-competitive-balancing-comes-second/">balancing for fun</a>. Alternatively, Overwatch offers higher skill ceilings and a "sense that your time was worthwhile in the experience," Dawson explains. "That the rules and structure of the sport were fair towards the outcome." </p><p>This isn't to say that Team 4 have uncovered the secret to perfect game balancing, I'm not sure that'll ever be possible, but the idea still stands that players should be able to take away some kind of lesson from each game, lessons that'll help form them into a more skilled player. Even if that lesson is to 'don't solo queue at 2 am'. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PTJNn6U2t7PhpamQWpCfQn" name="overwatch tier list hero stats" alt="Overwatch tier list: Sigma listing various characters into the air using his ultimate." src="https://cdn.mos.cms.futurecdn.net/PTJNn6U2t7PhpamQWpCfQn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>"There's a design value at Blizzard called control is king," Keller adds. The idea that players want to feel like they're in control of everything their hero does and therefore experience the cool moments that come from that. Overwatch's newest hero Doctrine is "a powerful example of something like that." </p><div><blockquote><p>I can't wait for players to see some of the archetypes that are coming next season, and especially Season 1 next year.</p><p>Aaron Keller, Game Director </p></blockquote></div><p>Doctrine offers two experiences: a primal and slightly simplistic one in which it feels good to just use his base kit to land shots. Then there's a more nuanced version, which offers players the chance to raise the skill ceiling with his Infuse mechanic. </p><p>"It's so satisfying to be holding down Infuse while you're trying to line up your shot, as the beam gets bigger, you get that sound effect, then you pull the trigger, and you see that connection. It's so satisfying. The hero team, and the audio team, the VFX animations, everybody kind of comes together to have that one moment where control really is king. That moment just needs to feel as good and as visceral as possible." </p><p>Doctrine is the only hero I've played since the new season came out last week, and I can confirm his kit is just as good as Keller makes it sound. It's a testimony to Team 4 that 54 heroes later they're still able to offer players something that feels unique, specialised, and just a hell of a lot of fun to play. </p><p>"One of the Blizzard greats, Chris Metzen, always described our company as a hero factory," Keller says. "This is just what we do, and you can see it in a lot of our other games, from StarCraft to Warcraft to Diablo, just all these characters that are really larger than life. It's what our fans can really throw their passion behind. </p><p>"I think that Overwatch really carries that torch forward. We're trying to make these amazing fantasies that people can just jump into and live out. I can't wait for players to see some of the archetypes that are coming next season, and especially Season 1 next year." </p><div class="product"><a data-dimension112="11a95c92-c890-11f1-99dd-6149cecc8c45" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="11a95c92-c890-11f1-99dd-6149cecc8c45" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ OLED really is the gift that keeps on giving, with what should be cheaper 700 Hz panels planned by TCL for 2028 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I've long been a proponent of high refresh rates for competitive FPS gaming, though there are diminishing returns the higher up you go. So it's been an absolute joy to see the direction OLED panels have been heading of late, with high refresh rates and <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals/" target="_blank">low prices</a>. Now there's even more good news, as TCL is going to be launching some 700 Hz OLED panels based on cost-effective tech. </p><p>That's <a href="https://omdia.tech.informa.com/pr/2026/oct/oled-monitor-display-shipments-set-for-79percent-full-year-growth-in-2026-with-asus-leading-purchase" target="_blank">according to Omdia</a> (via <a href="https://videocardz.com/newz/tcl-is-preparing-700hz-oled-gaming-monitor-panels" target="_blank">Videocardz</a>), which explains, "TCL China Star’s new Gen 8.6 IJP OLED fab is scheduled to begin production in 2028, with plans for larger panels, including 32-inch and 34-inch sizes and refresh rate offerings of up to 700 Hz. The facility is projected to make TCL China Star the first company to mass-produce IJP OLED monitor panels at Gen 8.6 fab."</p><p>To be clear, we've already seen 700+ Hz OLED monitors. We've even seen some that don't rely on dropping down to 720p, such as a <a href="https://www.pcgamer.com/hardware/gaming-monitors/oled-gaming-monitors-have-finally-gotten-so-good-that-a-counter-strike-2-tournament-is-using-one/" target="_blank">WOLED from Asus that hits 720 Hz at 1080p</a> in a 24.5-inch form factor.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>We should also note that it doesn't seem like Omdia is saying the new 700 Hz TCL monitors will be 32-inch or 34-inch ones—those could be different offerings.</p><p>So what's new? Well, mostly that three-letter acronym: IJP. It <a href="https://www.oled-info.com/oled-inkjet-printing" target="_blank">stands for "ink jet printing"</a> and is a way of making OLED panels that should be less costly. </p><p>Essentially, regular OLED production involves material being wasted because it relies on some evaporated OLED materials going through a mask (stencil), but a lot of the evaporated materials don't go through and are lost. IJP, on the other hand, prints the OLED materials directly on the substrate, meaning there should be much less wastage.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jFv4meMpMKV2hedgdGx6Zd" name="TCL OLED monitor" alt="TCL OLED monitor" src="https://cdn.mos.cms.futurecdn.net/jFv4meMpMKV2hedgdGx6Zd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TCL)</span></figcaption></figure><p>The result, of course, should mean more cost-effective production. For consumers like you and I, that should mean cheaper panels. It might also mean better colour volume at higher brightness, if <a href="https://www.pcgamer.com/hardware/gaming-monitors/this-new-super-bright-500-nit-inkjet-tech-promises-to-fix-oleds-full-screen-brightness-limitation/" target="_blank">previous claims about inkjet tech</a> are anything to go by.</p><p>Which is good news, considering the aforementioned 720 Hz Asus panel is <a href="https://press.asus.com/news/press-releases/rog-ace-esports-hardware-partnerships-gamescom-2026/" target="_blank">set to cost $1,099</a>. OLED monitors in general have gotten quite cheap, when they're not gigantic top-end panels or ultra-high refresh rate ones, which explains why they're being <a href="https://www.pcgamer.com/hardware/gaming-monitors/say-what-you-want-about-burn-in-sales-of-oled-pc-monitors-surged-by-92-percent-in-2025/" target="_blank">snatched off the proverbial shelves</a>. </p><p>It'll be great if we see that price trend follow the ultra-high refresh rate segment, too. Fingers crossed for TCL, then, even if we do have to wait until 2028 for production to start.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/oled-really-is-the-gift-that-keeps-on-giving-with-what-should-be-cheaper-700-hz-panels-planned-by-tcl-for-2028/</link>
                                                                            <description>
                            <![CDATA[ 'Cheap' being a relative term, of course. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">zLSfDubLvrt58BW3BEqkrn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wCbd8EUNFSGdJgfgXmRUJd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 12:05:58 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wCbd8EUNFSGdJgfgXmRUJd-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Alienware AW3926QW OLED gaming monitor]]></media:description>                                                            <media:text><![CDATA[Alienware AW3926QW OLED gaming monitor]]></media:text>
                                <media:title type="plain"><![CDATA[Alienware AW3926QW OLED gaming monitor]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wCbd8EUNFSGdJgfgXmRUJd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I've long been a proponent of high refresh rates for competitive FPS gaming, though there are diminishing returns the higher up you go. So it's been an absolute joy to see the direction OLED panels have been heading of late, with high refresh rates and <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals/" target="_blank">low prices</a>. Now there's even more good news, as TCL is going to be launching some 700 Hz OLED panels based on cost-effective tech. </p><p>That's <a href="https://omdia.tech.informa.com/pr/2026/oct/oled-monitor-display-shipments-set-for-79percent-full-year-growth-in-2026-with-asus-leading-purchase" target="_blank">according to Omdia</a> (via <a href="https://videocardz.com/newz/tcl-is-preparing-700hz-oled-gaming-monitor-panels" target="_blank">Videocardz</a>), which explains, "TCL China Star’s new Gen 8.6 IJP OLED fab is scheduled to begin production in 2028, with plans for larger panels, including 32-inch and 34-inch sizes and refresh rate offerings of up to 700 Hz. The facility is projected to make TCL China Star the first company to mass-produce IJP OLED monitor panels at Gen 8.6 fab."</p><p>To be clear, we've already seen 700+ Hz OLED monitors. We've even seen some that don't rely on dropping down to 720p, such as a <a href="https://www.pcgamer.com/hardware/gaming-monitors/oled-gaming-monitors-have-finally-gotten-so-good-that-a-counter-strike-2-tournament-is-using-one/" target="_blank">WOLED from Asus that hits 720 Hz at 1080p</a> in a 24.5-inch form factor.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>We should also note that it doesn't seem like Omdia is saying the new 700 Hz TCL monitors will be 32-inch or 34-inch ones—those could be different offerings.</p><p>So what's new? Well, mostly that three-letter acronym: IJP. It <a href="https://www.oled-info.com/oled-inkjet-printing" target="_blank">stands for "ink jet printing"</a> and is a way of making OLED panels that should be less costly. </p><p>Essentially, regular OLED production involves material being wasted because it relies on some evaporated OLED materials going through a mask (stencil), but a lot of the evaporated materials don't go through and are lost. IJP, on the other hand, prints the OLED materials directly on the substrate, meaning there should be much less wastage.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jFv4meMpMKV2hedgdGx6Zd" name="TCL OLED monitor" alt="TCL OLED monitor" src="https://cdn.mos.cms.futurecdn.net/jFv4meMpMKV2hedgdGx6Zd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TCL)</span></figcaption></figure><p>The result, of course, should mean more cost-effective production. For consumers like you and I, that should mean cheaper panels. It might also mean better colour volume at higher brightness, if <a href="https://www.pcgamer.com/hardware/gaming-monitors/this-new-super-bright-500-nit-inkjet-tech-promises-to-fix-oleds-full-screen-brightness-limitation/" target="_blank">previous claims about inkjet tech</a> are anything to go by.</p><p>Which is good news, considering the aforementioned 720 Hz Asus panel is <a href="https://press.asus.com/news/press-releases/rog-ace-esports-hardware-partnerships-gamescom-2026/" target="_blank">set to cost $1,099</a>. OLED monitors in general have gotten quite cheap, when they're not gigantic top-end panels or ultra-high refresh rate ones, which explains why they're being <a href="https://www.pcgamer.com/hardware/gaming-monitors/say-what-you-want-about-burn-in-sales-of-oled-pc-monitors-surged-by-92-percent-in-2025/" target="_blank">snatched off the proverbial shelves</a>. </p><p>It'll be great if we see that price trend follow the ultra-high refresh rate segment, too. Fingers crossed for TCL, then, even if we do have to wait until 2028 for production to start.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Big Walk devs explain why it isn't on Xbox and likely never will be, 'not until Microsoft and/or Xbox have been removed as BDS boycott targets' ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.pcgamer.com/uk/big-walk/">Big Walk</a> is the most fun I've had in a co-op game all year, perhaps for a few years; it's certainly at the top of my list for greatest games to play with friends. I'm not the only one who thinks that, just ask about anyone on the PC Gamer team or the other <a href="https://www.pcgamer.com/games/puzzle/big-walk-has-sold-1-million-copies-making-it-a-bigger-hit-than-untitled-goose-game/">million players who picked the game up in its first week</a>. But not everyone's had the chance to check it out as developer House House confirms that Big Walk still won't be coming to Xbox anytime soon. </p><p>"It has always been our intention for Big Walk to be played by groups of friends, and we know that keeping the game off Xbox runs counter to those intentions," House House says. "This decision means that some people will miss out on playing Big Walk with their friends, and we understand the disappointment we're causing. We are disappointed too. We would love for people to be able to play the game on Xbox, but not until Microsoft and/or Xbox have been removed as BDS boycott targets." </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aG827vsAaRkW56ad8fZegn" name="bw7" alt="Big Walk players solving puzzles" src="https://cdn.mos.cms.futurecdn.net/aG827vsAaRkW56ad8fZegn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Panic)</span></figcaption></figure><p>It's a tough decision but one that ultimately has its merits. Just last year it was revealed in a report that the Israeli military was using customised and specialised subset of Azure, <a href="https://www.pcgamer.com/gaming-industry/new-report-lays-out-israeli-military-use-of-microsoft-services-that-prompted-employee-protests-and-a-boycott-of-xbox-and-game-pass/">provided by Microsoft</a>, to store data from intercepted telecommunications in Gaza and The West Bank. This led to employee protests and Xbox being added to the BDS boycott targets. </p><p>"We've made this decision with the belief that meaningful change can be made in the world," House House adds. "That coordinated collective action can confront even the most powerful interests, and that one day. Palestine will be free.</p><p>House House told players curious about its motives to check the <a href="https://bdsmovement.net/microsoft" target="_blank">BDS campaign's own explainer</a> as to why it is targeting Xbox and Microsoft. It also recommended reviewing "<a href="https://bdsmovement.net/news/microsoft-blocks-israel%E2%80%99s-use-its-technology-mass-surveillance-palestinians" target="_blank">the successes this kind of pressure has already had</a> on Microsoft, and especially, watching this great <a href="https://www.youtube.com/watch?v=Ybj10537yi4" target="_blank">introductory piece by People Makes Games</a>."</p><div class="product"><a data-dimension112="3b4412c6-c88c-11f1-b714-d30c669ae68d" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="3b4412c6-c88c-11f1-b714-d30c669ae68d" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/gaming-industry/big-walk-devs-explain-why-it-isnt-on-xbox-and-likely-never-will-be-not-until-microsoft-and-or-xbox-have-been-removed-as-bds-boycott-targets/</link>
                                                                            <description>
                            <![CDATA[ "We've made this decision with the belief that meaningful change can be made in the world." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uza8mxYHSSWGr5tMHQLYFA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/dxkgnDBuwxUKbVYzjTMgS8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 11:36:38 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 11:39:36 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Industry]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elie Gould ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5HPuSiRgqza2PQESSqE7gG-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Elie is a news writer with an unhealthy love of horror games—even though their greatest fear is being chased. When they&#039;re not screaming or hiding, there&#039;s a good chance you&#039;ll find them testing their metal in metroidvanias or just admiring their Pokemon TCG collection. Elie has previously worked at TechRadar Gaming as a staff writer and studied at JOMEC in International Journalism and Documentaries – spending their free time filming short docs about Smash Bros. or any indie game that crossed their path.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/dxkgnDBuwxUKbVYzjTMgS8-1920-80.jpg">
                                                            <media:credit><![CDATA[Panic]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Co-op players holding items in Big Walk]]></media:description>                                                            <media:text><![CDATA[Co-op players holding items in Big Walk]]></media:text>
                                <media:title type="plain"><![CDATA[Co-op players holding items in Big Walk]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/dxkgnDBuwxUKbVYzjTMgS8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.pcgamer.com/uk/big-walk/">Big Walk</a> is the most fun I've had in a co-op game all year, perhaps for a few years; it's certainly at the top of my list for greatest games to play with friends. I'm not the only one who thinks that, just ask about anyone on the PC Gamer team or the other <a href="https://www.pcgamer.com/games/puzzle/big-walk-has-sold-1-million-copies-making-it-a-bigger-hit-than-untitled-goose-game/">million players who picked the game up in its first week</a>. But not everyone's had the chance to check it out as developer House House confirms that Big Walk still won't be coming to Xbox anytime soon. </p><p>"It has always been our intention for Big Walk to be played by groups of friends, and we know that keeping the game off Xbox runs counter to those intentions," House House says. "This decision means that some people will miss out on playing Big Walk with their friends, and we understand the disappointment we're causing. We are disappointed too. We would love for people to be able to play the game on Xbox, but not until Microsoft and/or Xbox have been removed as BDS boycott targets." </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aG827vsAaRkW56ad8fZegn" name="bw7" alt="Big Walk players solving puzzles" src="https://cdn.mos.cms.futurecdn.net/aG827vsAaRkW56ad8fZegn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Panic)</span></figcaption></figure><p>It's a tough decision but one that ultimately has its merits. Just last year it was revealed in a report that the Israeli military was using customised and specialised subset of Azure, <a href="https://www.pcgamer.com/gaming-industry/new-report-lays-out-israeli-military-use-of-microsoft-services-that-prompted-employee-protests-and-a-boycott-of-xbox-and-game-pass/">provided by Microsoft</a>, to store data from intercepted telecommunications in Gaza and The West Bank. This led to employee protests and Xbox being added to the BDS boycott targets. </p><p>"We've made this decision with the belief that meaningful change can be made in the world," House House adds. "That coordinated collective action can confront even the most powerful interests, and that one day. Palestine will be free.</p><p>House House told players curious about its motives to check the <a href="https://bdsmovement.net/microsoft" target="_blank">BDS campaign's own explainer</a> as to why it is targeting Xbox and Microsoft. It also recommended reviewing "<a href="https://bdsmovement.net/news/microsoft-blocks-israel%E2%80%99s-use-its-technology-mass-surveillance-palestinians" target="_blank">the successes this kind of pressure has already had</a> on Microsoft, and especially, watching this great <a href="https://www.youtube.com/watch?v=Ybj10537yi4" target="_blank">introductory piece by People Makes Games</a>."</p><div class="product"><a data-dimension112="3b4412c6-c88c-11f1-b714-d30c669ae68d" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="3b4412c6-c88c-11f1-b714-d30c669ae68d" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Disco Elysium splinter studio's Red Rooster is going to be a 'an incendiary, physics-driven RPG' where you play an inmate, an opiate-fuelled mathematician, and a bus driver with nunchucks ]]></title>
                                                                                                <dc:content><![CDATA[ <figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HkdHQXno6x7jTM38E5h36S-1920-80.png" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/83i9TcTwgpuN9NayBCdoiQ-1920-80.jpg" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/g9jpdamArEW4jqCvnxm6oQ-1920-80.jpg" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BJDXBdFmxLTW2ohRoRjAHS-1920-80.png" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure></figure><p>However, the surrealist elements are turned up. You'll be playing Redrick Roost, an inmate turned arson investigator—and instead of Kim Kitsuragi, you'll be getting "an opiate-dependent mathematician, Dr Astrid Albers, and a nunchaku-wielding truth-activist, the district bus driver Rico." God. We're so goddamn back.</p><p>The major point of divergence—aside from an emphasis on 3D physics, which cites "Larian's Divinity Engine games and Dark Messiah of Might and Magic" as an inspiration—is in its tone and theme. The site very plainly states that "this is not the 'end of history', but rather the 'beginning of the future' in the tripartite city of Arta-Tantor."</p><p>That "end of history" line feels like an indirect nod to Disco Elysium and the philosophical bedrock it was built on—the nihilistic representation of an end-point of societal evolution, represented, (as folks far <a href="https://repository.uniminuto.edu/items/7879591b-dab3-4f97-91b9-d8a773b83e41">more well-versed in this sort of thing</a> have posited) in Disco Elysium by the Pale and the oppressive pressure of the Moralintern. To quote the game directly:</p><p>"Centrism isn't change—not even incremental change. It is control. Over yourself and the world. Exercise it. Look up at the sky, at the dark shapes of Coalition airships hanging there. Ask yourself: is there something sinister in moralism? And then answer: no. God is in his heaven. Everything is normal on Earth."</p><p>Basically, in drawing this line, Summer Eternal seems to be distinctly saying its new setting will be altogether more lively. More optimistic? Maybe not. The protagonist has a dark and brimming set of alter-egos in a psychological "chicken coop" and the game takes place in the hottest summer on record. But even just looking at the artwork, there's less of an emphasis on slow, harrowing decay and more of a thumb on the wildfires of psychedelic revolution. Needless to say, I am very, very excited.</p><div class="product"><a data-dimension112="92064c12-c889-11f1-ba8e-9fd7db7283b1" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="92064c12-c889-11f1-ba8e-9fd7db7283b1" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/rpg/disco-elysium-splinter-studios-red-rooster-is-going-to-be-a-an-incendiary-physics-driven-rpg-where-you-play-an-inmate-an-opiate-fuelled-mathematician-and-a-bus-driver-with-nunchucks/</link>
                                                                            <description>
                            <![CDATA[ Setting the world on fire. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2CfHVdCEsQkCxXfHafx4HG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4CN2jYmifv59nnvgr77kHe-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 11:14:46 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 17:37:25 +0000</updated>
                                                                                                                                            <category><![CDATA[RPG]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ harvey.randall@futurenet.com (Harvey Randall) ]]></author>                    <dc:creator><![CDATA[ Harvey Randall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Rws7mDGqrkaXrNKCH4jZ2D-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/4CN2jYmifv59nnvgr77kHe-1920-80.png">
                                                            <media:credit><![CDATA[Eternal Summer]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A triple image showing artwork from the upcoming game Red Rooster.]]></media:description>                                                            <media:text><![CDATA[A triple image showing artwork from the upcoming game Red Rooster.]]></media:text>
                                <media:title type="plain"><![CDATA[A triple image showing artwork from the upcoming game Red Rooster.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4CN2jYmifv59nnvgr77kHe-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HkdHQXno6x7jTM38E5h36S-1920-80.png" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/83i9TcTwgpuN9NayBCdoiQ-1920-80.jpg" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/g9jpdamArEW4jqCvnxm6oQ-1920-80.jpg" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BJDXBdFmxLTW2ohRoRjAHS-1920-80.png" alt="Various artworks from the Red Rooster website, depicting a vivid artstyle." /><figcaption><small role="credit">Eternal Summer</small></figcaption></figure></figure><p>However, the surrealist elements are turned up. You'll be playing Redrick Roost, an inmate turned arson investigator—and instead of Kim Kitsuragi, you'll be getting "an opiate-dependent mathematician, Dr Astrid Albers, and a nunchaku-wielding truth-activist, the district bus driver Rico." God. We're so goddamn back.</p><p>The major point of divergence—aside from an emphasis on 3D physics, which cites "Larian's Divinity Engine games and Dark Messiah of Might and Magic" as an inspiration—is in its tone and theme. The site very plainly states that "this is not the 'end of history', but rather the 'beginning of the future' in the tripartite city of Arta-Tantor."</p><p>That "end of history" line feels like an indirect nod to Disco Elysium and the philosophical bedrock it was built on—the nihilistic representation of an end-point of societal evolution, represented, (as folks far <a href="https://repository.uniminuto.edu/items/7879591b-dab3-4f97-91b9-d8a773b83e41">more well-versed in this sort of thing</a> have posited) in Disco Elysium by the Pale and the oppressive pressure of the Moralintern. To quote the game directly:</p><p>"Centrism isn't change—not even incremental change. It is control. Over yourself and the world. Exercise it. Look up at the sky, at the dark shapes of Coalition airships hanging there. Ask yourself: is there something sinister in moralism? And then answer: no. God is in his heaven. Everything is normal on Earth."</p><p>Basically, in drawing this line, Summer Eternal seems to be distinctly saying its new setting will be altogether more lively. More optimistic? Maybe not. The protagonist has a dark and brimming set of alter-egos in a psychological "chicken coop" and the game takes place in the hottest summer on record. But even just looking at the artwork, there's less of an emphasis on slow, harrowing decay and more of a thumb on the wildfires of psychedelic revolution. Needless to say, I am very, very excited.</p><div class="product"><a data-dimension112="92064c12-c889-11f1-ba8e-9fd7db7283b1" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="92064c12-c889-11f1-ba8e-9fd7db7283b1" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Valve is toying with a Steam Frame OLED and some Reddit users are already wondering whether to wait an excruciatingly long time for it even though it may never happen ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Only a month out from the launch of the <a href="https://www.pcgamer.com/hardware/vr-hardware/valve-steam-frame-review/" target="_blank">Steam Frame</a>, an OLED version is already the talk of the town. Moreover, us humans seem to have very short memories, as while this amounts to nothing more than a couple of lines in the Steam Frame source code—perhaps nothing more than someone at Valve messing around to see what happens—some Reddit users are already wondering whether this is worth waiting for instead of buying a Frame today. Oh, you lot…</p><p>In the Steam Frame source code, <a href="https://steamframehub.com/exclusive-here-we-go-again-valve-is-making-an-oled-steam-frame/" target="_blank">SteamFrameHub</a> spotted various references to "deckard-oled" and "deckard-plano". Deckard is the codename given to the Steam Frame, so the deckard-oled branch (last edited in February) and the deckard-plano branch (last edited a few weeks ago) are some sorta version of the Steam Frame that Valve's playing around with.</p><p>I've had a quick look around the repo and, yep, deckard-oled and deckard-plano are in there. That's a very exciting prospect, as the Steam Frame's LCD displays are definitely lacking compared to <a href="https://www.pcgamer.com/hardware/vr-hardware/micro-oled-is-the-vr-upgrade-ive-been-waiting-for/" target="_blank">VR headsets with Micro-OLED</a>. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>This excitement is not lost on some over on Reddit, who have responded to the news with various japes and bits about ditching their reservation for the existing model and instead re-enlisting for another excruciatingly long wait for the OLED model. </p><p>"Waitlist 2: Electric Boogaloo," says brantrix in a thread <a href="https://www.reddit.com/r/SteamFrame/comments/1x5l9ij/exclusive_here_we_go_again_valve_is_making_an/" target="_blank">over at r/SteamFrame</a>. </p><p>"Absolutely panic and cancel your reservations. Everyone knows how lightning fast Valve moves fast with development," says Runaway42.</p><p>Truth is, we're not likely to see a Steam Frame OLED for a very long time—or ever. There are the trifling matters of hardware, resolution, power, cooling, battery life, and performance all to consider. It's more than a matter of just swapping the optics in the core module—the main bit of the Steam Frame containing the displays, SoC, cooling, sensors, and more—with a couple of OLED panels.</p><p>Here's big VR fan and regular update spotter Brad Lynch on the whole thing:</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110376728111534123"><p lang="en" dir="ltr">Took a look at the Deckard-Plano (Micro-OLED Frame) stuff… after waking up to pure panicYeah it’s in there. And they do a lot of wacky things to make it possible… with the current 8 Gen 3 chipThey even pair it with the upcoming hotswappable battery headstrap by defaultIn my opinion, that’s probably required due to power consumption.. And while I would love to say “True Deckard soon,” I genuinely think they’re better off waiting a bit more for the Compute module to upgraded to a newer chip, with these Micro-OLED displays that ALSO need new opticsYou could argue that it’s only for streaming PCVR, but I disagree. Valve built just enough of FrameOS to support the Spatial Computing usecase to where people can do some amazing things with a Linux PC on their Face. And while that’s still hella buggy, and taped together.. that’s just software waiting to be fixedWhen you switch to Micro-OLED, you get way better visuals. But lose VR gaming focused aspects such as FoV and motion clarity. BUT it still is a greater experience, in my opinion, for many other thingsValve positions the current Frame as a way to play the entire 2D game library. Verified titles for those is quickly growing way faster than VR titlesBut frankly, the current display/optics setup truly doesn’t make that usecase more enjoyable. A slightly lower FoV + Micro-OLED system definitely wouldBut even with the foveal magic they’re introducing here in the code, that doesn’t solve the heat and performance problems even with streaming. The 8 Gen 3 isn’t THAT much better than the chip in the Samsung Galaxy XR. Which uses a lot of these same tricks on an XR2+ Gen 2That headset throttles a lot even when streaming. It’s a serious problemSo when I combine all of these thoughts together in my head. I actually just hope that this is an optics/display prototype being prepped for a bit later down the line. Rather than a Steam Deck/Steam Deck OLED situationThe software situation on Steam OS (for Frame) is still a mess. And to have valve engineers and contractors split between supporting two models THIS FAST, after such a rough launch, would be a bit of negligence, imoAt the end of the day, I knew valve would adopt Micro-OLED in one of their Headset products at some point. They’ve put serious effort into it over the past deckade and a half they’ve been doing VR. I’ve reported on some truly insane stuff they did in this field. It is inevitableBut for this, I pray that inevitability is a bit further out..<a href="https://twitter.com/cantworkitout/status/2110376728111534123">October 14, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>That said, the Steam Frame is a modular thing. We should expect, or at least hope for, its modularity to develop into a bit more of an ecosystem of parts. We've used the Arcturus Vision RGB Camera, and we know Valve is working on an <a href="https://www.pcgamer.com/hardware/vr-hardware/valve-working-on-steam-frame-strap-that-adds-index-like-speakers-and-hot-swappable-batteries-coming-soon/" target="_blank">updated strap with off-ear speakers and swappable batteries</a>, but there could be more in future. For now, we have the <a href="https://www.pcgamer.com/hardware/vr-hardware/here-come-the-weird-and-wonderful-mods-for-the-steam-frame-as-valve-drops-the-full-cad-files-for-free/" target="_blank">CAD files</a> to make our own upgrades.</p><p>And if you're wondering if these mentions in the source files are some sort of viral marketing stunt or secret message intended to build hype once again for a future product, <a href="https://www.pcgamer.com/hardware/valve-fat-fingering-something/" target="_blank">here's what Valve's engineers told me at their office last year</a>.</p><p>"Everybody assumes that we have some sort of like grand plan with our leaks," Valve employee Gabe Rowe said, "and it's literally just somebody fat fingering something."</p><p>"Usually we all look around like, 'who leaked?'," Josh Hudman said.</p><p>I wonder who accidentally pressed the button this time?</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/vr-hardware/valve-is-toying-with-a-steam-frame-oled-and-some-reddit-users-are-already-wondering-whether-to-wait-an-excruciatingly-long-time-for-it-even-though-it-may-never-happen/</link>
                                                                            <description>
                            <![CDATA[ Gluttons for punishment. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EFGpjK7fAEvzaFr9N7voW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XU4x9kWqRwDZaJkxsimxHT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 11:06:28 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[VR Hardware]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Ridley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/2YNigoLXbckPdRPDe3stwA-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob earned his first byline writing for his own tech blog, before graduating to breaking things professionally at PCGamesN, where he was one half of a popular weekly YouTube show. Joining PC Gamer in 2020, Jacob is now managing editor of the hardware team, and you&#039;ll usually find him testing the latest components or building a gaming PC. He says he&#039;s determined to build a fort as big as a house out of case boxes. Jacob enjoys heading out of the office to report from floors, benches, and, if he&#039;s lucky, plush press rooms at the biggest tech shows, such as Computex and CES.&lt;br&gt;&lt;/p&gt;&lt;p&gt;When he&#039;s not writing about components, you&#039;ll find Jacob trying to get away from the modern world as fast as possible by bike and pitching up camp in murky woods.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XU4x9kWqRwDZaJkxsimxHT-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Steam Frame&#039;s pancake lenses on display.]]></media:description>                                                            <media:text><![CDATA[The Steam Frame&#039;s pancake lenses on display.]]></media:text>
                                <media:title type="plain"><![CDATA[The Steam Frame&#039;s pancake lenses on display.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XU4x9kWqRwDZaJkxsimxHT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Only a month out from the launch of the <a href="https://www.pcgamer.com/hardware/vr-hardware/valve-steam-frame-review/" target="_blank">Steam Frame</a>, an OLED version is already the talk of the town. Moreover, us humans seem to have very short memories, as while this amounts to nothing more than a couple of lines in the Steam Frame source code—perhaps nothing more than someone at Valve messing around to see what happens—some Reddit users are already wondering whether this is worth waiting for instead of buying a Frame today. Oh, you lot…</p><p>In the Steam Frame source code, <a href="https://steamframehub.com/exclusive-here-we-go-again-valve-is-making-an-oled-steam-frame/" target="_blank">SteamFrameHub</a> spotted various references to "deckard-oled" and "deckard-plano". Deckard is the codename given to the Steam Frame, so the deckard-oled branch (last edited in February) and the deckard-plano branch (last edited a few weeks ago) are some sorta version of the Steam Frame that Valve's playing around with.</p><p>I've had a quick look around the repo and, yep, deckard-oled and deckard-plano are in there. That's a very exciting prospect, as the Steam Frame's LCD displays are definitely lacking compared to <a href="https://www.pcgamer.com/hardware/vr-hardware/micro-oled-is-the-vr-upgrade-ive-been-waiting-for/" target="_blank">VR headsets with Micro-OLED</a>. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>This excitement is not lost on some over on Reddit, who have responded to the news with various japes and bits about ditching their reservation for the existing model and instead re-enlisting for another excruciatingly long wait for the OLED model. </p><p>"Waitlist 2: Electric Boogaloo," says brantrix in a thread <a href="https://www.reddit.com/r/SteamFrame/comments/1x5l9ij/exclusive_here_we_go_again_valve_is_making_an/" target="_blank">over at r/SteamFrame</a>. </p><p>"Absolutely panic and cancel your reservations. Everyone knows how lightning fast Valve moves fast with development," says Runaway42.</p><p>Truth is, we're not likely to see a Steam Frame OLED for a very long time—or ever. There are the trifling matters of hardware, resolution, power, cooling, battery life, and performance all to consider. It's more than a matter of just swapping the optics in the core module—the main bit of the Steam Frame containing the displays, SoC, cooling, sensors, and more—with a couple of OLED panels.</p><p>Here's big VR fan and regular update spotter Brad Lynch on the whole thing:</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110376728111534123"><p lang="en" dir="ltr">Took a look at the Deckard-Plano (Micro-OLED Frame) stuff… after waking up to pure panicYeah it’s in there. And they do a lot of wacky things to make it possible… with the current 8 Gen 3 chipThey even pair it with the upcoming hotswappable battery headstrap by defaultIn my opinion, that’s probably required due to power consumption.. And while I would love to say “True Deckard soon,” I genuinely think they’re better off waiting a bit more for the Compute module to upgraded to a newer chip, with these Micro-OLED displays that ALSO need new opticsYou could argue that it’s only for streaming PCVR, but I disagree. Valve built just enough of FrameOS to support the Spatial Computing usecase to where people can do some amazing things with a Linux PC on their Face. And while that’s still hella buggy, and taped together.. that’s just software waiting to be fixedWhen you switch to Micro-OLED, you get way better visuals. But lose VR gaming focused aspects such as FoV and motion clarity. BUT it still is a greater experience, in my opinion, for many other thingsValve positions the current Frame as a way to play the entire 2D game library. Verified titles for those is quickly growing way faster than VR titlesBut frankly, the current display/optics setup truly doesn’t make that usecase more enjoyable. A slightly lower FoV + Micro-OLED system definitely wouldBut even with the foveal magic they’re introducing here in the code, that doesn’t solve the heat and performance problems even with streaming. The 8 Gen 3 isn’t THAT much better than the chip in the Samsung Galaxy XR. Which uses a lot of these same tricks on an XR2+ Gen 2That headset throttles a lot even when streaming. It’s a serious problemSo when I combine all of these thoughts together in my head. I actually just hope that this is an optics/display prototype being prepped for a bit later down the line. Rather than a Steam Deck/Steam Deck OLED situationThe software situation on Steam OS (for Frame) is still a mess. And to have valve engineers and contractors split between supporting two models THIS FAST, after such a rough launch, would be a bit of negligence, imoAt the end of the day, I knew valve would adopt Micro-OLED in one of their Headset products at some point. They’ve put serious effort into it over the past deckade and a half they’ve been doing VR. I’ve reported on some truly insane stuff they did in this field. It is inevitableBut for this, I pray that inevitability is a bit further out..<a href="https://twitter.com/cantworkitout/status/2110376728111534123">October 14, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>That said, the Steam Frame is a modular thing. We should expect, or at least hope for, its modularity to develop into a bit more of an ecosystem of parts. We've used the Arcturus Vision RGB Camera, and we know Valve is working on an <a href="https://www.pcgamer.com/hardware/vr-hardware/valve-working-on-steam-frame-strap-that-adds-index-like-speakers-and-hot-swappable-batteries-coming-soon/" target="_blank">updated strap with off-ear speakers and swappable batteries</a>, but there could be more in future. For now, we have the <a href="https://www.pcgamer.com/hardware/vr-hardware/here-come-the-weird-and-wonderful-mods-for-the-steam-frame-as-valve-drops-the-full-cad-files-for-free/" target="_blank">CAD files</a> to make our own upgrades.</p><p>And if you're wondering if these mentions in the source files are some sort of viral marketing stunt or secret message intended to build hype once again for a future product, <a href="https://www.pcgamer.com/hardware/valve-fat-fingering-something/" target="_blank">here's what Valve's engineers told me at their office last year</a>.</p><p>"Everybody assumes that we have some sort of like grand plan with our leaks," Valve employee Gabe Rowe said, "and it's literally just somebody fat fingering something."</p><p>"Usually we all look around like, 'who leaked?'," Josh Hudman said.</p><p>I wonder who accidentally pressed the button this time?</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How in the world are Intel GPUs still improving so much? The latest driver update claims up to a 31% fps improvement in Resident Evil Requiem ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Intel graphics don't get much screen time against the weight of AMD and Nvidia, but say what you want about Arc GPUs, they just keep on improving. This is clear enough from the latest driver, the release notes for which claim some significant performance improvements in certain games.</p><p>The <a href="https://downloadmirror.intel.com/930514/ReleaseNotes__101.9150_WHQL.pdf" target="_blank">release notes for WHQL driver 32.0.101.9150</a> (PDF warning) claim a whopping 31% average fps uplift in Resident Evil Requiem at 1080p on medium settings for Core Ultra 2 (Lunar Lake) integrated Arc GPUs. That drops just a couple of per cent to 29% when on high settings. </p><p>There are other big boosts too: 18% for Assassin's Creed Shadows at 1080p, high settings, and 11% for Assassin's Creed Valhalla at 1080p on high, plus some more smaller boosts.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Intel Core Ultra Series 3 (Panther Lake) integrated GPUs get a more moderate boost of 5% for F1 25 at 1080p on medium settings. And Arc B-series graphics cards get a 6% boost in Avatar: Frontiers of Pandora and Monster Hunter Rise, both at 1440p on high settings.</p><p>Nothing quite as big as the uplift Lunar Lake supposedly sees, but still enough to show that there's a 'fine wine' element across the Arc stack. Although based on our experience here at PC Gamer, it's less of a case of 'good to great' and more 'temperamental to reliable'.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790867600756-p0oh86j9j *, #fv-chart-1790867600756-p0oh86j9j *:before, #fv-chart-1790867600756-p0oh86j9j *:after, #fv-chart-1790867600756-p0oh86j9j-slideshow *, #fv-chart-1790867600756-p0oh86j9j-slideshow *:before, #fv-chart-1790867600756-p0oh86j9j-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790867600756-p0oh86j9j, #fv-chart-1790867600756-p0oh86j9j-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790867600756-p0oh86j9j {position: relative !important; overflow: visible !important;--riv-primary: #E33235;}#fv-chart-1790867600756-p0oh86j9j .fv-inner-wrapper {color: #1F2937 !important; background-color: #ededed !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790867600756-p0oh86j9j .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790867600756-p0oh86j9j.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790867600756-p0oh86j9j .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #E33235;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slideshow-select:focus {outline: 2px solid #E33235 !important;border-color: #E33235 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790867600756-p0oh86j9j .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790867600756-p0oh86j9j .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790867600756-p0oh86j9j .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790867600756-p0oh86j9j .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790867600756-p0oh86j9j .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790867600756-p0oh86j9j .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790867600756-p0oh86j9j .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790867600756-p0oh86j9j .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-row, #fv-chart-1790867600756-p0oh86j9j .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790867600756-p0oh86j9j.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790867600756-p0oh86j9j.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790867600756-p0oh86j9j.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790867600756-p0oh86j9j .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790867600756-p0oh86j9j .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790867600756-p0oh86j9j .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790867600756-p0oh86j9j .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790867600756-p0oh86j9j .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790867600756-p0oh86j9j .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-pie-container,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stacked-product,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-grouped-bar-product,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stacked-product,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-label,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-grouped-product-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-label,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-container,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-cluster,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-container,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-x-axis-wrapper,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-x-axis-label-space,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-x-axis-chart-space,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-benchmark-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-dropdown-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-carousel-nav-btn,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-chart-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-chart-subhead,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-header,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-wrapper,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-vs,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-container,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790867600756-p0oh86j9j.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790867600756-p0oh86j9j .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-row,#fv-chart-1790867600756-p0oh86j9j .fv-stacked-product,#fv-chart-1790867600756-p0oh86j9j .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-label,#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-container,#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster {width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790867600756-p0oh86j9j .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-label-space {display: none !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-logo,#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790867600756-p0oh86j9j.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Lowest price per GPU","description": "We've been measuring the lowest available price of each current-gen GPU since August 14, 2025.","creator": {"@type": "Organization","name": "PC Gamer","logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-10-01T15:13:20.759Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Nvidia RTX 5080","Nvidia RTX 5070 Ti","Nvidia RTX 5070","Nvidia RTX 5060 Ti 16 GB","Nvidia RTX 5060 Ti 8 GB","Nvidia RTX 5060","Nvidia RTX 5050","AMD RX 9070 XT","AMD RX 9070","AMD Radeon RX 9070 GRE","AMD RX 9060 XT 16 GB","AMD RX 9060 XT 8 GB","Intel Arc B580","Intel Arc B570","Lowest pricing","benchmark","comparison","performance","review","PC Gamer"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "AMD RX 9060 XT 16 GB – Lowest pricing","value": 500,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD RX 9060 XT 8 GB – Lowest pricing","value": 450,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD RX 9070 – Lowest pricing","value": 667,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD RX 9070 XT – Lowest pricing","value": 760,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Intel Arc B570 – Lowest pricing","value": 260,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Intel Arc B580 – Lowest pricing","value": 330,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5050 – Lowest pricing","value": 310,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5060 – Lowest pricing","value": 380,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5060 Ti 16 GB – Lowest pricing","value": 780,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5060 Ti 8 GB – Lowest pricing","value": 488,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5070 – Lowest pricing","value": 779,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5070 Ti – Lowest pricing","value": 1150,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5080 – Lowest pricing","value": 1653,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD Radeon RX 9070 GRE – Lowest pricing","value": 570,"unitText": "Price, $"}]}</script><div id="fv-chart-1790867600756-p0oh86j9j" class="fv-chart-wrapper fv-contains-line-chart  " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Lowest price per GPU</h3><p class="fv-chart-subhead">We've been measuring the lowest available price of each current-gen GPU since August 14, 2025.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790867600756-p0oh86j9j-line-Lowest pricing" data-chart-type="Line" data-title="Lowest pricing" data-subhead="We've been measuring the lowest available price of each current-gen GPU since August 14, 2025." data-caption="" style=""><div class="fv-benchmark-group"><div class="riv-line-chart-container" id="fv-chart-1790867600756-p0oh86j9j-line-Lowest pricing" role="group" aria-label="Line chart for Lowest pricing" style="position: relative;"><style>.riv-line-chart-container { width: 100% !important; }.riv-line-chart-svg-desktop { display: block !important; }.riv-line-chart-svg-mobile { display: none !important; }.mobile-view .riv-line-chart-svg-desktop { display: none !important; }.mobile-view .riv-line-chart-svg-mobile { display: block !important; }@media (max-width: 599px) { .riv-line-chart-svg-desktop { display: none !important; } .riv-line-chart-svg-mobile { display: block !important; } }.riv-line-legend { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px 16px !important; margin-top: 16px !important; font-family: 'Open Sans', sans-serif !important; }.riv-legend-item { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; color: #374151 !important; background: none !important; border: none !important; padding: 4px !important; border-radius: 4px !important; cursor: pointer !important; transition: opacity 0.2s !important; }.riv-legend-item.fv-primary-product { font-weight: bold !important; }.riv-legend-item:focus { outline: 2px solid var(--riv-primary) !important; }.riv-legend-marker { width: 12px !important; height: 12px !important; border-radius: 50% !important; }</style><div class="fv-y-axis-title">Lowest pricing (Price, $)</div><svg class="riv-line-chart-svg-desktop" style="overflow: visible;" fill="none" viewBox="0 0 600 340" width="100%" height="auto" aria-hidden="true"><g class="riv-grid"><line x1="45" x2="580" y1="275.00" y2="275.00" /><line x1="45" x2="580" y1="208.75" y2="208.75" /><line x1="45" x2="580" y1="142.50" y2="142.50" /><line x1="45" x2="580" y1="76.25" y2="76.25" /><line x1="45" x2="580" y1="10.00" y2="10.00" /><line x1="256.77" x2="256.77" y1="10" y2="275" /><line x1="479.69" x2="479.69" y1="10" y2="275" /></g><g class="riv-axes"><line x1="45" x2="45" y1="10" y2="275" stroke="#D1D5DB" /><line x1="45" x2="580" y1="275" y2="275" stroke="#D1D5DB" /><text x="37" y="275.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">0</text><text x="37" y="208.75" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">500</text><text x="37" y="142.50" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1000</text><text x="37" y="76.25" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1500</text><text x="37" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">2000</text><text x="256.77" y="287" transform="rotate(-45 256.77 287)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">20 Week</text><text x="479.69" y="287" transform="rotate(-45 479.69 287)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">40 Week</text></g><path class="riv-line-path" d="M 45.00,129.25 C 48.72,129.25 52.43,129.38 56.15,129.38 C 59.86,129.38 63.58,142.50 67.29,142.50 C 71.01,142.50 74.72,142.50 78.44,142.50 C 82.15,142.50 85.87,142.50 89.58,142.50 C 93.30,142.50 97.01,151.91 100.73,151.91 C 104.44,151.91 108.16,142.63 111.88,142.63 C 115.59,142.63 119.31,145.15 123.02,145.15 C 126.74,145.15 130.45,142.63 134.17,142.63 C 137.88,142.63 141.60,143.96 145.31,143.96 C 149.03,143.96 152.74,143.82 156.46,143.82 C 160.17,143.82 163.89,143.96 167.60,143.96 C 171.32,143.96 175.03,142.50 178.75,142.50 C 182.47,142.50 186.18,142.50 189.90,142.50 C 193.61,142.50 197.33,142.50 201.04,142.50 C 204.76,142.50 208.47,129.25 212.19,129.25 C 215.90,129.25 219.62,112.03 223.33,112.03 C 227.05,112.03 230.76,106.99 234.48,106.99 C 238.19,106.99 241.91,92.15 245.63,92.15 C 249.34,92.15 253.06,96.13 256.77,96.13 C 260.49,96.13 264.20,94.14 267.92,94.14 C 271.63,94.14 275.35,94.14 279.06,94.14 C 282.78,94.14 286.49,104.07 290.21,104.07 C 293.92,104.07 297.64,104.07 301.35,104.07 C 305.07,104.07 308.78,109.38 312.50,109.38 C 316.22,109.38 319.93,108.05 323.65,108.05 C 327.36,108.05 331.08,104.07 334.79,104.07 C 338.51,104.07 342.22,109.38 345.94,109.38 C 349.65,109.38 353.37,104.07 357.08,104.07 C 360.80,104.07 364.51,104.07 368.23,104.07 C 371.94,104.07 375.66,104.07 379.38,104.07 C 383.09,104.07 386.81,104.07 390.52,104.07 C 394.24,104.07 397.95,104.07 401.67,104.07 C 405.38,104.07 409.10,106.72 412.81,106.72 C 416.53,106.72 420.24,104.07 423.96,104.07 C 427.67,104.07 431.39,109.38 435.10,109.38 C 438.82,109.38 442.53,109.38 446.25,109.38 C 449.97,109.38 453.68,109.38 457.40,109.38 C 461.11,109.38 464.83,109.38 468.54,109.38 C 472.26,109.38 475.97,109.38 479.69,109.38 C 483.40,109.38 487.12,109.38 490.83,109.38 C 494.55,109.38 498.26,109.38 501.98,109.38 C 505.69,109.38 509.41,104.07 513.13,104.07 C 516.84,104.07 520.56,79.03 524.27,79.03 C 527.99,79.03 531.70,69.63 535.42,69.63 C 539.13,69.63 542.85,69.63 546.56,69.63 C 550.28,69.63 553.99,82.88 557.71,82.88 C 561.42,82.88 565.14,82.88 568.85,82.88 C 572.57,82.88 576.28,55.98 580.00,55.98" data-product="Nvidia RTX 5080" fill="none" stroke="#5bb0c0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,171.65 C 48.72,171.65 52.43,175.63 56.15,175.63 C 59.86,175.63 63.58,175.63 67.29,175.63 C 71.01,175.63 74.72,175.63 78.44,175.63 C 82.15,175.63 85.87,175.76 89.58,175.76 C 93.30,175.76 97.01,175.76 100.73,175.76 C 104.44,175.76 108.16,175.63 111.88,175.63 C 115.59,175.63 119.31,175.76 123.02,175.76 C 126.74,175.76 130.45,175.63 134.17,175.63 C 137.88,175.63 141.60,178.28 145.31,178.28 C 149.03,178.28 152.74,182.38 156.46,182.38 C 160.17,182.38 163.89,178.28 167.60,178.28 C 171.32,178.28 175.03,175.63 178.75,175.63 C 182.47,175.63 186.18,175.63 189.90,175.63 C 193.61,175.63 197.33,175.76 201.04,175.76 C 204.76,175.76 208.47,175.63 212.19,175.63 C 215.90,175.63 219.62,175.63 223.33,175.63 C 227.05,175.63 230.76,165.16 234.48,165.16 C 238.19,165.16 241.91,155.88 245.63,155.88 C 249.34,155.88 253.06,142.50 256.77,142.50 C 260.49,142.50 264.20,149.13 267.92,149.13 C 271.63,149.13 275.35,149.13 279.06,149.13 C 282.78,149.13 286.49,149.13 290.21,149.13 C 293.92,149.13 297.64,149.13 301.35,149.13 C 305.07,149.13 308.78,149.13 312.50,149.13 C 316.22,149.13 319.93,149.13 323.65,149.13 C 327.36,149.13 331.08,149.13 334.79,149.13 C 338.51,149.13 342.22,155.75 345.94,155.75 C 349.65,155.75 353.37,143.82 357.08,143.82 C 360.80,143.82 364.51,143.82 368.23,143.82 C 371.94,143.82 375.66,143.82 379.38,143.82 C 383.09,143.82 386.81,143.82 390.52,143.82 C 394.24,143.82 397.95,145.15 401.67,145.15 C 405.38,145.15 409.10,145.15 412.81,145.15 C 416.53,145.15 420.24,155.75 423.96,155.75 C 427.67,155.75 431.39,145.15 435.10,145.15 C 438.82,145.15 442.53,145.15 446.25,145.15 C 449.97,145.15 453.68,145.15 457.40,145.15 C 461.11,145.15 464.83,153.10 468.54,153.10 C 472.26,153.10 475.97,148.46 479.69,148.46 C 483.40,148.46 487.12,155.75 490.83,155.75 C 494.55,155.75 498.26,149.13 501.98,149.13 C 505.69,149.13 509.41,138.53 513.13,138.53 C 516.84,138.53 520.56,130.84 524.27,130.84 C 527.99,130.84 531.70,122.63 535.42,122.63 C 539.13,122.63 542.85,122.63 546.56,122.63 C 550.28,122.63 553.99,122.63 557.71,122.63 C 561.42,122.63 565.14,122.63 568.85,122.63 C 572.57,122.63 576.28,122.63 580.00,122.63" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#ffcea9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,202.13 C 48.72,202.13 52.43,202.13 56.15,202.13 C 59.86,202.13 63.58,205.57 67.29,205.57 C 71.01,205.57 74.72,202.66 78.44,202.66 C 82.15,202.66 85.87,211.27 89.58,211.27 C 93.30,211.27 97.01,208.88 100.73,208.88 C 104.44,208.88 108.16,206.10 111.88,206.10 C 115.59,206.10 119.31,208.75 123.02,208.75 C 126.74,208.75 130.45,208.75 134.17,208.75 C 137.88,208.75 141.60,211.40 145.31,211.40 C 149.03,211.40 152.74,210.21 156.46,210.21 C 160.17,210.21 163.89,208.75 167.60,208.75 C 171.32,208.75 175.03,205.17 178.75,205.17 C 182.47,205.17 186.18,203.45 189.90,203.45 C 193.61,203.45 197.33,208.88 201.04,208.88 C 204.76,208.88 208.47,208.88 212.19,208.88 C 215.90,208.88 219.62,202.26 223.33,202.26 C 227.05,202.26 230.76,203.45 234.48,203.45 C 238.19,203.45 241.91,202.26 245.63,202.26 C 249.34,202.26 253.06,192.85 256.77,192.85 C 260.49,192.85 264.20,192.85 267.92,192.85 C 271.63,192.85 275.35,192.85 279.06,192.85 C 282.78,192.85 286.49,191.53 290.21,191.53 C 293.92,191.53 297.64,192.19 301.35,192.19 C 305.07,192.19 308.78,191.53 312.50,191.53 C 316.22,191.53 319.93,194.97 323.65,194.97 C 327.36,194.97 331.08,190.20 334.79,190.20 C 338.51,190.20 342.22,191.53 345.94,191.53 C 349.65,191.53 353.37,190.73 357.08,190.73 C 360.80,190.73 364.51,191.53 368.23,191.53 C 371.94,191.53 375.66,195.63 379.38,195.63 C 383.09,195.63 386.81,195.63 390.52,195.63 C 394.24,195.63 397.95,195.63 401.67,195.63 C 405.38,195.63 409.10,195.63 412.81,195.63 C 416.53,195.63 420.24,195.63 423.96,195.63 C 427.67,195.63 431.39,195.63 435.10,195.63 C 438.82,195.63 442.53,195.63 446.25,195.63 C 449.97,195.63 453.68,195.63 457.40,195.63 C 461.11,195.63 464.83,195.63 468.54,195.63 C 472.26,195.63 475.97,195.63 479.69,195.63 C 483.40,195.63 487.12,200.80 490.83,200.80 C 494.55,200.80 498.26,202.13 501.98,202.13 C 505.69,202.13 509.41,174.96 513.13,174.96 C 516.84,174.96 520.56,173.90 524.27,173.90 C 527.99,173.90 531.70,169.00 535.42,169.00 C 539.13,169.00 542.85,174.43 546.56,174.43 C 550.28,174.43 553.99,178.94 557.71,178.94 C 561.42,178.94 565.14,171.78 568.85,171.78 C 572.57,171.78 576.28,171.78 580.00,171.78" data-product="Nvidia RTX 5070" fill="none" stroke="#d26365" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,218.03 C 48.72,218.03 52.43,218.03 56.15,218.03 C 59.86,218.03 63.58,218.03 67.29,218.03 C 71.01,218.03 74.72,218.03 78.44,218.03 C 82.15,218.03 85.87,218.03 89.58,218.03 C 93.30,218.03 97.01,224.78 100.73,224.78 C 104.44,224.78 108.16,218.03 111.88,218.03 C 115.59,218.03 119.31,218.03 123.02,218.03 C 126.74,218.03 130.45,218.03 134.17,218.03 C 137.88,218.03 141.60,218.03 145.31,218.03 C 149.03,218.03 152.74,222.00 156.46,222.00 C 160.17,222.00 163.89,222.00 167.60,222.00 C 171.32,222.00 175.03,219.35 178.75,219.35 C 182.47,219.35 186.18,219.35 189.90,219.35 C 193.61,219.35 197.33,218.03 201.04,218.03 C 204.76,218.03 208.47,218.03 212.19,218.03 C 215.90,218.03 219.62,218.03 223.33,218.03 C 227.05,218.03 230.76,215.38 234.48,215.38 C 238.19,215.38 241.91,215.38 245.63,215.38 C 249.34,215.38 253.06,206.10 256.77,206.10 C 260.49,206.10 264.20,206.10 267.92,206.10 C 271.63,206.10 275.35,206.10 279.06,206.10 C 282.78,206.10 286.49,206.10 290.21,206.10 C 293.92,206.10 297.64,206.10 301.35,206.10 C 305.07,206.10 308.78,202.13 312.50,202.13 C 316.22,202.13 319.93,202.13 323.65,202.13 C 327.36,202.13 331.08,199.48 334.79,199.48 C 338.51,199.48 342.22,206.76 345.94,206.76 C 349.65,206.76 353.37,208.75 357.08,208.75 C 360.80,208.75 364.51,208.75 368.23,208.75 C 371.94,208.75 375.66,208.75 379.38,208.75 C 383.09,208.75 386.81,206.76 390.52,206.76 C 394.24,206.76 397.95,210.07 401.67,210.07 C 405.38,210.07 409.10,202.13 412.81,202.13 C 416.53,202.13 420.24,202.13 423.96,202.13 C 427.67,202.13 431.39,202.13 435.10,202.13 C 438.82,202.13 442.53,199.48 446.25,199.48 C 449.97,199.48 453.68,199.48 457.40,199.48 C 461.11,199.48 464.83,199.48 468.54,199.48 C 472.26,199.48 475.97,200.14 479.69,200.14 C 483.40,200.14 487.12,200.80 490.83,200.80 C 494.55,200.80 498.26,199.48 501.98,199.48 C 505.69,199.48 509.41,188.88 513.13,188.88 C 516.84,188.88 520.56,171.65 524.27,171.65 C 527.99,171.65 531.70,172.58 535.42,172.58 C 539.13,172.58 542.85,199.48 546.56,199.48 C 550.28,199.48 553.99,199.48 557.71,199.48 C 561.42,199.48 565.14,171.65 568.85,171.65 C 572.57,171.65 576.28,171.65 580.00,171.65" data-product="Nvidia RTX 5060 Ti 16 GB" fill="none" stroke="#e38e4f" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,226.24 C 48.72,226.24 52.43,229.95 56.15,229.95 C 59.86,229.95 63.58,225.97 67.29,225.97 C 71.01,225.97 74.72,229.29 78.44,229.29 C 82.15,229.29 85.87,229.95 89.58,229.95 C 93.30,229.95 97.01,229.95 100.73,229.95 C 104.44,229.95 108.16,228.63 111.88,228.63 C 115.59,228.63 119.31,229.69 123.02,229.69 C 126.74,229.69 130.45,232.20 134.17,232.20 C 137.88,232.20 141.60,229.95 145.31,229.95 C 149.03,229.95 152.74,232.60 156.46,232.60 C 160.17,232.60 163.89,232.60 167.60,232.60 C 171.32,232.60 175.03,229.69 178.75,229.69 C 182.47,229.69 186.18,233.53 189.90,233.53 C 193.61,233.53 197.33,228.63 201.04,228.63 C 204.76,228.63 208.47,228.63 212.19,228.63 C 215.90,228.63 219.62,231.28 223.33,231.28 C 227.05,231.28 230.76,231.28 234.48,231.28 C 238.19,231.28 241.91,231.28 245.63,231.28 C 249.34,231.28 253.06,231.28 256.77,231.28 C 260.49,231.28 264.20,228.49 267.92,228.49 C 271.63,228.49 275.35,227.30 279.06,227.30 C 282.78,227.30 286.49,227.30 290.21,227.30 C 293.92,227.30 297.64,227.30 301.35,227.30 C 305.07,227.30 308.78,227.30 312.50,227.30 C 316.22,227.30 319.93,227.30 323.65,227.30 C 327.36,227.30 331.08,227.30 334.79,227.30 C 338.51,227.30 342.22,223.32 345.94,223.32 C 349.65,223.32 353.37,223.32 357.08,223.32 C 360.80,223.32 364.51,223.32 368.23,223.32 C 371.94,223.32 375.66,224.65 379.38,224.65 C 383.09,224.65 386.81,224.65 390.52,224.65 C 394.24,224.65 397.95,222.00 401.67,222.00 C 405.38,222.00 409.10,224.65 412.81,224.65 C 416.53,224.65 420.24,224.65 423.96,224.65 C 427.67,224.65 431.39,225.97 435.10,225.97 C 438.82,225.97 442.53,225.97 446.25,225.97 C 449.97,225.97 453.68,225.97 457.40,225.97 C 461.11,225.97 464.83,231.28 468.54,231.28 C 472.26,231.28 475.97,231.28 479.69,231.28 C 483.40,231.28 487.12,231.28 490.83,231.28 C 494.55,231.28 498.26,224.65 501.98,224.65 C 505.69,224.65 509.41,219.35 513.13,219.35 C 516.84,219.35 520.56,219.35 524.27,219.35 C 527.99,219.35 531.70,223.46 535.42,223.46 C 539.13,223.46 542.85,223.46 546.56,223.46 C 550.28,223.46 553.99,223.46 557.71,223.46 C 561.42,223.46 565.14,223.46 568.85,223.46 C 572.57,223.46 576.28,210.34 580.00,210.34" data-product="Nvidia RTX 5060 Ti 8 GB" fill="none" stroke="#75bdd1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,235.25 C 48.72,235.25 52.43,235.25 56.15,235.25 C 59.86,235.25 63.58,236.44 67.29,236.44 C 71.01,236.44 74.72,235.78 78.44,235.78 C 82.15,235.78 85.87,235.25 89.58,235.25 C 93.30,235.25 97.01,236.71 100.73,236.71 C 104.44,236.71 108.16,235.38 111.88,235.38 C 115.59,235.38 119.31,235.38 123.02,235.38 C 126.74,235.38 130.45,235.38 134.17,235.38 C 137.88,235.38 141.60,235.38 145.31,235.38 C 149.03,235.38 152.74,237.90 156.46,237.90 C 160.17,237.90 163.89,238.03 167.60,238.03 C 171.32,238.03 175.03,238.03 178.75,238.03 C 182.47,238.03 186.18,238.03 189.90,238.03 C 193.61,238.03 197.33,238.03 201.04,238.03 C 204.76,238.03 208.47,239.22 212.19,239.22 C 215.90,239.22 219.62,240.55 223.33,240.55 C 227.05,240.55 230.76,236.57 234.48,236.57 C 238.19,236.57 241.91,235.38 245.63,235.38 C 249.34,235.38 253.06,235.38 256.77,235.38 C 260.49,235.38 264.20,235.38 267.92,235.38 C 271.63,235.38 275.35,235.38 279.06,235.38 C 282.78,235.38 286.49,229.95 290.21,229.95 C 293.92,229.95 297.64,229.95 301.35,229.95 C 305.07,229.95 308.78,228.76 312.50,228.76 C 316.22,228.76 319.93,228.76 323.65,228.76 C 327.36,228.76 331.08,228.76 334.79,228.76 C 338.51,228.76 342.22,228.76 345.94,228.76 C 349.65,228.76 353.37,228.76 357.08,228.76 C 360.80,228.76 364.51,231.28 368.23,231.28 C 371.94,231.28 375.66,231.28 379.38,231.28 C 383.09,231.28 386.81,233.93 390.52,233.93 C 394.24,233.93 397.95,228.76 401.67,228.76 C 405.38,228.76 409.10,228.76 412.81,228.76 C 416.53,228.76 420.24,228.63 423.96,228.63 C 427.67,228.63 431.39,229.95 435.10,229.95 C 438.82,229.95 442.53,229.95 446.25,229.95 C 449.97,229.95 453.68,229.95 457.40,229.95 C 461.11,229.95 464.83,229.95 468.54,229.95 C 472.26,229.95 475.97,229.95 479.69,229.95 C 483.40,229.95 487.12,230.08 490.83,230.08 C 494.55,230.08 498.26,228.63 501.98,228.63 C 505.69,228.63 509.41,227.43 513.13,227.43 C 520.56,227.43 527.99,227.43 535.42,227.43 C 539.13,227.43 542.85,227.43 546.56,227.43 C 550.28,227.43 553.99,227.43 557.71,227.43 C 561.42,227.43 565.14,227.43 568.85,227.43 C 572.57,227.43 576.28,224.65 580.00,224.65" data-product="Nvidia RTX 5060" fill="none" stroke="#e97a7b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,241.88 C 48.72,241.88 52.43,241.88 56.15,241.88 C 59.86,241.88 63.58,241.88 67.29,241.88 C 71.01,241.88 74.72,241.88 78.44,241.88 C 82.15,241.88 85.87,241.88 89.58,241.88 C 93.30,241.88 97.01,243.20 100.73,243.20 C 104.44,243.20 108.16,243.20 111.88,243.20 C 115.59,243.20 119.31,241.88 123.02,241.88 C 126.74,241.88 130.45,241.88 134.17,241.88 C 137.88,241.88 141.60,241.88 145.31,241.88 C 149.03,241.88 152.74,244.53 156.46,244.53 C 160.17,244.53 163.89,245.85 167.60,245.85 C 171.32,245.85 175.03,245.85 178.75,245.85 C 182.47,245.85 186.18,245.85 189.90,245.85 C 193.61,245.85 197.33,248.50 201.04,248.50 C 204.76,248.50 208.47,248.50 212.19,248.50 C 215.90,248.50 219.62,243.86 223.33,243.86 C 227.05,243.86 230.76,243.20 234.48,243.20 C 238.19,243.20 241.91,243.20 245.63,243.20 C 249.34,243.20 253.06,243.20 256.77,243.20 C 260.49,243.20 264.20,240.55 267.92,240.55 C 271.63,240.55 275.35,240.55 279.06,240.55 C 282.78,240.55 286.49,240.55 290.21,240.55 C 293.92,240.55 297.64,240.55 301.35,240.55 C 305.07,240.55 308.78,240.55 312.50,240.55 C 316.22,240.55 319.93,236.57 323.65,236.57 C 327.36,236.57 331.08,236.57 334.79,236.57 C 338.51,236.57 342.22,236.57 345.94,236.57 C 349.65,236.57 353.37,236.57 357.08,236.57 C 360.80,236.57 364.51,236.57 368.23,236.57 C 371.94,236.57 375.66,236.57 379.38,236.57 C 383.09,236.57 386.81,236.57 390.52,236.57 C 394.24,236.57 397.95,236.57 401.67,236.57 C 405.38,236.57 409.10,236.57 412.81,236.57 C 416.53,236.57 420.24,236.57 423.96,236.57 C 427.67,236.57 431.39,236.57 435.10,236.57 C 438.82,236.57 442.53,236.57 446.25,236.57 C 449.97,236.57 453.68,236.57 457.40,236.57 C 461.11,236.57 464.83,236.57 468.54,236.57 C 472.26,236.57 475.97,236.57 479.69,236.57 C 483.40,236.57 487.12,236.57 490.83,236.57 C 494.55,236.57 498.26,236.57 501.98,236.57 C 505.69,236.57 509.41,235.38 513.13,235.38 C 516.84,235.38 520.56,235.38 524.27,235.38 C 527.99,235.38 531.70,235.38 535.42,235.38 C 539.13,235.38 542.85,235.38 546.56,235.38 C 550.28,235.38 553.99,235.38 557.71,235.38 C 557.71,235.38 557.71,235.38 557.71,235.38 C 565.14,235.38 572.57,233.93 580.00,233.93" data-product="Nvidia RTX 5050" fill="none" stroke="#D07F46" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,182.25 C 48.72,182.25 52.43,182.25 56.15,182.25 C 59.86,182.25 63.58,182.25 67.29,182.25 C 71.01,182.25 74.72,182.91 78.44,182.91 C 82.15,182.91 85.87,186.22 89.58,186.22 C 93.30,186.22 97.01,186.22 100.73,186.22 C 104.44,186.22 108.16,188.88 111.88,188.88 C 115.59,188.88 119.31,188.88 123.02,188.88 C 126.74,188.88 130.45,188.88 134.17,188.88 C 137.88,188.88 141.60,195.50 145.31,195.50 C 149.03,195.50 152.74,195.50 156.46,195.50 C 160.17,195.50 163.89,195.50 167.60,195.50 C 171.32,195.50 175.03,195.50 178.75,195.50 C 182.47,195.50 186.18,195.50 189.90,195.50 C 193.61,195.50 197.33,195.50 201.04,195.50 C 204.76,195.50 208.47,192.85 212.19,192.85 C 215.90,192.85 219.62,187.55 223.33,187.55 C 227.05,187.55 230.76,182.25 234.48,182.25 C 238.19,182.25 241.91,179.60 245.63,179.60 C 249.34,179.60 253.06,179.60 256.77,179.60 C 260.49,179.60 264.20,178.28 267.92,178.28 C 271.63,178.28 275.35,178.28 279.06,178.28 C 282.78,178.28 286.49,178.28 290.21,178.28 C 293.92,178.28 297.64,178.28 301.35,178.28 C 305.07,178.28 308.78,178.28 312.50,178.28 C 316.22,178.28 319.93,178.28 323.65,178.28 C 327.36,178.28 331.08,178.28 334.79,178.28 C 338.51,178.28 342.22,179.60 345.94,179.60 C 349.65,179.60 353.37,180.93 357.08,180.93 C 360.80,180.93 364.51,180.93 368.23,180.93 C 371.94,180.93 375.66,186.22 379.38,186.22 C 383.09,186.22 386.81,180.93 390.52,180.93 C 394.24,180.93 397.95,180.93 401.67,180.93 C 405.38,180.93 409.10,180.93 412.81,180.93 C 416.53,180.93 420.24,182.25 423.96,182.25 C 427.67,182.25 431.39,182.25 435.10,182.25 C 438.82,182.25 442.53,182.25 446.25,182.25 C 449.97,182.25 453.68,182.25 457.40,182.25 C 461.11,182.25 464.83,182.25 468.54,182.25 C 472.26,182.25 475.97,182.25 479.69,182.25 C 483.40,182.25 487.12,182.25 490.83,182.25 C 494.55,182.25 498.26,183.57 501.98,183.57 C 505.69,183.57 509.41,179.60 513.13,179.60 C 516.84,179.60 520.56,179.60 524.27,179.60 C 527.99,179.60 531.70,178.28 535.42,178.28 C 539.13,178.28 542.85,176.95 546.56,176.95 C 550.28,176.95 553.99,176.95 557.71,176.95 C 561.42,176.95 565.14,174.30 568.85,174.30 C 572.57,174.30 576.28,174.30 580.00,174.30" data-product="AMD RX 9070 XT" fill="none" stroke="#FFC08B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,195.50 C 48.72,195.50 52.43,195.50 56.15,195.50 C 59.86,195.50 63.58,202.13 67.29,202.13 C 71.01,202.13 74.72,202.13 78.44,202.13 C 82.15,202.13 85.87,195.50 89.58,195.50 C 93.30,195.50 97.01,195.50 100.73,195.50 C 104.44,195.50 108.16,202.13 111.88,202.13 C 115.59,202.13 119.31,202.13 123.02,202.13 C 126.74,202.13 130.45,200.80 134.17,200.80 C 137.88,200.80 141.60,202.13 145.31,202.13 C 149.03,202.13 152.74,202.13 156.46,202.13 C 160.17,202.13 163.89,204.77 167.60,204.77 C 171.32,204.77 175.03,204.77 178.75,204.77 C 182.47,204.77 186.18,204.77 189.90,204.77 C 193.61,204.77 197.33,204.77 201.04,204.77 C 204.76,204.77 208.47,204.77 212.19,204.77 C 215.90,204.77 219.62,198.15 223.33,198.15 C 227.05,198.15 230.76,198.15 234.48,198.15 C 238.19,198.15 241.91,198.15 245.63,198.15 C 249.34,198.15 253.06,195.50 256.77,195.50 C 260.49,195.50 264.20,196.82 267.92,196.82 C 271.63,196.82 275.35,191.53 279.06,191.53 C 282.78,191.53 286.49,191.53 290.21,191.53 C 293.92,191.53 297.64,192.85 301.35,192.85 C 305.07,192.85 308.78,194.18 312.50,194.18 C 316.22,194.18 319.93,194.18 323.65,194.18 C 327.36,194.18 331.08,191.53 334.79,191.53 C 338.51,191.53 342.22,192.85 345.94,192.85 C 349.65,192.85 353.37,192.85 357.08,192.85 C 360.80,192.85 364.51,192.85 368.23,192.85 C 371.94,192.85 375.66,192.85 379.38,192.85 C 383.09,192.85 386.81,192.85 390.52,192.85 C 394.24,192.85 397.95,195.50 401.67,195.50 C 405.38,195.50 409.10,192.85 412.81,192.85 C 416.53,192.85 420.24,195.50 423.96,195.50 C 427.67,195.50 431.39,195.50 435.10,195.50 C 438.82,195.50 442.53,195.50 446.25,195.50 C 449.97,195.50 453.68,195.50 457.40,195.50 C 461.11,195.50 464.83,195.50 468.54,195.50 C 472.26,195.50 475.97,195.50 479.69,195.50 C 483.40,195.50 487.12,195.50 490.83,195.50 C 494.55,195.50 498.26,190.86 501.98,190.86 C 505.69,190.86 509.41,188.88 513.13,188.88 C 516.84,188.88 520.56,188.88 524.27,188.88 C 527.99,188.88 531.70,191.53 535.42,191.53 C 539.13,191.53 542.85,188.88 546.56,188.88 C 550.28,188.88 553.99,188.88 557.71,188.88 C 561.42,188.88 565.14,188.88 568.85,188.88 C 572.57,188.88 576.28,186.62 580.00,186.62" data-product="AMD RX 9070" fill="none" stroke="#EB6F71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 435.10,202.13 C 438.82,202.13 442.53,202.13 446.25,202.13 C 449.97,202.13 453.68,202.13 457.40,202.13 C 461.11,202.13 464.83,208.75 468.54,208.75 C 472.26,208.75 475.97,208.75 479.69,208.75 C 483.40,208.75 487.12,208.75 490.83,208.75 C 494.55,208.75 498.26,202.13 501.98,202.13 C 505.69,202.13 509.41,208.75 513.13,208.75 C 516.84,208.75 520.56,208.75 524.27,208.75 C 527.99,208.75 531.70,204.77 535.42,204.77 C 539.13,204.77 542.85,204.77 546.56,204.77 C 550.28,204.77 553.99,206.10 557.71,206.10 C 561.42,206.10 565.14,208.75 568.85,208.75 C 572.57,208.75 576.28,199.48 580.00,199.48" data-product="AMD Radeon RX 9070 GRE" fill="none" stroke="#E33235" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,225.97 C 48.72,225.97 52.43,225.97 56.15,225.97 C 59.86,225.97 63.58,225.97 67.29,225.97 C 71.01,225.97 74.72,225.97 78.44,225.97 C 82.15,225.97 85.87,228.63 89.58,228.63 C 93.30,228.63 97.01,228.63 100.73,228.63 C 104.44,228.63 108.16,228.63 111.88,228.63 C 115.59,228.63 119.31,228.63 123.02,228.63 C 126.74,228.63 130.45,228.63 134.17,228.63 C 137.88,228.63 141.60,227.30 145.31,227.30 C 149.03,227.30 152.74,229.95 156.46,229.95 C 160.17,229.95 163.89,228.63 167.60,228.63 C 171.32,228.63 175.03,228.63 178.75,228.63 C 182.47,228.63 186.18,225.97 189.90,225.97 C 193.61,225.97 197.33,224.65 201.04,224.65 C 204.76,224.65 208.47,224.65 212.19,224.65 C 215.90,224.65 219.62,223.32 223.33,223.32 C 227.05,223.32 230.76,223.32 234.48,223.32 C 238.19,223.32 241.91,222.00 245.63,222.00 C 249.34,222.00 253.06,216.70 256.77,216.70 C 260.49,216.70 264.20,216.70 267.92,216.70 C 271.63,216.70 275.35,222.00 279.06,222.00 C 282.78,222.00 286.49,216.70 290.21,216.70 C 293.92,216.70 297.64,216.70 301.35,216.70 C 305.07,216.70 308.78,216.70 312.50,216.70 C 316.22,216.70 319.93,216.70 323.65,216.70 C 327.36,216.70 331.08,216.70 334.79,216.70 C 338.51,216.70 342.22,216.70 345.94,216.70 C 349.65,216.70 353.37,215.51 357.08,215.51 C 360.80,215.51 364.51,216.70 368.23,216.70 C 371.94,216.70 375.66,216.70 379.38,216.70 C 383.09,216.70 386.81,218.03 390.52,218.03 C 394.24,218.03 397.95,218.03 401.67,218.03 C 405.38,218.03 409.10,216.70 412.81,216.70 C 416.53,216.70 420.24,218.03 423.96,218.03 C 427.67,218.03 431.39,216.70 435.10,216.70 C 438.82,216.70 442.53,216.70 446.25,216.70 C 449.97,216.70 453.68,216.70 457.40,216.70 C 461.11,216.70 464.83,222.00 468.54,222.00 C 472.26,222.00 475.97,218.03 479.69,218.03 C 483.40,218.03 487.12,218.03 490.83,218.03 C 494.55,218.03 498.26,215.38 501.98,215.38 C 505.69,215.38 509.41,212.72 513.13,212.72 C 516.84,212.72 520.56,212.72 524.27,212.72 C 527.99,212.72 531.70,214.05 535.42,214.05 C 539.13,214.05 542.85,212.72 546.56,212.72 C 550.28,212.72 553.99,212.72 557.71,212.72 C 561.42,212.72 565.14,212.72 568.85,212.72 C 572.57,212.72 576.28,208.75 580.00,208.75" data-product="AMD RX 9060 XT 16 GB" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,237.90 C 48.72,237.90 52.43,239.22 56.15,239.22 C 59.86,239.22 63.58,237.90 67.29,237.90 C 71.01,237.90 74.72,237.90 78.44,237.90 C 82.15,237.90 85.87,239.22 89.58,239.22 C 93.30,239.22 97.01,239.22 100.73,239.22 C 104.44,239.22 108.16,239.22 111.88,239.22 C 115.59,239.22 119.31,239.22 123.02,239.22 C 126.74,239.22 130.45,239.22 134.17,239.22 C 137.88,239.22 141.60,239.22 145.31,239.22 C 149.03,239.22 152.74,241.88 156.46,241.88 C 160.17,241.88 163.89,238.56 167.60,238.56 C 171.32,238.56 175.03,237.90 178.75,237.90 C 182.47,237.90 186.18,237.90 189.90,237.90 C 193.61,237.90 197.33,236.84 201.04,236.84 C 204.76,236.84 208.47,236.84 212.19,236.84 C 215.90,236.84 219.62,233.93 223.33,233.93 C 227.05,233.93 230.76,233.93 234.48,233.93 C 238.19,233.93 241.91,233.93 245.63,233.93 C 249.34,233.93 253.06,233.93 256.77,233.93 C 260.49,233.93 264.20,228.63 267.92,228.63 C 271.63,228.63 275.35,229.16 279.06,229.16 C 282.78,229.16 286.49,229.16 290.21,229.16 C 293.92,229.16 297.64,229.16 301.35,229.16 C 305.07,229.16 308.78,229.16 312.50,229.16 C 316.22,229.16 319.93,229.95 323.65,229.95 C 327.36,229.95 331.08,229.95 334.79,229.95 C 338.51,229.95 342.22,229.16 345.94,229.16 C 349.65,229.16 353.37,228.63 357.08,228.63 C 360.80,228.63 364.51,228.63 368.23,228.63 C 371.94,228.63 375.66,228.63 379.38,228.63 C 383.09,228.63 386.81,227.30 390.52,227.30 C 394.24,227.30 397.95,227.30 401.67,227.30 C 405.38,227.30 409.10,227.30 412.81,227.30 C 416.53,227.30 420.24,227.30 423.96,227.30 C 427.67,227.30 431.39,227.30 435.10,227.30 C 438.82,227.30 442.53,228.63 446.25,228.63 C 449.97,228.63 453.68,228.63 457.40,228.63 C 461.11,228.63 464.83,227.30 468.54,227.30 C 472.26,227.30 475.97,227.30 479.69,227.30 C 483.40,227.30 487.12,227.30 490.83,227.30 C 494.55,227.30 498.26,227.30 501.98,227.30 C 505.69,227.30 509.41,225.97 513.13,225.97 C 516.84,225.97 520.56,222.00 524.27,222.00 C 527.99,222.00 531.70,227.30 535.42,227.30 C 539.13,227.30 542.85,222.00 546.56,222.00 C 550.28,222.00 553.99,220.81 557.71,220.81 C 561.42,220.81 565.14,218.03 568.85,218.03 C 572.57,218.03 576.28,215.38 580.00,215.38" data-product="AMD RX 9060 XT 8 GB" fill="none" stroke="#1CA9C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,240.55 C 48.72,240.55 52.43,240.55 56.15,240.55 C 59.86,240.55 63.58,241.88 67.29,241.88 C 71.01,241.88 74.72,241.88 78.44,241.88 C 82.15,241.88 85.87,241.88 89.58,241.88 C 93.30,241.88 97.01,241.88 100.73,241.88 C 104.44,241.88 108.16,241.88 111.88,241.88 C 115.59,241.88 119.31,241.88 123.02,241.88 C 126.74,241.88 130.45,241.88 134.17,241.88 C 137.88,241.88 141.60,241.88 145.31,241.88 C 149.03,241.88 152.74,241.88 156.46,241.88 C 160.17,241.88 163.89,241.88 167.60,241.88 C 171.32,241.88 175.03,241.88 178.75,241.88 C 182.47,241.88 186.18,241.88 189.90,241.88 C 193.61,241.88 197.33,243.20 201.04,243.20 C 204.76,243.20 208.47,243.20 212.19,243.20 C 215.90,243.20 219.62,241.88 223.33,241.88 C 227.05,241.88 230.76,241.88 234.48,241.88 C 238.19,241.88 241.91,240.55 245.63,240.55 C 249.34,240.55 253.06,236.57 256.77,236.57 C 260.49,236.57 264.20,236.57 267.92,236.57 C 271.63,236.57 275.35,235.25 279.06,235.25 C 282.78,235.25 286.49,235.25 290.21,235.25 C 293.92,235.25 297.64,235.25 301.35,235.25 C 305.07,235.25 308.78,235.25 312.50,235.25 C 316.22,235.25 319.93,235.25 323.65,235.25 C 327.36,235.25 331.08,235.25 334.79,235.25 C 338.51,235.25 342.22,236.57 345.94,236.57 C 349.65,236.57 353.37,236.57 357.08,236.57 C 360.80,236.57 364.51,236.57 368.23,236.57 C 371.94,236.57 375.66,236.57 379.38,236.57 C 383.09,236.57 386.81,236.57 390.52,236.57 C 394.24,236.57 397.95,236.57 401.67,236.57 C 405.38,236.57 409.10,236.57 412.81,236.57 C 416.53,236.57 420.24,234.72 423.96,234.72 C 427.67,234.72 431.39,235.25 435.10,235.25 C 438.82,235.25 442.53,234.72 446.25,234.72 C 449.97,234.72 453.68,234.72 457.40,234.72 C 461.11,234.72 464.83,235.51 468.54,235.51 C 472.26,235.51 475.97,236.44 479.69,236.44 C 483.40,236.44 487.12,236.57 490.83,236.57 C 494.55,236.57 498.26,236.57 501.98,236.57 C 505.69,236.57 509.41,233.93 513.13,233.93 C 516.84,233.93 520.56,233.93 524.27,233.93 C 527.99,233.93 531.70,233.93 535.42,233.93 C 539.13,233.93 542.85,233.93 546.56,233.93 C 550.28,233.93 553.99,233.93 557.71,233.93 C 561.42,233.93 565.14,231.28 568.85,231.28 C 572.57,231.28 576.28,231.28 580.00,231.28" data-product="Intel Arc B580" fill="none" stroke="#B5282A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,244.53 C 48.72,244.53 52.43,244.53 56.15,244.53 C 59.86,244.53 63.58,244.53 67.29,244.53 C 71.01,244.53 74.72,244.53 78.44,244.53 C 82.15,244.53 85.87,244.53 89.58,244.53 C 93.30,244.53 97.01,244.53 100.73,244.53 C 104.44,244.53 108.16,244.53 111.88,244.53 C 115.59,244.53 119.31,248.50 123.02,248.50 C 126.74,248.50 130.45,245.85 134.17,245.85 C 137.88,245.85 141.60,247.18 145.31,247.18 C 149.03,247.18 152.74,248.50 156.46,248.50 C 160.17,248.50 163.89,248.50 167.60,248.50 C 171.32,248.50 175.03,248.50 178.75,248.50 C 182.47,248.50 186.18,248.24 189.90,248.24 C 193.61,248.24 197.33,248.24 201.04,248.24 C 204.76,248.24 208.47,248.24 212.19,248.24 C 215.90,248.24 219.62,248.50 223.33,248.50 C 227.05,248.50 230.76,248.50 234.48,248.50 C 238.19,248.50 241.91,248.50 245.63,248.50 C 249.34,248.50 253.06,248.50 256.77,248.50 C 260.49,248.50 264.20,241.88 267.92,241.88 C 271.63,241.88 275.35,241.88 279.06,241.88 C 282.78,241.88 286.49,241.88 290.21,241.88 C 293.92,241.88 297.64,241.88 301.35,241.88 C 305.07,241.88 308.78,241.88 312.50,241.88 C 316.22,241.88 319.93,241.88 323.65,241.88 C 327.36,241.88 331.08,241.88 334.79,241.88 C 338.51,241.88 342.22,241.88 345.94,241.88 C 349.65,241.88 353.37,241.88 357.08,241.88 C 360.80,241.88 364.51,240.55 368.23,240.55 C 371.94,240.55 375.66,240.55 379.38,240.55 C 383.09,240.55 386.81,240.55 390.52,240.55 C 394.24,240.55 397.95,240.55 401.67,240.55 C 405.38,240.55 409.10,240.55 412.81,240.55 C 416.53,240.55 420.24,240.55 423.96,240.55 C 427.67,240.55 431.39,240.55 435.10,240.55 C 438.82,240.55 442.53,241.88 446.25,241.88 C 449.97,241.88 453.68,241.88 457.40,241.88 C 461.11,241.88 464.83,241.88 468.54,241.88 C 472.26,241.88 475.97,240.55 479.69,240.55 C 483.40,240.55 487.12,241.88 490.83,241.88 C 494.55,241.88 498.26,240.55 501.98,240.55 C 505.69,240.55 509.41,240.55 513.13,240.55 C 516.84,240.55 520.56,240.55 524.27,240.55 C 527.99,240.55 531.70,240.55 535.42,240.55 C 539.13,240.55 542.85,240.55 546.56,240.55 C 550.28,240.55 553.99,240.55 557.71,240.55 C 561.42,240.55 565.14,240.55 568.85,240.55 C 572.57,240.55 576.28,240.55 580.00,240.55" data-product="Intel Arc B570" fill="none" stroke="#66C5D7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="45.00" cy="129.25" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="56.15" cy="129.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="67.29" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="78.44" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="89.58" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="100.73" cy="151.91" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="111.88" cy="142.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="123.02" cy="145.15" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="134.17" cy="142.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="145.31" cy="143.96" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="156.46" cy="143.82" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="167.60" cy="143.96" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="178.75" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="189.90" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="201.04" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="212.19" cy="129.25" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="223.33" cy="112.03" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="234.48" cy="106.99" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="245.63" cy="92.15" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="256.77" cy="96.13" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="267.92" cy="94.14" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="279.06" cy="94.14" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="290.21" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="301.35" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="312.50" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="323.65" cy="108.05" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="334.79" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="345.94" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="357.08" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="368.23" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="379.38" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="390.52" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="401.67" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="412.81" cy="106.72" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="423.96" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="435.10" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="446.25" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="457.40" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="468.54" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="479.69" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="490.83" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="501.98" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="513.13" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="524.27" cy="79.03" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="535.42" cy="69.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="546.56" cy="69.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="557.71" cy="82.88" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="568.85" cy="82.88" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="580.00" cy="55.98" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="45.00" cy="171.65" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="56.15" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="67.29" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="78.44" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="89.58" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="100.73" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="111.88" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="123.02" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="134.17" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="145.31" cy="178.28" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="156.46" cy="182.38" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="167.60" cy="178.28" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="178.75" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="189.90" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="201.04" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="212.19" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="223.33" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="234.48" cy="165.16" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="245.63" cy="155.88" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="256.77" cy="142.50" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="267.92" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="279.06" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="290.21" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="301.35" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="312.50" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="323.65" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="334.79" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="345.94" cy="155.75" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="357.08" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="368.23" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="379.38" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="390.52" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="401.67" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="412.81" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="423.96" cy="155.75" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="435.10" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="446.25" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="457.40" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="468.54" cy="153.10" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="479.69" cy="148.46" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="490.83" cy="155.75" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="501.98" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="513.13" cy="138.53" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="524.27" cy="130.84" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="535.42" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="546.56" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="557.71" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="568.85" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="580.00" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="45.00" cy="202.13" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="56.15" cy="202.13" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="67.29" cy="205.57" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="78.44" cy="202.66" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="89.58" cy="211.27" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="100.73" cy="208.88" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="111.88" cy="206.10" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="123.02" cy="208.75" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="134.17" cy="208.75" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="145.31" cy="211.40" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="156.46" cy="210.21" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="167.60" cy="208.75" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="178.75" cy="205.17" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="189.90" cy="203.45" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="201.04" cy="208.88" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="212.19" cy="208.88" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="223.33" cy="202.26" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="234.48" cy="203.45" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="245.63" cy="202.26" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="256.77" cy="192.85" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="267.92" cy="192.85" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="279.06" cy="192.85" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="290.21" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="301.35" cy="192.19" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="312.50" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="323.65" cy="194.97" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="334.79" cy="190.20" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="345.94" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="357.08" cy="190.73" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="368.23" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="379.38" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="390.52" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="401.67" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="412.81" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="423.96" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="435.10" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="446.25" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="457.40" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="468.54" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="479.69" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="490.83" cy="200.80" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="501.98" cy="202.13" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="513.13" cy="174.96" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="524.27" cy="173.90" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="535.42" cy="169.00" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="546.56" cy="174.43" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="557.71" cy="178.94" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="568.85" cy="171.78" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="580.00" cy="171.78" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="45.00" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="56.15" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="67.29" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="78.44" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="89.58" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="100.73" cy="224.78" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="111.88" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="123.02" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="134.17" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="145.31" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="156.46" cy="222.00" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="167.60" cy="222.00" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="178.75" cy="219.35" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="189.90" cy="219.35" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="201.04" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="212.19" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="223.33" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="234.48" cy="215.38" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="245.63" cy="215.38" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="256.77" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="267.92" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="279.06" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="290.21" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="301.35" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="312.50" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="323.65" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="334.79" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="345.94" cy="206.76" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="357.08" cy="208.75" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="368.23" cy="208.75" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="379.38" cy="208.75" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="390.52" cy="206.76" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="401.67" cy="210.07" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="412.81" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="423.96" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="435.10" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="446.25" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="457.40" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="468.54" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="479.69" cy="200.14" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="490.83" cy="200.80" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="501.98" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="513.13" cy="188.88" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="524.27" cy="171.65" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="535.42" cy="172.58" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="546.56" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="557.71" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="568.85" cy="171.65" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="580.00" cy="171.65" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="45.00" cy="226.24" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="56.15" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="67.29" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="78.44" cy="229.29" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="89.58" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="100.73" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="111.88" cy="228.63" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="123.02" cy="229.69" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="134.17" cy="232.20" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="145.31" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="156.46" cy="232.60" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="167.60" cy="232.60" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="178.75" cy="229.69" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="189.90" cy="233.53" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="201.04" cy="228.63" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="212.19" cy="228.63" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="223.33" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="234.48" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="245.63" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="256.77" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="267.92" cy="228.49" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="279.06" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="290.21" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="301.35" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="312.50" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="323.65" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="334.79" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="345.94" cy="223.32" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="357.08" cy="223.32" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="368.23" cy="223.32" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="379.38" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="390.52" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="401.67" cy="222.00" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="412.81" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="423.96" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="435.10" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="446.25" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="457.40" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="468.54" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="479.69" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="490.83" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="501.98" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="513.13" cy="219.35" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="524.27" cy="219.35" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="535.42" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="546.56" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="557.71" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="568.85" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="580.00" cy="210.34" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="45.00" cy="235.25" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="56.15" cy="235.25" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="67.29" cy="236.44" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="78.44" cy="235.78" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="89.58" cy="235.25" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="100.73" cy="236.71" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="111.88" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="123.02" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="134.17" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="145.31" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="156.46" cy="237.90" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="167.60" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="178.75" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="189.90" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="201.04" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="212.19" cy="239.22" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="223.33" cy="240.55" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="234.48" cy="236.57" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="245.63" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="256.77" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="267.92" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="279.06" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="290.21" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="301.35" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="312.50" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="323.65" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="334.79" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="345.94" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="357.08" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="368.23" cy="231.28" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="379.38" cy="231.28" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="390.52" cy="233.93" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="401.67" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="412.81" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="423.96" cy="228.63" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="435.10" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="446.25" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="457.40" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="468.54" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="479.69" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="490.83" cy="230.08" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="501.98" cy="228.63" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="513.13" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="535.42" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="546.56" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="557.71" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="568.85" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="580.00" cy="224.65" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="45.00" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="56.15" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="67.29" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="78.44" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="89.58" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="100.73" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="111.88" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="123.02" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="134.17" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="145.31" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="156.46" cy="244.53" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="167.60" cy="245.85" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="178.75" cy="245.85" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="189.90" cy="245.85" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="201.04" cy="248.50" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="212.19" cy="248.50" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="223.33" cy="243.86" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="234.48" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="245.63" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="256.77" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="267.92" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="279.06" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="290.21" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="301.35" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="312.50" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="323.65" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="334.79" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="345.94" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="357.08" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="368.23" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="379.38" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="390.52" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="401.67" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="412.81" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="423.96" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="435.10" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="446.25" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="457.40" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="468.54" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="479.69" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="490.83" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="501.98" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="513.13" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="524.27" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="535.42" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="546.56" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="557.71" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="557.71" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="580.00" cy="233.93" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="45.00" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="56.15" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="67.29" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="78.44" cy="182.91" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="89.58" cy="186.22" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="100.73" cy="186.22" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="111.88" cy="188.88" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="123.02" cy="188.88" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="134.17" cy="188.88" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="145.31" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="156.46" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="167.60" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="178.75" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="189.90" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="201.04" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="212.19" cy="192.85" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="223.33" cy="187.55" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="234.48" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="245.63" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="256.77" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="267.92" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="279.06" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="290.21" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="301.35" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="312.50" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="323.65" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="334.79" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="345.94" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="357.08" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="368.23" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="379.38" cy="186.22" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="390.52" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="401.67" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="412.81" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="423.96" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="435.10" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="446.25" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="457.40" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="468.54" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="479.69" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="490.83" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="501.98" cy="183.57" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="513.13" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="524.27" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="535.42" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="546.56" cy="176.95" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="557.71" cy="176.95" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="568.85" cy="174.30" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="580.00" cy="174.30" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="45.00" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="56.15" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="67.29" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="78.44" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="89.58" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="100.73" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="111.88" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="123.02" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="134.17" cy="200.80" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="145.31" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="156.46" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="167.60" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="178.75" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="189.90" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="201.04" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="212.19" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="223.33" cy="198.15" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="234.48" cy="198.15" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="245.63" cy="198.15" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="256.77" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="267.92" cy="196.82" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="279.06" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="290.21" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="301.35" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="312.50" cy="194.18" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="323.65" cy="194.18" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="334.79" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="345.94" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="357.08" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="368.23" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="379.38" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="390.52" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="401.67" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="412.81" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="423.96" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="435.10" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="446.25" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="457.40" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="468.54" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="479.69" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="490.83" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="501.98" cy="190.86" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="513.13" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="524.27" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="535.42" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="546.56" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="557.71" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="568.85" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="580.00" cy="186.62" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="435.10" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="446.25" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="457.40" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="468.54" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="479.69" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="490.83" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="501.98" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="513.13" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="524.27" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="535.42" cy="204.77" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="546.56" cy="204.77" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="557.71" cy="206.10" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="568.85" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="580.00" cy="199.48" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="45.00" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="56.15" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="67.29" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="78.44" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="89.58" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="100.73" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="111.88" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="123.02" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="134.17" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="145.31" cy="227.30" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="156.46" cy="229.95" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="167.60" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="178.75" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="189.90" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="201.04" cy="224.65" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="212.19" cy="224.65" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="223.33" cy="223.32" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="234.48" cy="223.32" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="245.63" cy="222.00" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="256.77" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="267.92" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="279.06" cy="222.00" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="290.21" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="301.35" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="312.50" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="323.65" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="334.79" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="345.94" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="357.08" cy="215.51" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="368.23" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="379.38" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="390.52" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="401.67" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="412.81" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="423.96" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="435.10" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="446.25" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="457.40" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="468.54" cy="222.00" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="479.69" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="490.83" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="501.98" cy="215.38" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="513.13" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="524.27" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="535.42" cy="214.05" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="546.56" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="557.71" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="568.85" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="580.00" cy="208.75" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="45.00" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="56.15" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="67.29" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="78.44" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="89.58" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="100.73" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="111.88" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="123.02" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="134.17" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="145.31" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="156.46" cy="241.88" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="167.60" cy="238.56" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="178.75" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="189.90" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="201.04" cy="236.84" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="212.19" cy="236.84" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="223.33" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="234.48" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="245.63" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="256.77" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="267.92" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="279.06" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="290.21" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="301.35" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="312.50" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="323.65" cy="229.95" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="334.79" cy="229.95" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="345.94" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="357.08" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="368.23" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="379.38" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="390.52" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="401.67" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="412.81" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="423.96" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="435.10" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="446.25" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="457.40" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="468.54" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="479.69" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="490.83" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="501.98" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="513.13" cy="225.97" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="524.27" cy="222.00" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="535.42" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="546.56" cy="222.00" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="557.71" cy="220.81" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="568.85" cy="218.03" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="580.00" cy="215.38" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="45.00" cy="240.55" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="56.15" cy="240.55" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="67.29" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="78.44" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="89.58" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="100.73" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="111.88" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="123.02" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="134.17" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="145.31" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="156.46" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="167.60" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="178.75" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="189.90" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="201.04" cy="243.20" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="212.19" cy="243.20" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="223.33" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="234.48" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="245.63" cy="240.55" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="256.77" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="267.92" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="279.06" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="290.21" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="301.35" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="312.50" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="323.65" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="334.79" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="345.94" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="357.08" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="368.23" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="379.38" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="390.52" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="401.67" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="412.81" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="423.96" cy="234.72" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="435.10" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="446.25" cy="234.72" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="457.40" cy="234.72" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="468.54" cy="235.51" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="479.69" cy="236.44" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="490.83" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="501.98" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="513.13" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="524.27" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="535.42" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="546.56" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="557.71" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="568.85" cy="231.28" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="580.00" cy="231.28" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="45.00" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="56.15" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="67.29" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="78.44" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="89.58" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="100.73" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="111.88" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="123.02" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="134.17" cy="245.85" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="145.31" cy="247.18" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="156.46" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="167.60" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="178.75" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="189.90" cy="248.24" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="201.04" cy="248.24" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="212.19" cy="248.24" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="223.33" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="234.48" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="245.63" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="256.77" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="267.92" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="279.06" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="290.21" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="301.35" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="312.50" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="323.65" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="334.79" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="345.94" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="357.08" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="368.23" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="379.38" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="390.52" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="401.67" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="412.81" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="423.96" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="435.10" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="446.25" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="457.40" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="468.54" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="479.69" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="490.83" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="501.98" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="513.13" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="524.27" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="535.42" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="546.56" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="557.71" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="568.85" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="580.00" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /></svg><svg class="riv-line-chart-svg-mobile" style="overflow: visible;" fill="none" viewBox="0 0 600 440" width="100%" height="auto" aria-hidden="true"><g class="riv-grid"><line x1="40" x2="585" y1="375.00" y2="375.00" /><line x1="40" x2="585" y1="283.75" y2="283.75" /><line x1="40" x2="585" y1="192.50" y2="192.50" /><line x1="40" x2="585" y1="101.25" y2="101.25" /><line x1="40" x2="585" y1="10.00" y2="10.00" /><line x1="255.73" x2="255.73" y1="10" y2="375" /><line x1="482.81" x2="482.81" y1="10" y2="375" /></g><g class="riv-axes"><line x1="40" x2="40" y1="10" y2="375" stroke="#D1D5DB" /><line x1="40" x2="585" y1="375" y2="375" stroke="#D1D5DB" /><text x="32" y="375.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">0</text><text x="32" y="283.75" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">500</text><text x="32" y="192.50" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1000</text><text x="32" y="101.25" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1500</text><text x="32" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">2000</text><text x="255.73" y="387" transform="rotate(-45 255.73 387)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">20 Week</text><text x="482.81" y="387" transform="rotate(-45 482.81 387)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">40 Week</text></g><path class="riv-line-path" d="M 40.00,174.25 C 43.78,174.25 47.57,174.43 51.35,174.43 C 55.14,174.43 58.92,192.50 62.71,192.50 C 66.49,192.50 70.28,192.50 74.06,192.50 C 77.85,192.50 81.63,192.50 85.42,192.50 C 89.20,192.50 92.99,205.46 96.77,205.46 C 100.56,205.46 104.34,192.68 108.13,192.68 C 111.91,192.68 115.69,196.15 119.48,196.15 C 123.26,196.15 127.05,192.68 130.83,192.68 C 134.62,192.68 138.40,194.51 142.19,194.51 C 145.97,194.51 149.76,194.32 153.54,194.32 C 157.33,194.32 161.11,194.51 164.90,194.51 C 168.68,194.51 172.47,192.50 176.25,192.50 C 180.03,192.50 183.82,192.50 187.60,192.50 C 191.39,192.50 195.17,192.50 198.96,192.50 C 202.74,192.50 206.53,174.25 210.31,174.25 C 214.10,174.25 217.88,150.53 221.67,150.53 C 225.45,150.53 229.24,143.59 233.02,143.59 C 236.81,143.59 240.59,123.15 244.38,123.15 C 248.16,123.15 251.94,128.62 255.73,128.62 C 259.51,128.62 263.30,125.89 267.08,125.89 C 270.87,125.89 274.65,125.89 278.44,125.89 C 282.22,125.89 286.01,139.57 289.79,139.57 C 293.58,139.57 297.36,139.57 301.15,139.57 C 304.93,139.57 308.72,146.88 312.50,146.88 C 316.28,146.88 320.07,145.05 323.85,145.05 C 327.64,145.05 331.42,139.57 335.21,139.57 C 338.99,139.57 342.78,146.88 346.56,146.88 C 350.35,146.88 354.13,139.57 357.92,139.57 C 361.70,139.57 365.49,139.57 369.27,139.57 C 373.06,139.57 376.84,139.57 380.63,139.57 C 384.41,139.57 388.19,139.57 391.98,139.57 C 395.76,139.57 399.55,139.57 403.33,139.57 C 407.12,139.57 410.90,143.22 414.69,143.22 C 418.47,143.22 422.26,139.57 426.04,139.57 C 429.83,139.57 433.61,146.88 437.40,146.88 C 441.18,146.88 444.97,146.88 448.75,146.88 C 452.53,146.88 456.32,146.88 460.10,146.88 C 463.89,146.88 467.67,146.88 471.46,146.88 C 475.24,146.88 479.03,146.88 482.81,146.88 C 486.60,146.88 490.38,146.88 494.17,146.88 C 497.95,146.88 501.74,146.88 505.52,146.88 C 509.31,146.88 513.09,139.57 516.88,139.57 C 520.66,139.57 524.44,105.08 528.23,105.08 C 532.01,105.08 535.80,92.13 539.58,92.13 C 543.37,92.13 547.15,92.13 550.94,92.13 C 554.72,92.13 558.51,110.38 562.29,110.38 C 566.08,110.38 569.86,110.38 573.65,110.38 C 577.43,110.38 581.22,73.33 585.00,73.33" data-product="Nvidia RTX 5080" fill="none" stroke="#5bb0c0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,232.65 C 43.78,232.65 47.57,238.13 51.35,238.13 C 55.14,238.13 58.92,238.13 62.71,238.13 C 66.49,238.13 70.28,238.13 74.06,238.13 C 77.85,238.13 81.63,238.31 85.42,238.31 C 89.20,238.31 92.99,238.31 96.77,238.31 C 100.56,238.31 104.34,238.13 108.13,238.13 C 111.91,238.13 115.69,238.31 119.48,238.31 C 123.26,238.31 127.05,238.13 130.83,238.13 C 134.62,238.13 138.40,241.78 142.19,241.78 C 145.97,241.78 149.76,247.43 153.54,247.43 C 157.33,247.43 161.11,241.78 164.90,241.78 C 168.68,241.78 172.47,238.13 176.25,238.13 C 180.03,238.13 183.82,238.13 187.60,238.13 C 191.39,238.13 195.17,238.31 198.96,238.31 C 202.74,238.31 206.53,238.13 210.31,238.13 C 214.10,238.13 217.88,238.13 221.67,238.13 C 225.45,238.13 229.24,223.71 233.02,223.71 C 236.81,223.71 240.59,210.93 244.38,210.93 C 248.16,210.93 251.94,192.50 255.73,192.50 C 259.51,192.50 263.30,201.63 267.08,201.63 C 270.87,201.63 274.65,201.63 278.44,201.63 C 282.22,201.63 286.01,201.63 289.79,201.63 C 293.58,201.63 297.36,201.63 301.15,201.63 C 304.93,201.63 308.72,201.63 312.50,201.63 C 316.28,201.63 320.07,201.63 323.85,201.63 C 327.64,201.63 331.42,201.63 335.21,201.63 C 338.99,201.63 342.78,210.75 346.56,210.75 C 350.35,210.75 354.13,194.32 357.92,194.32 C 361.70,194.32 365.49,194.32 369.27,194.32 C 373.06,194.32 376.84,194.32 380.63,194.32 C 384.41,194.32 388.19,194.32 391.98,194.32 C 395.76,194.32 399.55,196.15 403.33,196.15 C 407.12,196.15 410.90,196.15 414.69,196.15 C 418.47,196.15 422.26,210.75 426.04,210.75 C 429.83,210.75 433.61,196.15 437.40,196.15 C 441.18,196.15 444.97,196.15 448.75,196.15 C 452.53,196.15 456.32,196.15 460.10,196.15 C 463.89,196.15 467.67,207.10 471.46,207.10 C 475.24,207.10 479.03,200.71 482.81,200.71 C 486.60,200.71 490.38,210.75 494.17,210.75 C 497.95,210.75 501.74,201.63 505.52,201.63 C 509.31,201.63 513.09,187.03 516.88,187.03 C 520.66,187.03 524.44,176.44 528.23,176.44 C 532.01,176.44 535.80,165.13 539.58,165.13 C 543.37,165.13 547.15,165.13 550.94,165.13 C 554.72,165.13 558.51,165.13 562.29,165.13 C 566.08,165.13 569.86,165.13 573.65,165.13 C 577.43,165.13 581.22,165.13 585.00,165.13" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#ffcea9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,274.63 C 43.78,274.63 47.57,274.63 51.35,274.63 C 55.14,274.63 58.92,279.37 62.71,279.37 C 66.49,279.37 70.28,275.36 74.06,275.36 C 77.85,275.36 81.63,287.22 85.42,287.22 C 89.20,287.22 92.99,283.93 96.77,283.93 C 100.56,283.93 104.34,280.10 108.13,280.10 C 111.91,280.10 115.69,283.75 119.48,283.75 C 123.26,283.75 127.05,283.75 130.83,283.75 C 134.62,283.75 138.40,287.40 142.19,287.40 C 145.97,287.40 149.76,285.76 153.54,285.76 C 157.33,285.76 161.11,283.75 164.90,283.75 C 168.68,283.75 172.47,278.82 176.25,278.82 C 180.03,278.82 183.82,276.45 187.60,276.45 C 191.39,276.45 195.17,283.93 198.96,283.93 C 202.74,283.93 206.53,283.93 210.31,283.93 C 214.10,283.93 217.88,274.81 221.67,274.81 C 225.45,274.81 229.24,276.45 233.02,276.45 C 236.81,276.45 240.59,274.81 244.38,274.81 C 248.16,274.81 251.94,261.85 255.73,261.85 C 259.51,261.85 263.30,261.85 267.08,261.85 C 270.87,261.85 274.65,261.85 278.44,261.85 C 282.22,261.85 286.01,260.02 289.79,260.02 C 293.58,260.02 297.36,260.94 301.15,260.94 C 304.93,260.94 308.72,260.02 312.50,260.02 C 316.28,260.02 320.07,264.77 323.85,264.77 C 327.64,264.77 331.42,258.20 335.21,258.20 C 338.99,258.20 342.78,260.02 346.56,260.02 C 350.35,260.02 354.13,258.93 357.92,258.93 C 361.70,258.93 365.49,260.02 369.27,260.02 C 373.06,260.02 376.84,265.68 380.63,265.68 C 384.41,265.68 388.19,265.68 391.98,265.68 C 395.76,265.68 399.55,265.68 403.33,265.68 C 407.12,265.68 410.90,265.68 414.69,265.68 C 418.47,265.68 422.26,265.68 426.04,265.68 C 429.83,265.68 433.61,265.68 437.40,265.68 C 441.18,265.68 444.97,265.68 448.75,265.68 C 452.53,265.68 456.32,265.68 460.10,265.68 C 463.89,265.68 467.67,265.68 471.46,265.68 C 475.24,265.68 479.03,265.68 482.81,265.68 C 486.60,265.68 490.38,272.80 494.17,272.80 C 497.95,272.80 501.74,274.63 505.52,274.63 C 509.31,274.63 513.09,237.21 516.88,237.21 C 520.66,237.21 524.44,235.75 528.23,235.75 C 532.01,235.75 535.80,229.00 539.58,229.00 C 543.37,229.00 547.15,236.48 550.94,236.48 C 554.72,236.48 558.51,242.69 562.29,242.69 C 566.08,242.69 569.86,232.83 573.65,232.83 C 577.43,232.83 581.22,232.83 585.00,232.83" data-product="Nvidia RTX 5070" fill="none" stroke="#d26365" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,296.52 C 43.78,296.52 47.57,296.52 51.35,296.52 C 55.14,296.52 58.92,296.52 62.71,296.52 C 66.49,296.52 70.28,296.52 74.06,296.52 C 77.85,296.52 81.63,296.52 85.42,296.52 C 89.20,296.52 92.99,305.83 96.77,305.83 C 100.56,305.83 104.34,296.52 108.13,296.52 C 111.91,296.52 115.69,296.52 119.48,296.52 C 123.26,296.52 127.05,296.52 130.83,296.52 C 134.62,296.52 138.40,296.52 142.19,296.52 C 145.97,296.52 149.76,302.00 153.54,302.00 C 157.33,302.00 161.11,302.00 164.90,302.00 C 168.68,302.00 172.47,298.35 176.25,298.35 C 180.03,298.35 183.82,298.35 187.60,298.35 C 191.39,298.35 195.17,296.52 198.96,296.52 C 202.74,296.52 206.53,296.52 210.31,296.52 C 214.10,296.52 217.88,296.52 221.67,296.52 C 225.45,296.52 229.24,292.88 233.02,292.88 C 236.81,292.88 240.59,292.88 244.38,292.88 C 248.16,292.88 251.94,280.10 255.73,280.10 C 259.51,280.10 263.30,280.10 267.08,280.10 C 270.87,280.10 274.65,280.10 278.44,280.10 C 282.22,280.10 286.01,280.10 289.79,280.10 C 293.58,280.10 297.36,280.10 301.15,280.10 C 304.93,280.10 308.72,274.63 312.50,274.63 C 316.28,274.63 320.07,274.63 323.85,274.63 C 327.64,274.63 331.42,270.98 335.21,270.98 C 338.99,270.98 342.78,281.01 346.56,281.01 C 350.35,281.01 354.13,283.75 357.92,283.75 C 361.70,283.75 365.49,283.75 369.27,283.75 C 373.06,283.75 376.84,283.75 380.63,283.75 C 384.41,283.75 388.19,281.01 391.98,281.01 C 395.76,281.01 399.55,285.57 403.33,285.57 C 407.12,285.57 410.90,274.63 414.69,274.63 C 418.47,274.63 422.26,274.63 426.04,274.63 C 429.83,274.63 433.61,274.63 437.40,274.63 C 441.18,274.63 444.97,270.98 448.75,270.98 C 452.53,270.98 456.32,270.98 460.10,270.98 C 463.89,270.98 467.67,270.98 471.46,270.98 C 475.24,270.98 479.03,271.89 482.81,271.89 C 486.60,271.89 490.38,272.80 494.17,272.80 C 497.95,272.80 501.74,270.98 505.52,270.98 C 509.31,270.98 513.09,256.38 516.88,256.38 C 520.66,256.38 524.44,232.65 528.23,232.65 C 532.01,232.65 535.80,233.93 539.58,233.93 C 543.37,233.93 547.15,270.98 550.94,270.98 C 554.72,270.98 558.51,270.98 562.29,270.98 C 566.08,270.98 569.86,232.65 573.65,232.65 C 577.43,232.65 581.22,232.65 585.00,232.65" data-product="Nvidia RTX 5060 Ti 16 GB" fill="none" stroke="#e38e4f" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,307.84 C 43.78,307.84 47.57,312.95 51.35,312.95 C 55.14,312.95 58.92,307.48 62.71,307.48 C 66.49,307.48 70.28,312.04 74.06,312.04 C 77.85,312.04 81.63,312.95 85.42,312.95 C 89.20,312.95 92.99,312.95 96.77,312.95 C 100.56,312.95 104.34,311.13 108.13,311.13 C 111.91,311.13 115.69,312.58 119.48,312.58 C 123.26,312.58 127.05,316.05 130.83,316.05 C 134.62,316.05 138.40,312.95 142.19,312.95 C 145.97,312.95 149.76,316.60 153.54,316.60 C 157.33,316.60 161.11,316.60 164.90,316.60 C 168.68,316.60 172.47,312.58 176.25,312.58 C 180.03,312.58 183.82,317.88 187.60,317.88 C 191.39,317.88 195.17,311.13 198.96,311.13 C 202.74,311.13 206.53,311.13 210.31,311.13 C 214.10,311.13 217.88,314.77 221.67,314.77 C 225.45,314.77 229.24,314.77 233.02,314.77 C 236.81,314.77 240.59,314.77 244.38,314.77 C 248.16,314.77 251.94,314.77 255.73,314.77 C 259.51,314.77 263.30,310.94 267.08,310.94 C 270.87,310.94 274.65,309.30 278.44,309.30 C 282.22,309.30 286.01,309.30 289.79,309.30 C 293.58,309.30 297.36,309.30 301.15,309.30 C 304.93,309.30 308.72,309.30 312.50,309.30 C 316.28,309.30 320.07,309.30 323.85,309.30 C 327.64,309.30 331.42,309.30 335.21,309.30 C 338.99,309.30 342.78,303.82 346.56,303.82 C 350.35,303.82 354.13,303.82 357.92,303.82 C 361.70,303.82 365.49,303.82 369.27,303.82 C 373.06,303.82 376.84,305.65 380.63,305.65 C 384.41,305.65 388.19,305.65 391.98,305.65 C 395.76,305.65 399.55,302.00 403.33,302.00 C 407.12,302.00 410.90,305.65 414.69,305.65 C 418.47,305.65 422.26,305.65 426.04,305.65 C 429.83,305.65 433.61,307.48 437.40,307.48 C 441.18,307.48 444.97,307.48 448.75,307.48 C 452.53,307.48 456.32,307.48 460.10,307.48 C 463.89,307.48 467.67,314.77 471.46,314.77 C 475.24,314.77 479.03,314.77 482.81,314.77 C 486.60,314.77 490.38,314.77 494.17,314.77 C 497.95,314.77 501.74,305.65 505.52,305.65 C 509.31,305.65 513.09,298.35 516.88,298.35 C 520.66,298.35 524.44,298.35 528.23,298.35 C 532.01,298.35 535.80,304.01 539.58,304.01 C 543.37,304.01 547.15,304.01 550.94,304.01 C 554.72,304.01 558.51,304.01 562.29,304.01 C 566.08,304.01 569.86,304.01 573.65,304.01 C 577.43,304.01 581.22,285.94 585.00,285.94" data-product="Nvidia RTX 5060 Ti 8 GB" fill="none" stroke="#75bdd1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,320.25 C 43.78,320.25 47.57,320.25 51.35,320.25 C 55.14,320.25 58.92,321.89 62.71,321.89 C 66.49,321.89 70.28,320.98 74.06,320.98 C 77.85,320.98 81.63,320.25 85.42,320.25 C 89.20,320.25 92.99,322.26 96.77,322.26 C 100.56,322.26 104.34,320.43 108.13,320.43 C 111.91,320.43 115.69,320.43 119.48,320.43 C 123.26,320.43 127.05,320.43 130.83,320.43 C 134.62,320.43 138.40,320.43 142.19,320.43 C 145.97,320.43 149.76,323.90 153.54,323.90 C 157.33,323.90 161.11,324.08 164.90,324.08 C 168.68,324.08 172.47,324.08 176.25,324.08 C 180.03,324.08 183.82,324.08 187.60,324.08 C 191.39,324.08 195.17,324.08 198.96,324.08 C 202.74,324.08 206.53,325.73 210.31,325.73 C 214.10,325.73 217.88,327.55 221.67,327.55 C 225.45,327.55 229.24,322.07 233.02,322.07 C 236.81,322.07 240.59,320.43 244.38,320.43 C 248.16,320.43 251.94,320.43 255.73,320.43 C 259.51,320.43 263.30,320.43 267.08,320.43 C 270.87,320.43 274.65,320.43 278.44,320.43 C 282.22,320.43 286.01,312.95 289.79,312.95 C 293.58,312.95 297.36,312.95 301.15,312.95 C 304.93,312.95 308.72,311.31 312.50,311.31 C 316.28,311.31 320.07,311.31 323.85,311.31 C 327.64,311.31 331.42,311.31 335.21,311.31 C 338.99,311.31 342.78,311.31 346.56,311.31 C 350.35,311.31 354.13,311.31 357.92,311.31 C 361.70,311.31 365.49,314.77 369.27,314.77 C 373.06,314.77 376.84,314.77 380.63,314.77 C 384.41,314.77 388.19,318.43 391.98,318.43 C 395.76,318.43 399.55,311.31 403.33,311.31 C 407.12,311.31 410.90,311.31 414.69,311.31 C 418.47,311.31 422.26,311.13 426.04,311.13 C 429.83,311.13 433.61,312.95 437.40,312.95 C 441.18,312.95 444.97,312.95 448.75,312.95 C 452.53,312.95 456.32,312.95 460.10,312.95 C 463.89,312.95 467.67,312.95 471.46,312.95 C 475.24,312.95 479.03,312.95 482.81,312.95 C 486.60,312.95 490.38,313.13 494.17,313.13 C 497.95,313.13 501.74,311.13 505.52,311.13 C 509.31,311.13 513.09,309.48 516.88,309.48 C 524.44,309.48 532.01,309.48 539.58,309.48 C 543.37,309.48 547.15,309.48 550.94,309.48 C 554.72,309.48 558.51,309.48 562.29,309.48 C 566.08,309.48 569.86,309.48 573.65,309.48 C 577.43,309.48 581.22,305.65 585.00,305.65" data-product="Nvidia RTX 5060" fill="none" stroke="#e97a7b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,329.38 C 43.78,329.38 47.57,329.38 51.35,329.38 C 55.14,329.38 58.92,329.38 62.71,329.38 C 66.49,329.38 70.28,329.38 74.06,329.38 C 77.85,329.38 81.63,329.38 85.42,329.38 C 89.20,329.38 92.99,331.20 96.77,331.20 C 100.56,331.20 104.34,331.20 108.13,331.20 C 111.91,331.20 115.69,329.38 119.48,329.38 C 123.26,329.38 127.05,329.38 130.83,329.38 C 134.62,329.38 138.40,329.38 142.19,329.38 C 145.97,329.38 149.76,333.02 153.54,333.02 C 157.33,333.02 161.11,334.85 164.90,334.85 C 168.68,334.85 172.47,334.85 176.25,334.85 C 180.03,334.85 183.82,334.85 187.60,334.85 C 191.39,334.85 195.17,338.50 198.96,338.50 C 202.74,338.50 206.53,338.50 210.31,338.50 C 214.10,338.50 217.88,332.11 221.67,332.11 C 225.45,332.11 229.24,331.20 233.02,331.20 C 236.81,331.20 240.59,331.20 244.38,331.20 C 248.16,331.20 251.94,331.20 255.73,331.20 C 259.51,331.20 263.30,327.55 267.08,327.55 C 270.87,327.55 274.65,327.55 278.44,327.55 C 282.22,327.55 286.01,327.55 289.79,327.55 C 293.58,327.55 297.36,327.55 301.15,327.55 C 304.93,327.55 308.72,327.55 312.50,327.55 C 316.28,327.55 320.07,322.07 323.85,322.07 C 327.64,322.07 331.42,322.07 335.21,322.07 C 338.99,322.07 342.78,322.07 346.56,322.07 C 350.35,322.07 354.13,322.07 357.92,322.07 C 361.70,322.07 365.49,322.07 369.27,322.07 C 373.06,322.07 376.84,322.07 380.63,322.07 C 384.41,322.07 388.19,322.07 391.98,322.07 C 395.76,322.07 399.55,322.07 403.33,322.07 C 407.12,322.07 410.90,322.07 414.69,322.07 C 418.47,322.07 422.26,322.07 426.04,322.07 C 429.83,322.07 433.61,322.07 437.40,322.07 C 441.18,322.07 444.97,322.07 448.75,322.07 C 452.53,322.07 456.32,322.07 460.10,322.07 C 463.89,322.07 467.67,322.07 471.46,322.07 C 475.24,322.07 479.03,322.07 482.81,322.07 C 486.60,322.07 490.38,322.07 494.17,322.07 C 497.95,322.07 501.74,322.07 505.52,322.07 C 509.31,322.07 513.09,320.43 516.88,320.43 C 520.66,320.43 524.44,320.43 528.23,320.43 C 532.01,320.43 535.80,320.43 539.58,320.43 C 543.37,320.43 547.15,320.43 550.94,320.43 C 554.72,320.43 558.51,320.43 562.29,320.43 C 562.29,320.43 562.29,320.43 562.29,320.43 C 569.86,320.43 577.43,318.43 585.00,318.43" data-product="Nvidia RTX 5050" fill="none" stroke="#D07F46" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,247.25 C 43.78,247.25 47.57,247.25 51.35,247.25 C 55.14,247.25 58.92,247.25 62.71,247.25 C 66.49,247.25 70.28,248.16 74.06,248.16 C 77.85,248.16 81.63,252.72 85.42,252.72 C 89.20,252.72 92.99,252.72 96.77,252.72 C 100.56,252.72 104.34,256.38 108.13,256.38 C 111.91,256.38 115.69,256.38 119.48,256.38 C 123.26,256.38 127.05,256.38 130.83,256.38 C 134.62,256.38 138.40,265.50 142.19,265.50 C 145.97,265.50 149.76,265.50 153.54,265.50 C 157.33,265.50 161.11,265.50 164.90,265.50 C 168.68,265.50 172.47,265.50 176.25,265.50 C 180.03,265.50 183.82,265.50 187.60,265.50 C 191.39,265.50 195.17,265.50 198.96,265.50 C 202.74,265.50 206.53,261.85 210.31,261.85 C 214.10,261.85 217.88,254.55 221.67,254.55 C 225.45,254.55 229.24,247.25 233.02,247.25 C 236.81,247.25 240.59,243.60 244.38,243.60 C 248.16,243.60 251.94,243.60 255.73,243.60 C 259.51,243.60 263.30,241.78 267.08,241.78 C 270.87,241.78 274.65,241.78 278.44,241.78 C 282.22,241.78 286.01,241.78 289.79,241.78 C 293.58,241.78 297.36,241.78 301.15,241.78 C 304.93,241.78 308.72,241.78 312.50,241.78 C 316.28,241.78 320.07,241.78 323.85,241.78 C 327.64,241.78 331.42,241.78 335.21,241.78 C 338.99,241.78 342.78,243.60 346.56,243.60 C 350.35,243.60 354.13,245.43 357.92,245.43 C 361.70,245.43 365.49,245.43 369.27,245.43 C 373.06,245.43 376.84,252.72 380.63,252.72 C 384.41,252.72 388.19,245.43 391.98,245.43 C 395.76,245.43 399.55,245.43 403.33,245.43 C 407.12,245.43 410.90,245.43 414.69,245.43 C 418.47,245.43 422.26,247.25 426.04,247.25 C 429.83,247.25 433.61,247.25 437.40,247.25 C 441.18,247.25 444.97,247.25 448.75,247.25 C 452.53,247.25 456.32,247.25 460.10,247.25 C 463.89,247.25 467.67,247.25 471.46,247.25 C 475.24,247.25 479.03,247.25 482.81,247.25 C 486.60,247.25 490.38,247.25 494.17,247.25 C 497.95,247.25 501.74,249.07 505.52,249.07 C 509.31,249.07 513.09,243.60 516.88,243.60 C 520.66,243.60 524.44,243.60 528.23,243.60 C 532.01,243.60 535.80,241.78 539.58,241.78 C 543.37,241.78 547.15,239.95 550.94,239.95 C 554.72,239.95 558.51,239.95 562.29,239.95 C 566.08,239.95 569.86,236.30 573.65,236.30 C 577.43,236.30 581.22,236.30 585.00,236.30" data-product="AMD RX 9070 XT" fill="none" stroke="#FFC08B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,265.50 C 43.78,265.50 47.57,265.50 51.35,265.50 C 55.14,265.50 58.92,274.63 62.71,274.63 C 66.49,274.63 70.28,274.63 74.06,274.63 C 77.85,274.63 81.63,265.50 85.42,265.50 C 89.20,265.50 92.99,265.50 96.77,265.50 C 100.56,265.50 104.34,274.63 108.13,274.63 C 111.91,274.63 115.69,274.63 119.48,274.63 C 123.26,274.63 127.05,272.80 130.83,272.80 C 134.62,272.80 138.40,274.63 142.19,274.63 C 145.97,274.63 149.76,274.63 153.54,274.63 C 157.33,274.63 161.11,278.27 164.90,278.27 C 168.68,278.27 172.47,278.27 176.25,278.27 C 180.03,278.27 183.82,278.27 187.60,278.27 C 191.39,278.27 195.17,278.27 198.96,278.27 C 202.74,278.27 206.53,278.27 210.31,278.27 C 214.10,278.27 217.88,269.15 221.67,269.15 C 225.45,269.15 229.24,269.15 233.02,269.15 C 236.81,269.15 240.59,269.15 244.38,269.15 C 248.16,269.15 251.94,265.50 255.73,265.50 C 259.51,265.50 263.30,267.32 267.08,267.32 C 270.87,267.32 274.65,260.02 278.44,260.02 C 282.22,260.02 286.01,260.02 289.79,260.02 C 293.58,260.02 297.36,261.85 301.15,261.85 C 304.93,261.85 308.72,263.68 312.50,263.68 C 316.28,263.68 320.07,263.68 323.85,263.68 C 327.64,263.68 331.42,260.02 335.21,260.02 C 338.99,260.02 342.78,261.85 346.56,261.85 C 350.35,261.85 354.13,261.85 357.92,261.85 C 361.70,261.85 365.49,261.85 369.27,261.85 C 373.06,261.85 376.84,261.85 380.63,261.85 C 384.41,261.85 388.19,261.85 391.98,261.85 C 395.76,261.85 399.55,265.50 403.33,265.50 C 407.12,265.50 410.90,261.85 414.69,261.85 C 418.47,261.85 422.26,265.50 426.04,265.50 C 429.83,265.50 433.61,265.50 437.40,265.50 C 441.18,265.50 444.97,265.50 448.75,265.50 C 452.53,265.50 456.32,265.50 460.10,265.50 C 463.89,265.50 467.67,265.50 471.46,265.50 C 475.24,265.50 479.03,265.50 482.81,265.50 C 486.60,265.50 490.38,265.50 494.17,265.50 C 497.95,265.50 501.74,259.11 505.52,259.11 C 509.31,259.11 513.09,256.38 516.88,256.38 C 520.66,256.38 524.44,256.38 528.23,256.38 C 532.01,256.38 535.80,260.02 539.58,260.02 C 543.37,260.02 547.15,256.38 550.94,256.38 C 554.72,256.38 558.51,256.38 562.29,256.38 C 566.08,256.38 569.86,256.38 573.65,256.38 C 577.43,256.38 581.22,253.27 585.00,253.27" data-product="AMD RX 9070" fill="none" stroke="#EB6F71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 437.40,274.63 C 441.18,274.63 444.97,274.63 448.75,274.63 C 452.53,274.63 456.32,274.63 460.10,274.63 C 463.89,274.63 467.67,283.75 471.46,283.75 C 475.24,283.75 479.03,283.75 482.81,283.75 C 486.60,283.75 490.38,283.75 494.17,283.75 C 497.95,283.75 501.74,274.63 505.52,274.63 C 509.31,274.63 513.09,283.75 516.88,283.75 C 520.66,283.75 524.44,283.75 528.23,283.75 C 532.01,283.75 535.80,278.27 539.58,278.27 C 543.37,278.27 547.15,278.27 550.94,278.27 C 554.72,278.27 558.51,280.10 562.29,280.10 C 566.08,280.10 569.86,283.75 573.65,283.75 C 577.43,283.75 581.22,270.98 585.00,270.98" data-product="AMD Radeon RX 9070 GRE" fill="none" stroke="#E33235" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,307.48 C 43.78,307.48 47.57,307.48 51.35,307.48 C 55.14,307.48 58.92,307.48 62.71,307.48 C 66.49,307.48 70.28,307.48 74.06,307.48 C 77.85,307.48 81.63,311.13 85.42,311.13 C 89.20,311.13 92.99,311.13 96.77,311.13 C 100.56,311.13 104.34,311.13 108.13,311.13 C 111.91,311.13 115.69,311.13 119.48,311.13 C 123.26,311.13 127.05,311.13 130.83,311.13 C 134.62,311.13 138.40,309.30 142.19,309.30 C 145.97,309.30 149.76,312.95 153.54,312.95 C 157.33,312.95 161.11,311.13 164.90,311.13 C 168.68,311.13 172.47,311.13 176.25,311.13 C 180.03,311.13 183.82,307.48 187.60,307.48 C 191.39,307.48 195.17,305.65 198.96,305.65 C 202.74,305.65 206.53,305.65 210.31,305.65 C 214.10,305.65 217.88,303.82 221.67,303.82 C 225.45,303.82 229.24,303.82 233.02,303.82 C 236.81,303.82 240.59,302.00 244.38,302.00 C 248.16,302.00 251.94,294.70 255.73,294.70 C 259.51,294.70 263.30,294.70 267.08,294.70 C 270.87,294.70 274.65,302.00 278.44,302.00 C 282.22,302.00 286.01,294.70 289.79,294.70 C 293.58,294.70 297.36,294.70 301.15,294.70 C 304.93,294.70 308.72,294.70 312.50,294.70 C 316.28,294.70 320.07,294.70 323.85,294.70 C 327.64,294.70 331.42,294.70 335.21,294.70 C 338.99,294.70 342.78,294.70 346.56,294.70 C 350.35,294.70 354.13,293.06 357.92,293.06 C 361.70,293.06 365.49,294.70 369.27,294.70 C 373.06,294.70 376.84,294.70 380.63,294.70 C 384.41,294.70 388.19,296.52 391.98,296.52 C 395.76,296.52 399.55,296.52 403.33,296.52 C 407.12,296.52 410.90,294.70 414.69,294.70 C 418.47,294.70 422.26,296.52 426.04,296.52 C 429.83,296.52 433.61,294.70 437.40,294.70 C 441.18,294.70 444.97,294.70 448.75,294.70 C 452.53,294.70 456.32,294.70 460.10,294.70 C 463.89,294.70 467.67,302.00 471.46,302.00 C 475.24,302.00 479.03,296.52 482.81,296.52 C 486.60,296.52 490.38,296.52 494.17,296.52 C 497.95,296.52 501.74,292.88 505.52,292.88 C 509.31,292.88 513.09,289.23 516.88,289.23 C 520.66,289.23 524.44,289.23 528.23,289.23 C 532.01,289.23 535.80,291.05 539.58,291.05 C 543.37,291.05 547.15,289.23 550.94,289.23 C 554.72,289.23 558.51,289.23 562.29,289.23 C 566.08,289.23 569.86,289.23 573.65,289.23 C 577.43,289.23 581.22,283.75 585.00,283.75" data-product="AMD RX 9060 XT 16 GB" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,323.90 C 43.78,323.90 47.57,325.73 51.35,325.73 C 55.14,325.73 58.92,323.90 62.71,323.90 C 66.49,323.90 70.28,323.90 74.06,323.90 C 77.85,323.90 81.63,325.73 85.42,325.73 C 89.20,325.73 92.99,325.73 96.77,325.73 C 100.56,325.73 104.34,325.73 108.13,325.73 C 111.91,325.73 115.69,325.73 119.48,325.73 C 123.26,325.73 127.05,325.73 130.83,325.73 C 134.62,325.73 138.40,325.73 142.19,325.73 C 145.97,325.73 149.76,329.38 153.54,329.38 C 157.33,329.38 161.11,324.81 164.90,324.81 C 168.68,324.81 172.47,323.90 176.25,323.90 C 180.03,323.90 183.82,323.90 187.60,323.90 C 191.39,323.90 195.17,322.44 198.96,322.44 C 202.74,322.44 206.53,322.44 210.31,322.44 C 214.10,322.44 217.88,318.43 221.67,318.43 C 225.45,318.43 229.24,318.43 233.02,318.43 C 236.81,318.43 240.59,318.43 244.38,318.43 C 248.16,318.43 251.94,318.43 255.73,318.43 C 259.51,318.43 263.30,311.13 267.08,311.13 C 270.87,311.13 274.65,311.86 278.44,311.86 C 282.22,311.86 286.01,311.86 289.79,311.86 C 293.58,311.86 297.36,311.86 301.15,311.86 C 304.93,311.86 308.72,311.86 312.50,311.86 C 316.28,311.86 320.07,312.95 323.85,312.95 C 327.64,312.95 331.42,312.95 335.21,312.95 C 338.99,312.95 342.78,311.86 346.56,311.86 C 350.35,311.86 354.13,311.13 357.92,311.13 C 361.70,311.13 365.49,311.13 369.27,311.13 C 373.06,311.13 376.84,311.13 380.63,311.13 C 384.41,311.13 388.19,309.30 391.98,309.30 C 395.76,309.30 399.55,309.30 403.33,309.30 C 407.12,309.30 410.90,309.30 414.69,309.30 C 418.47,309.30 422.26,309.30 426.04,309.30 C 429.83,309.30 433.61,309.30 437.40,309.30 C 441.18,309.30 444.97,311.13 448.75,311.13 C 452.53,311.13 456.32,311.13 460.10,311.13 C 463.89,311.13 467.67,309.30 471.46,309.30 C 475.24,309.30 479.03,309.30 482.81,309.30 C 486.60,309.30 490.38,309.30 494.17,309.30 C 497.95,309.30 501.74,309.30 505.52,309.30 C 509.31,309.30 513.09,307.48 516.88,307.48 C 520.66,307.48 524.44,302.00 528.23,302.00 C 532.01,302.00 535.80,309.30 539.58,309.30 C 543.37,309.30 547.15,302.00 550.94,302.00 C 554.72,302.00 558.51,300.36 562.29,300.36 C 566.08,300.36 569.86,296.52 573.65,296.52 C 577.43,296.52 581.22,292.88 585.00,292.88" data-product="AMD RX 9060 XT 8 GB" fill="none" stroke="#1CA9C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,327.55 C 43.78,327.55 47.57,327.55 51.35,327.55 C 55.14,327.55 58.92,329.38 62.71,329.38 C 66.49,329.38 70.28,329.38 74.06,329.38 C 77.85,329.38 81.63,329.38 85.42,329.38 C 89.20,329.38 92.99,329.38 96.77,329.38 C 100.56,329.38 104.34,329.38 108.13,329.38 C 111.91,329.38 115.69,329.38 119.48,329.38 C 123.26,329.38 127.05,329.38 130.83,329.38 C 134.62,329.38 138.40,329.38 142.19,329.38 C 145.97,329.38 149.76,329.38 153.54,329.38 C 157.33,329.38 161.11,329.38 164.90,329.38 C 168.68,329.38 172.47,329.38 176.25,329.38 C 180.03,329.38 183.82,329.38 187.60,329.38 C 191.39,329.38 195.17,331.20 198.96,331.20 C 202.74,331.20 206.53,331.20 210.31,331.20 C 214.10,331.20 217.88,329.38 221.67,329.38 C 225.45,329.38 229.24,329.38 233.02,329.38 C 236.81,329.38 240.59,327.55 244.38,327.55 C 248.16,327.55 251.94,322.07 255.73,322.07 C 259.51,322.07 263.30,322.07 267.08,322.07 C 270.87,322.07 274.65,320.25 278.44,320.25 C 282.22,320.25 286.01,320.25 289.79,320.25 C 293.58,320.25 297.36,320.25 301.15,320.25 C 304.93,320.25 308.72,320.25 312.50,320.25 C 316.28,320.25 320.07,320.25 323.85,320.25 C 327.64,320.25 331.42,320.25 335.21,320.25 C 338.99,320.25 342.78,322.07 346.56,322.07 C 350.35,322.07 354.13,322.07 357.92,322.07 C 361.70,322.07 365.49,322.07 369.27,322.07 C 373.06,322.07 376.84,322.07 380.63,322.07 C 384.41,322.07 388.19,322.07 391.98,322.07 C 395.76,322.07 399.55,322.07 403.33,322.07 C 407.12,322.07 410.90,322.07 414.69,322.07 C 418.47,322.07 422.26,319.52 426.04,319.52 C 429.83,319.52 433.61,320.25 437.40,320.25 C 441.18,320.25 444.97,319.52 448.75,319.52 C 452.53,319.52 456.32,319.52 460.10,319.52 C 463.89,319.52 467.67,320.62 471.46,320.62 C 475.24,320.62 479.03,321.89 482.81,321.89 C 486.60,321.89 490.38,322.07 494.17,322.07 C 497.95,322.07 501.74,322.07 505.52,322.07 C 509.31,322.07 513.09,318.43 516.88,318.43 C 520.66,318.43 524.44,318.43 528.23,318.43 C 532.01,318.43 535.80,318.43 539.58,318.43 C 543.37,318.43 547.15,318.43 550.94,318.43 C 554.72,318.43 558.51,318.43 562.29,318.43 C 566.08,318.43 569.86,314.77 573.65,314.77 C 577.43,314.77 581.22,314.77 585.00,314.77" data-product="Intel Arc B580" fill="none" stroke="#B5282A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,333.02 C 43.78,333.02 47.57,333.02 51.35,333.02 C 55.14,333.02 58.92,333.02 62.71,333.02 C 66.49,333.02 70.28,333.02 74.06,333.02 C 77.85,333.02 81.63,333.02 85.42,333.02 C 89.20,333.02 92.99,333.02 96.77,333.02 C 100.56,333.02 104.34,333.02 108.13,333.02 C 111.91,333.02 115.69,338.50 119.48,338.50 C 123.26,338.50 127.05,334.85 130.83,334.85 C 134.62,334.85 138.40,336.68 142.19,336.68 C 145.97,336.68 149.76,338.50 153.54,338.50 C 157.33,338.50 161.11,338.50 164.90,338.50 C 168.68,338.50 172.47,338.50 176.25,338.50 C 180.03,338.50 183.82,338.13 187.60,338.13 C 191.39,338.13 195.17,338.13 198.96,338.13 C 202.74,338.13 206.53,338.13 210.31,338.13 C 214.10,338.13 217.88,338.50 221.67,338.50 C 225.45,338.50 229.24,338.50 233.02,338.50 C 236.81,338.50 240.59,338.50 244.38,338.50 C 248.16,338.50 251.94,338.50 255.73,338.50 C 259.51,338.50 263.30,329.38 267.08,329.38 C 270.87,329.38 274.65,329.38 278.44,329.38 C 282.22,329.38 286.01,329.38 289.79,329.38 C 293.58,329.38 297.36,329.38 301.15,329.38 C 304.93,329.38 308.72,329.38 312.50,329.38 C 316.28,329.38 320.07,329.38 323.85,329.38 C 327.64,329.38 331.42,329.38 335.21,329.38 C 338.99,329.38 342.78,329.38 346.56,329.38 C 350.35,329.38 354.13,329.38 357.92,329.38 C 361.70,329.38 365.49,327.55 369.27,327.55 C 373.06,327.55 376.84,327.55 380.63,327.55 C 384.41,327.55 388.19,327.55 391.98,327.55 C 395.76,327.55 399.55,327.55 403.33,327.55 C 407.12,327.55 410.90,327.55 414.69,327.55 C 418.47,327.55 422.26,327.55 426.04,327.55 C 429.83,327.55 433.61,327.55 437.40,327.55 C 441.18,327.55 444.97,329.38 448.75,329.38 C 452.53,329.38 456.32,329.38 460.10,329.38 C 463.89,329.38 467.67,329.38 471.46,329.38 C 475.24,329.38 479.03,327.55 482.81,327.55 C 486.60,327.55 490.38,329.38 494.17,329.38 C 497.95,329.38 501.74,327.55 505.52,327.55 C 509.31,327.55 513.09,327.55 516.88,327.55 C 520.66,327.55 524.44,327.55 528.23,327.55 C 532.01,327.55 535.80,327.55 539.58,327.55 C 543.37,327.55 547.15,327.55 550.94,327.55 C 554.72,327.55 558.51,327.55 562.29,327.55 C 566.08,327.55 569.86,327.55 573.65,327.55 C 577.43,327.55 581.22,327.55 585.00,327.55" data-product="Intel Arc B570" fill="none" stroke="#66C5D7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="40.00" cy="174.25" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="51.35" cy="174.43" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="62.71" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="74.06" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="85.42" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="96.77" cy="205.46" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="108.13" cy="192.68" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="119.48" cy="196.15" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="130.83" cy="192.68" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="142.19" cy="194.51" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="153.54" cy="194.32" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="164.90" cy="194.51" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="176.25" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="187.60" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="198.96" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="210.31" cy="174.25" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="221.67" cy="150.53" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="233.02" cy="143.59" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="244.38" cy="123.15" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="255.73" cy="128.62" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="267.08" cy="125.89" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="278.44" cy="125.89" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="289.79" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="301.15" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="312.50" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="323.85" cy="145.05" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="335.21" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="346.56" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="357.92" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="369.27" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="380.63" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="391.98" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="403.33" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="414.69" cy="143.22" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="426.04" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="437.40" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="448.75" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="460.10" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="471.46" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="482.81" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="494.17" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="505.52" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="516.88" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="528.23" cy="105.08" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="539.58" cy="92.13" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="550.94" cy="92.13" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="562.29" cy="110.38" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="573.65" cy="110.38" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="585.00" cy="73.33" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="40.00" cy="232.65" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="51.35" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="62.71" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="74.06" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="85.42" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="96.77" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="108.13" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="119.48" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="130.83" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="142.19" cy="241.78" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="153.54" cy="247.43" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="164.90" cy="241.78" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="176.25" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="187.60" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="198.96" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="210.31" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="221.67" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="233.02" cy="223.71" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="244.38" cy="210.93" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="255.73" cy="192.50" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="267.08" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="278.44" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="289.79" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="301.15" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="312.50" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="323.85" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="335.21" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="346.56" cy="210.75" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="357.92" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="369.27" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="380.63" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="391.98" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="403.33" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="414.69" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="426.04" cy="210.75" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="437.40" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="448.75" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="460.10" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="471.46" cy="207.10" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="482.81" cy="200.71" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="494.17" cy="210.75" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="505.52" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="516.88" cy="187.03" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="528.23" cy="176.44" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="539.58" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="550.94" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="562.29" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="573.65" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="585.00" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="40.00" cy="274.63" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="51.35" cy="274.63" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="62.71" cy="279.37" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="74.06" cy="275.36" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="85.42" cy="287.22" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="96.77" cy="283.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="108.13" cy="280.10" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="119.48" cy="283.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="130.83" cy="283.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="142.19" cy="287.40" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="153.54" cy="285.76" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="164.90" cy="283.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="176.25" cy="278.82" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="187.60" cy="276.45" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="198.96" cy="283.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="210.31" cy="283.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="221.67" cy="274.81" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="233.02" cy="276.45" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="244.38" cy="274.81" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="255.73" cy="261.85" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="267.08" cy="261.85" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="278.44" cy="261.85" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="289.79" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="301.15" cy="260.94" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="312.50" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="323.85" cy="264.77" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="335.21" cy="258.20" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="346.56" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="357.92" cy="258.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="369.27" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="380.63" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="391.98" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="403.33" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="414.69" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="426.04" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="437.40" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="448.75" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="460.10" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="471.46" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="482.81" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="494.17" cy="272.80" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="505.52" cy="274.63" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="516.88" cy="237.21" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="528.23" cy="235.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="539.58" cy="229.00" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="550.94" cy="236.48" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="562.29" cy="242.69" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="573.65" cy="232.83" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="585.00" cy="232.83" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="40.00" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="51.35" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="62.71" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="74.06" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="85.42" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="96.77" cy="305.83" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="108.13" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="119.48" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="130.83" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="142.19" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="153.54" cy="302.00" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="164.90" cy="302.00" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="176.25" cy="298.35" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="187.60" cy="298.35" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="198.96" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="210.31" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="221.67" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="233.02" cy="292.88" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="244.38" cy="292.88" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="255.73" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="267.08" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="278.44" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="289.79" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="301.15" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="312.50" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="323.85" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="335.21" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="346.56" cy="281.01" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="357.92" cy="283.75" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="369.27" cy="283.75" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="380.63" cy="283.75" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="391.98" cy="281.01" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="403.33" cy="285.57" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="414.69" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="426.04" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="437.40" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="448.75" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="460.10" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="471.46" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="482.81" cy="271.89" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="494.17" cy="272.80" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="505.52" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="516.88" cy="256.38" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="528.23" cy="232.65" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="539.58" cy="233.93" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="550.94" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="562.29" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="573.65" cy="232.65" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="585.00" cy="232.65" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="40.00" cy="307.84" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="51.35" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="62.71" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="74.06" cy="312.04" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="85.42" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="96.77" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="108.13" cy="311.13" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="119.48" cy="312.58" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="130.83" cy="316.05" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="142.19" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="153.54" cy="316.60" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="164.90" cy="316.60" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="176.25" cy="312.58" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="187.60" cy="317.88" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="198.96" cy="311.13" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="210.31" cy="311.13" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="221.67" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="233.02" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="244.38" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="255.73" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="267.08" cy="310.94" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="278.44" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="289.79" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="301.15" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="312.50" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="323.85" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="335.21" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="346.56" cy="303.82" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="357.92" cy="303.82" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="369.27" cy="303.82" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="380.63" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="391.98" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="403.33" cy="302.00" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="414.69" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="426.04" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="437.40" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="448.75" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="460.10" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="471.46" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="482.81" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="494.17" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="505.52" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="516.88" cy="298.35" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="528.23" cy="298.35" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="539.58" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="550.94" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="562.29" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="573.65" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="585.00" cy="285.94" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="40.00" cy="320.25" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="51.35" cy="320.25" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="62.71" cy="321.89" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="74.06" cy="320.98" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="85.42" cy="320.25" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="96.77" cy="322.26" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="108.13" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="119.48" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="130.83" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="142.19" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="153.54" cy="323.90" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="164.90" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="176.25" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="187.60" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="198.96" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="210.31" cy="325.73" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="221.67" cy="327.55" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="233.02" cy="322.07" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="244.38" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="255.73" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="267.08" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="278.44" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="289.79" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="301.15" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="312.50" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="323.85" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="335.21" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="346.56" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="357.92" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="369.27" cy="314.77" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="380.63" cy="314.77" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="391.98" cy="318.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="403.33" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="414.69" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="426.04" cy="311.13" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="437.40" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="448.75" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="460.10" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="471.46" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="482.81" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="494.17" cy="313.13" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="505.52" cy="311.13" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="516.88" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="539.58" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="550.94" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="562.29" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="573.65" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="585.00" cy="305.65" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="40.00" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="51.35" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="62.71" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="74.06" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="85.42" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="96.77" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="108.13" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="119.48" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="130.83" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="142.19" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="153.54" cy="333.02" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="164.90" cy="334.85" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="176.25" cy="334.85" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="187.60" cy="334.85" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="198.96" cy="338.50" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="210.31" cy="338.50" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="221.67" cy="332.11" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="233.02" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="244.38" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="255.73" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="267.08" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="278.44" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="289.79" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="301.15" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="312.50" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="323.85" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="335.21" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="346.56" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="357.92" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="369.27" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="380.63" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="391.98" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="403.33" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="414.69" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="426.04" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="437.40" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="448.75" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="460.10" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="471.46" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="482.81" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="494.17" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="505.52" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="516.88" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="528.23" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="539.58" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="550.94" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="562.29" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="562.29" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="585.00" cy="318.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="40.00" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="51.35" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="62.71" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="74.06" cy="248.16" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="85.42" cy="252.72" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="96.77" cy="252.72" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="108.13" cy="256.38" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="119.48" cy="256.38" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="130.83" cy="256.38" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="142.19" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="153.54" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="164.90" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="176.25" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="187.60" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="198.96" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="210.31" cy="261.85" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="221.67" cy="254.55" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="233.02" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="244.38" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="255.73" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="267.08" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="278.44" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="289.79" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="301.15" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="312.50" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="323.85" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="335.21" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="346.56" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="357.92" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="369.27" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="380.63" cy="252.72" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="391.98" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="403.33" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="414.69" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="426.04" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="437.40" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="448.75" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="460.10" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="471.46" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="482.81" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="494.17" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="505.52" cy="249.07" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="516.88" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="528.23" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="539.58" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="550.94" cy="239.95" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="562.29" cy="239.95" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="573.65" cy="236.30" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="585.00" cy="236.30" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="40.00" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="51.35" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="62.71" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="74.06" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="85.42" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="96.77" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="108.13" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="119.48" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="130.83" cy="272.80" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="142.19" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="153.54" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="164.90" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="176.25" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="187.60" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="198.96" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="210.31" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="221.67" cy="269.15" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="233.02" cy="269.15" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="244.38" cy="269.15" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="255.73" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="267.08" cy="267.32" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="278.44" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="289.79" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="301.15" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="312.50" cy="263.68" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="323.85" cy="263.68" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="335.21" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="346.56" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="357.92" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="369.27" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="380.63" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="391.98" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="403.33" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="414.69" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="426.04" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="437.40" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="448.75" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="460.10" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="471.46" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="482.81" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="494.17" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="505.52" cy="259.11" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="516.88" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="528.23" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="539.58" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="550.94" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="562.29" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="573.65" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="585.00" cy="253.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="437.40" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="448.75" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="460.10" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="471.46" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="482.81" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="494.17" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="505.52" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="516.88" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="528.23" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="539.58" cy="278.27" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="550.94" cy="278.27" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="562.29" cy="280.10" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="573.65" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="585.00" cy="270.98" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="40.00" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="51.35" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="62.71" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="74.06" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="85.42" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="96.77" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="108.13" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="119.48" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="130.83" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="142.19" cy="309.30" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="153.54" cy="312.95" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="164.90" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="176.25" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="187.60" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="198.96" cy="305.65" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="210.31" cy="305.65" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="221.67" cy="303.82" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="233.02" cy="303.82" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="244.38" cy="302.00" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="255.73" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="267.08" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="278.44" cy="302.00" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="289.79" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="301.15" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="312.50" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="323.85" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="335.21" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="346.56" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="357.92" cy="293.06" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="369.27" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="380.63" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="391.98" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="403.33" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="414.69" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="426.04" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="437.40" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="448.75" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="460.10" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="471.46" cy="302.00" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="482.81" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="494.17" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="505.52" cy="292.88" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="516.88" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="528.23" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="539.58" cy="291.05" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="550.94" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="562.29" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="573.65" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="585.00" cy="283.75" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="40.00" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="51.35" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="62.71" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="74.06" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="85.42" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="96.77" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="108.13" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="119.48" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="130.83" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="142.19" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="153.54" cy="329.38" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="164.90" cy="324.81" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="176.25" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="187.60" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="198.96" cy="322.44" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="210.31" cy="322.44" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="221.67" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="233.02" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="244.38" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="255.73" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="267.08" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="278.44" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="289.79" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="301.15" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="312.50" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="323.85" cy="312.95" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="335.21" cy="312.95" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="346.56" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="357.92" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="369.27" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="380.63" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="391.98" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="403.33" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="414.69" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="426.04" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="437.40" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="448.75" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="460.10" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="471.46" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="482.81" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="494.17" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="505.52" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="516.88" cy="307.48" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="528.23" cy="302.00" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="539.58" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="550.94" cy="302.00" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="562.29" cy="300.36" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="573.65" cy="296.52" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="585.00" cy="292.88" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="40.00" cy="327.55" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="51.35" cy="327.55" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="62.71" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="74.06" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="85.42" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="96.77" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="108.13" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="119.48" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="130.83" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="142.19" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="153.54" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="164.90" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="176.25" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="187.60" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="198.96" cy="331.20" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="210.31" cy="331.20" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="221.67" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="233.02" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="244.38" cy="327.55" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="255.73" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="267.08" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="278.44" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="289.79" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="301.15" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="312.50" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="323.85" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="335.21" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="346.56" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="357.92" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="369.27" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="380.63" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="391.98" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="403.33" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="414.69" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="426.04" cy="319.52" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="437.40" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="448.75" cy="319.52" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="460.10" cy="319.52" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="471.46" cy="320.62" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="482.81" cy="321.89" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="494.17" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="505.52" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="516.88" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="528.23" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="539.58" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="550.94" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="562.29" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="573.65" cy="314.77" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="585.00" cy="314.77" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="40.00" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="51.35" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="62.71" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="74.06" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="85.42" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="96.77" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="108.13" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="119.48" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="130.83" cy="334.85" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="142.19" cy="336.68" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="153.54" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="164.90" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="176.25" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="187.60" cy="338.13" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="198.96" cy="338.13" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="210.31" cy="338.13" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="221.67" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="233.02" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="244.38" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="255.73" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="267.08" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="278.44" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="289.79" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="301.15" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="312.50" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="323.85" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="335.21" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="346.56" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="357.92" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="369.27" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="380.63" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="391.98" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="403.33" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="414.69" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="426.04" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="437.40" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="448.75" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="460.10" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="471.46" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="482.81" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="494.17" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="505.52" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="516.88" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="528.23" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="539.58" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="550.94" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="562.29" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="573.65" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="585.00" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /></svg><div class="fv-x-axis-title">Week</div><div class="riv-line-legend" data-chart="fv-chart-1790867600756-p0oh86j9j-line-Lowest pricing"><button class="riv-legend-item " data-product="Nvidia RTX 5080"><span class="riv-legend-marker" style="background-color: #5bb0c0;"></span>Nvidia RTX 5080</button><button class="riv-legend-item " data-product="Nvidia RTX 5070 Ti"><span class="riv-legend-marker" style="background-color: #ffcea9;"></span>Nvidia RTX 5070 Ti</button><button class="riv-legend-item " data-product="Nvidia RTX 5070"><span class="riv-legend-marker" style="background-color: #d26365;"></span>Nvidia RTX 5070</button><button class="riv-legend-item " data-product="Nvidia RTX 5060 Ti 16 GB"><span class="riv-legend-marker" style="background-color: #e38e4f;"></span>Nvidia RTX 5060 Ti 16 GB</button><button class="riv-legend-item " data-product="Nvidia RTX 5060 Ti 8 GB"><span class="riv-legend-marker" style="background-color: #75bdd1;"></span>Nvidia RTX 5060 Ti 8 GB</button><button class="riv-legend-item " data-product="Nvidia RTX 5060"><span class="riv-legend-marker" style="background-color: #e97a7b;"></span>Nvidia RTX 5060</button><button class="riv-legend-item " data-product="Nvidia RTX 5050"><span class="riv-legend-marker" style="background-color: #D07F46;"></span>Nvidia RTX 5050</button><button class="riv-legend-item " data-product="AMD RX 9070 XT"><span class="riv-legend-marker" style="background-color: #FFC08B;"></span>AMD RX 9070 XT</button><button class="riv-legend-item " data-product="AMD RX 9070"><span class="riv-legend-marker" style="background-color: #EB6F71;"></span>AMD RX 9070</button><button class="riv-legend-item " data-product="AMD Radeon RX 9070 GRE"><span class="riv-legend-marker" style="background-color: #E33235;"></span>AMD Radeon RX 9070 GRE</button><button class="riv-legend-item " data-product="AMD RX 9060 XT 16 GB"><span class="riv-legend-marker" style="background-color: #FE9F58;"></span>AMD RX 9060 XT 16 GB</button><button class="riv-legend-item " data-product="AMD RX 9060 XT 8 GB"><span class="riv-legend-marker" style="background-color: #1CA9C4;"></span>AMD RX 9060 XT 8 GB</button><button class="riv-legend-item " data-product="Intel Arc B580"><span class="riv-legend-marker" style="background-color: #B5282A;"></span>Intel Arc B580</button><button class="riv-legend-item " data-product="Intel Arc B570"><span class="riv-legend-marker" style="background-color: #66C5D7;"></span>Intel Arc B570</button></div><table class="sr-only"><caption>Lowest pricing Data</caption><thead><tr><th>Timestamp (Week)</th><th>Nvidia RTX 5080 (Price, $)</th><th>Nvidia RTX 5070 Ti (Price, $)</th><th>Nvidia RTX 5070 (Price, $)</th><th>Nvidia RTX 5060 Ti 16 GB (Price, $)</th><th>Nvidia RTX 5060 Ti 8 GB (Price, $)</th><th>Nvidia RTX 5060 (Price, $)</th><th>Nvidia RTX 5050 (Price, $)</th><th>AMD RX 9070 XT (Price, $)</th><th>AMD RX 9070 (Price, $)</th><th>AMD Radeon RX 9070 GRE (Price, $)</th><th>AMD RX 9060 XT 16 GB (Price, $)</th><th>AMD RX 9060 XT 8 GB (Price, $)</th><th>Intel Arc B580 (Price, $)</th><th>Intel Arc B570 (Price, $)</th></tr></thead><tbody><tr><td>1</td><td>1100</td><td>780</td><td>550</td><td>430</td><td>368</td><td>300</td><td>250</td><td>700</td><td>600</td><td>N/A</td><td>370</td><td>280</td><td>260</td><td>230</td></tr><tr><td>2</td><td>1099</td><td>750</td><td>550</td><td>430</td><td>340</td><td>300</td><td>250</td><td>700</td><td>600</td><td>N/A</td><td>370</td><td>270</td><td>260</td><td>230</td></tr><tr><td>3</td><td>1000</td><td>750</td><td>524</td><td>430</td><td>370</td><td>291</td><td>250</td><td>700</td><td>550</td><td>N/A</td><td>370</td><td>280</td><td>250</td><td>230</td></tr><tr><td>4</td><td>1000</td><td>750</td><td>546</td><td>430</td><td>345</td><td>296</td><td>250</td><td>695</td><td>550</td><td>N/A</td><td>370</td><td>280</td><td>250</td><td>230</td></tr><tr><td>5</td><td>1000</td><td>749</td><td>481</td><td>430</td><td>340</td><td>300</td><td>250</td><td>670</td><td>600</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>230</td></tr><tr><td>6</td><td>929</td><td>749</td><td>499</td><td>379</td><td>340</td><td>289</td><td>240</td><td>670</td><td>600</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>230</td></tr><tr><td>7</td><td>999</td><td>750</td><td>520</td><td>430</td><td>350</td><td>299</td><td>240</td><td>650</td><td>550</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>230</td></tr><tr><td>8</td><td>980</td><td>749</td><td>500</td><td>430</td><td>342</td><td>299</td><td>250</td><td>650</td><td>550</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>200</td></tr><tr><td>9</td><td>999</td><td>750</td><td>500</td><td>430</td><td>323</td><td>299</td><td>250</td><td>650</td><td>560</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>220</td></tr><tr><td>10</td><td>989</td><td>730</td><td>480</td><td>430</td><td>340</td><td>299</td><td>250</td><td>600</td><td>550</td><td>N/A</td><td>360</td><td>270</td><td>250</td><td>210</td></tr><tr><td>11</td><td>990</td><td>699</td><td>489</td><td>400</td><td>320</td><td>280</td><td>230</td><td>600</td><td>550</td><td>N/A</td><td>340</td><td>250</td><td>250</td><td>200</td></tr><tr><td>12</td><td>989</td><td>730</td><td>500</td><td>400</td><td>320</td><td>279</td><td>220</td><td>600</td><td>530</td><td>N/A</td><td>350</td><td>275</td><td>250</td><td>200</td></tr><tr><td>13</td><td>1000</td><td>750</td><td>527</td><td>420</td><td>342</td><td>279</td><td>220</td><td>600</td><td>530</td><td>N/A</td><td>350</td><td>280</td><td>250</td><td>200</td></tr><tr><td>14</td><td>1000</td><td>750</td><td>540</td><td>420</td><td>313</td><td>279</td><td>220</td><td>600</td><td>530</td><td>N/A</td><td>370</td><td>280</td><td>250</td><td>202</td></tr><tr><td>15</td><td>1000</td><td>749</td><td>499</td><td>430</td><td>350</td><td>279</td><td>200</td><td>600</td><td>530</td><td>N/A</td><td>380</td><td>288</td><td>240</td><td>202</td></tr><tr><td>16</td><td>1100</td><td>750</td><td>499</td><td>430</td><td>350</td><td>270</td><td>200</td><td>620</td><td>530</td><td>N/A</td><td>380</td><td>288</td><td>240</td><td>202</td></tr><tr><td>17</td><td>1230</td><td>750</td><td>549</td><td>430</td><td>330</td><td>260</td><td>235</td><td>660</td><td>580</td><td>N/A</td><td>390</td><td>310</td><td>250</td><td>200</td></tr><tr><td>18</td><td>1268</td><td>829</td><td>540</td><td>450</td><td>330</td><td>290</td><td>240</td><td>700</td><td>580</td><td>N/A</td><td>390</td><td>310</td><td>250</td><td>200</td></tr><tr><td>19</td><td>1380</td><td>899</td><td>549</td><td>450</td><td>330</td><td>299</td><td>240</td><td>720</td><td>580</td><td>N/A</td><td>400</td><td>310</td><td>260</td><td>200</td></tr><tr><td>20</td><td>1350</td><td>1000</td><td>620</td><td>520</td><td>330</td><td>299</td><td>240</td><td>720</td><td>600</td><td>N/A</td><td>440</td><td>310</td><td>290</td><td>200</td></tr><tr><td>21</td><td>1365</td><td>950</td><td>620</td><td>520</td><td>351</td><td>299</td><td>260</td><td>730</td><td>590</td><td>N/A</td><td>440</td><td>350</td><td>290</td><td>250</td></tr><tr><td>22</td><td>1365</td><td>950</td><td>620</td><td>520</td><td>360</td><td>299</td><td>260</td><td>730</td><td>630</td><td>N/A</td><td>400</td><td>346</td><td>300</td><td>250</td></tr><tr><td>23</td><td>1290</td><td>950</td><td>630</td><td>520</td><td>360</td><td>340</td><td>260</td><td>730</td><td>630</td><td>N/A</td><td>440</td><td>346</td><td>300</td><td>250</td></tr><tr><td>24</td><td>1290</td><td>950</td><td>625</td><td>520</td><td>360</td><td>340</td><td>260</td><td>730</td><td>620</td><td>N/A</td><td>440</td><td>346</td><td>300</td><td>250</td></tr><tr><td>25</td><td>1250</td><td>950</td><td>630</td><td>550</td><td>360</td><td>349</td><td>260</td><td>730</td><td>610</td><td>N/A</td><td>440</td><td>346</td><td>300</td><td>250</td></tr><tr><td>26</td><td>1260</td><td>950</td><td>604</td><td>550</td><td>360</td><td>349</td><td>290</td><td>730</td><td>610</td><td>N/A</td><td>440</td><td>340</td><td>300</td><td>250</td></tr><tr><td>27</td><td>1290</td><td>950</td><td>640</td><td>570</td><td>360</td><td>349</td><td>290</td><td>730</td><td>630</td><td>N/A</td><td>440</td><td>340</td><td>300</td><td>250</td></tr><tr><td>28</td><td>1250</td><td>900</td><td>630</td><td>515</td><td>390</td><td>349</td><td>290</td><td>720</td><td>620</td><td>N/A</td><td>440</td><td>346</td><td>290</td><td>250</td></tr><tr><td>29</td><td>1290</td><td>990</td><td>636</td><td>500</td><td>390</td><td>349</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>449</td><td>350</td><td>290</td><td>250</td></tr><tr><td>30</td><td>1290</td><td>990</td><td>630</td><td>500</td><td>390</td><td>330</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>440</td><td>350</td><td>290</td><td>260</td></tr><tr><td>31</td><td>1290</td><td>990</td><td>599</td><td>500</td><td>380</td><td>330</td><td>290</td><td>670</td><td>620</td><td>N/A</td><td>440</td><td>350</td><td>290</td><td>260</td></tr><tr><td>32</td><td>1290</td><td>990</td><td>599</td><td>515</td><td>380</td><td>310</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>430</td><td>360</td><td>290</td><td>260</td></tr><tr><td>33</td><td>1290</td><td>980</td><td>599</td><td>490</td><td>400</td><td>349</td><td>290</td><td>710</td><td>600</td><td>N/A</td><td>430</td><td>360</td><td>290</td><td>260</td></tr><tr><td>34</td><td>1270</td><td>980</td><td>599</td><td>550</td><td>380</td><td>349</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>440</td><td>360</td><td>290</td><td>260</td></tr><tr><td>35</td><td>1290</td><td>900</td><td>599</td><td>550</td><td>380</td><td>350</td><td>290</td><td>700</td><td>600</td><td>N/A</td><td>430</td><td>360</td><td>304</td><td>260</td></tr><tr><td>36</td><td>1250</td><td>980</td><td>599</td><td>550</td><td>370</td><td>340</td><td>290</td><td>700</td><td>600</td><td>550</td><td>440</td><td>360</td><td>300</td><td>260</td></tr><tr><td>37</td><td>1250</td><td>980</td><td>599</td><td>570</td><td>370</td><td>340</td><td>290</td><td>700</td><td>600</td><td>550</td><td>440</td><td>350</td><td>304</td><td>250</td></tr><tr><td>38</td><td>1250</td><td>980</td><td>599</td><td>570</td><td>370</td><td>340</td><td>290</td><td>700</td><td>600</td><td>550</td><td>440</td><td>350</td><td>304</td><td>250</td></tr><tr><td>39</td><td>1250</td><td>920</td><td>599</td><td>570</td><td>330</td><td>340</td><td>290</td><td>700</td><td>600</td><td>500</td><td>400</td><td>360</td><td>298</td><td>250</td></tr><tr><td>40</td><td>1250</td><td>955</td><td>599</td><td>565</td><td>330</td><td>340</td><td>290</td><td>700</td><td>600</td><td>500</td><td>430</td><td>360</td><td>291</td><td>260</td></tr><tr><td>41</td><td>1250</td><td>900</td><td>560</td><td>560</td><td>330</td><td>339</td><td>290</td><td>700</td><td>600</td><td>500</td><td>430</td><td>360</td><td>290</td><td>250</td></tr><tr><td>42</td><td>1250</td><td>950</td><td>550</td><td>570</td><td>380</td><td>350</td><td>290</td><td>690</td><td>635</td><td>550</td><td>450</td><td>360</td><td>290</td><td>260</td></tr><tr><td>43</td><td>1290</td><td>1030</td><td>755</td><td>650</td><td>420</td><td>359</td><td>299</td><td>720</td><td>650</td><td>500</td><td>470</td><td>370</td><td>310</td><td>260</td></tr><tr><td>44</td><td>1479</td><td>1088</td><td>763</td><td>780</td><td>420</td><td>N/A</td><td>299</td><td>720</td><td>650</td><td>500</td><td>470</td><td>400</td><td>310</td><td>260</td></tr><tr><td>45</td><td>1550</td><td>1150</td><td>800</td><td>773</td><td>389</td><td>359</td><td>299</td><td>730</td><td>630</td><td>530</td><td>460</td><td>360</td><td>310</td><td>260</td></tr><tr><td>46</td><td>1550</td><td>1150</td><td>759</td><td>570</td><td>389</td><td>359</td><td>299</td><td>740</td><td>650</td><td>530</td><td>470</td><td>400</td><td>310</td><td>260</td></tr><tr><td>47</td><td>1450</td><td>1150</td><td>725</td><td>570</td><td>389</td><td>359</td><td>299</td><td>740</td><td>650</td><td>520</td><td>470</td><td>409</td><td>310</td><td>260</td></tr><tr><td>48</td><td>1450</td><td>1150</td><td>779</td><td>780</td><td>389</td><td>359</td><td>N/A</td><td>760</td><td>650</td><td>500</td><td>470</td><td>430</td><td>330</td><td>260</td></tr><tr><td>49</td><td>1653</td><td>1150</td><td>779</td><td>780</td><td>488</td><td>380</td><td>310</td><td>760</td><td>667</td><td>570</td><td>500</td><td>450</td><td>330</td><td>260</td></tr></tbody></table><script type="application/json" class="riv-line-chart-data">{"products":[{"name":"Nvidia RTX 5080","displayName":"Nvidia RTX 5080","color":"#5bb0c0"},{"name":"Nvidia RTX 5070 Ti","displayName":"Nvidia RTX 5070 Ti","color":"#ffcea9"},{"name":"Nvidia RTX 5070","displayName":"Nvidia RTX 5070","color":"#d26365"},{"name":"Nvidia RTX 5060 Ti 16 GB","displayName":"Nvidia RTX 5060 Ti 16 GB","color":"#e38e4f"},{"name":"Nvidia RTX 5060 Ti 8 GB","displayName":"Nvidia RTX 5060 Ti 8 GB","color":"#75bdd1"},{"name":"Nvidia RTX 5060","displayName":"Nvidia RTX 5060","color":"#e97a7b"},{"name":"Nvidia RTX 5050","displayName":"Nvidia RTX 5050","color":"#D07F46"},{"name":"AMD RX 9070 XT","displayName":"AMD RX 9070 XT","color":"#FFC08B"},{"name":"AMD RX 9070","displayName":"AMD RX 9070","color":"#EB6F71"},{"name":"AMD Radeon RX 9070 GRE","displayName":"AMD Radeon RX 9070 GRE","color":"#E33235"},{"name":"AMD RX 9060 XT 16 GB","displayName":"AMD RX 9060 XT 16 GB","color":"#FE9F58"},{"name":"AMD RX 9060 XT 8 GB","displayName":"AMD RX 9060 XT 8 GB","color":"#1CA9C4"},{"name":"Intel Arc B580","displayName":"Intel Arc B580","color":"#B5282A"},{"name":"Intel Arc B570","displayName":"Intel Arc B570","color":"#66C5D7"}],"timestampUnit":"Week","unit":"Price, $","xAxisLabel":"Week","data":[{"timestamp":1,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":1,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":1,"productName":"AMD RX 9070","value":600},{"timestamp":1,"productName":"AMD RX 9070 XT","value":700},{"timestamp":1,"productName":"Intel Arc B570","value":230},{"timestamp":1,"productName":"Intel Arc B580","value":260},{"timestamp":1,"productName":"Nvidia RTX 5050","value":250},{"timestamp":1,"productName":"Nvidia RTX 5060","value":300},{"timestamp":1,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":1,"productName":"Nvidia RTX 5060 Ti 8 GB","value":368},{"timestamp":1,"productName":"Nvidia RTX 5070","value":550},{"timestamp":1,"productName":"Nvidia RTX 5070 Ti","value":780},{"timestamp":1,"productName":"Nvidia RTX 5080","value":1100},{"timestamp":2,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":2,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":2,"productName":"AMD RX 9070","value":600},{"timestamp":2,"productName":"AMD RX 9070 XT","value":700},{"timestamp":2,"productName":"Intel Arc B570","value":230},{"timestamp":2,"productName":"Intel Arc B580","value":260},{"timestamp":2,"productName":"Nvidia RTX 5050","value":250},{"timestamp":2,"productName":"Nvidia RTX 5060","value":300},{"timestamp":2,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":2,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":2,"productName":"Nvidia RTX 5070","value":550},{"timestamp":2,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":2,"productName":"Nvidia RTX 5080","value":1099},{"timestamp":3,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":3,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":3,"productName":"AMD RX 9070","value":550},{"timestamp":3,"productName":"AMD RX 9070 XT","value":700},{"timestamp":3,"productName":"Intel Arc B570","value":230},{"timestamp":3,"productName":"Intel Arc B580","value":250},{"timestamp":3,"productName":"Nvidia RTX 5050","value":250},{"timestamp":3,"productName":"Nvidia RTX 5060","value":291},{"timestamp":3,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":3,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":3,"productName":"Nvidia RTX 5070","value":524},{"timestamp":3,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":3,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":4,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":4,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":4,"productName":"AMD RX 9070","value":550},{"timestamp":4,"productName":"AMD RX 9070 XT","value":695},{"timestamp":4,"productName":"Intel Arc B570","value":230},{"timestamp":4,"productName":"Intel Arc B580","value":250},{"timestamp":4,"productName":"Nvidia RTX 5050","value":250},{"timestamp":4,"productName":"Nvidia RTX 5060","value":296},{"timestamp":4,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":4,"productName":"Nvidia RTX 5060 Ti 8 GB","value":345},{"timestamp":4,"productName":"Nvidia RTX 5070","value":546},{"timestamp":4,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":4,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":5,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":5,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":5,"productName":"AMD RX 9070","value":600},{"timestamp":5,"productName":"AMD RX 9070 XT","value":670},{"timestamp":5,"productName":"Intel Arc B570","value":230},{"timestamp":5,"productName":"Intel Arc B580","value":250},{"timestamp":5,"productName":"Nvidia RTX 5050","value":250},{"timestamp":5,"productName":"Nvidia RTX 5060","value":300},{"timestamp":5,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":5,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":5,"productName":"Nvidia RTX 5070","value":481},{"timestamp":5,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":5,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":6,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":6,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":6,"productName":"AMD RX 9070","value":600},{"timestamp":6,"productName":"AMD RX 9070 XT","value":670},{"timestamp":6,"productName":"Intel Arc B570","value":230},{"timestamp":6,"productName":"Intel Arc B580","value":250},{"timestamp":6,"productName":"Nvidia RTX 5050","value":240},{"timestamp":6,"productName":"Nvidia RTX 5060","value":289},{"timestamp":6,"productName":"Nvidia RTX 5060 Ti 16 GB","value":379},{"timestamp":6,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":6,"productName":"Nvidia RTX 5070","value":499},{"timestamp":6,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":6,"productName":"Nvidia RTX 5080","value":929},{"timestamp":7,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":7,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":7,"productName":"AMD RX 9070","value":550},{"timestamp":7,"productName":"AMD RX 9070 XT","value":650},{"timestamp":7,"productName":"Intel Arc B570","value":230},{"timestamp":7,"productName":"Intel Arc B580","value":250},{"timestamp":7,"productName":"Nvidia RTX 5050","value":240},{"timestamp":7,"productName":"Nvidia RTX 5060","value":299},{"timestamp":7,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":7,"productName":"Nvidia RTX 5060 Ti 8 GB","value":350},{"timestamp":7,"productName":"Nvidia RTX 5070","value":520},{"timestamp":7,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":7,"productName":"Nvidia RTX 5080","value":999},{"timestamp":8,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":8,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":8,"productName":"AMD RX 9070","value":550},{"timestamp":8,"productName":"AMD RX 9070 XT","value":650},{"timestamp":8,"productName":"Intel Arc B570","value":200},{"timestamp":8,"productName":"Intel Arc B580","value":250},{"timestamp":8,"productName":"Nvidia RTX 5050","value":250},{"timestamp":8,"productName":"Nvidia RTX 5060","value":299},{"timestamp":8,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":8,"productName":"Nvidia RTX 5060 Ti 8 GB","value":342},{"timestamp":8,"productName":"Nvidia RTX 5070","value":500},{"timestamp":8,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":8,"productName":"Nvidia RTX 5080","value":980},{"timestamp":9,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":9,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":9,"productName":"AMD RX 9070","value":560},{"timestamp":9,"productName":"AMD RX 9070 XT","value":650},{"timestamp":9,"productName":"Intel Arc B570","value":220},{"timestamp":9,"productName":"Intel Arc B580","value":250},{"timestamp":9,"productName":"Nvidia RTX 5050","value":250},{"timestamp":9,"productName":"Nvidia RTX 5060","value":299},{"timestamp":9,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":9,"productName":"Nvidia RTX 5060 Ti 8 GB","value":323},{"timestamp":9,"productName":"Nvidia RTX 5070","value":500},{"timestamp":9,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":9,"productName":"Nvidia RTX 5080","value":999},{"timestamp":10,"productName":"AMD RX 9060 XT 16 GB","value":360},{"timestamp":10,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":10,"productName":"AMD RX 9070","value":550},{"timestamp":10,"productName":"AMD RX 9070 XT","value":600},{"timestamp":10,"productName":"Intel Arc B570","value":210},{"timestamp":10,"productName":"Intel Arc B580","value":250},{"timestamp":10,"productName":"Nvidia RTX 5050","value":250},{"timestamp":10,"productName":"Nvidia RTX 5060","value":299},{"timestamp":10,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":10,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":10,"productName":"Nvidia RTX 5070","value":480},{"timestamp":10,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":10,"productName":"Nvidia RTX 5080","value":989},{"timestamp":11,"productName":"AMD RX 9060 XT 16 GB","value":340},{"timestamp":11,"productName":"AMD RX 9060 XT 8 GB","value":250},{"timestamp":11,"productName":"AMD RX 9070","value":550},{"timestamp":11,"productName":"AMD RX 9070 XT","value":600},{"timestamp":11,"productName":"Intel Arc B570","value":200},{"timestamp":11,"productName":"Intel Arc B580","value":250},{"timestamp":11,"productName":"Nvidia RTX 5050","value":230},{"timestamp":11,"productName":"Nvidia RTX 5060","value":280},{"timestamp":11,"productName":"Nvidia RTX 5060 Ti 16 GB","value":400},{"timestamp":11,"productName":"Nvidia RTX 5060 Ti 8 GB","value":320},{"timestamp":11,"productName":"Nvidia RTX 5070","value":489},{"timestamp":11,"productName":"Nvidia RTX 5070 Ti","value":699},{"timestamp":11,"productName":"Nvidia RTX 5080","value":990},{"timestamp":12,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":12,"productName":"AMD RX 9060 XT 8 GB","value":275},{"timestamp":12,"productName":"AMD RX 9070","value":530},{"timestamp":12,"productName":"AMD RX 9070 XT","value":600},{"timestamp":12,"productName":"Intel Arc B570","value":200},{"timestamp":12,"productName":"Intel Arc B580","value":250},{"timestamp":12,"productName":"Nvidia RTX 5050","value":220},{"timestamp":12,"productName":"Nvidia RTX 5060","value":279},{"timestamp":12,"productName":"Nvidia RTX 5060 Ti 16 GB","value":400},{"timestamp":12,"productName":"Nvidia RTX 5060 Ti 8 GB","value":320},{"timestamp":12,"productName":"Nvidia RTX 5070","value":500},{"timestamp":12,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":12,"productName":"Nvidia RTX 5080","value":989},{"timestamp":13,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":13,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":13,"productName":"AMD RX 9070","value":530},{"timestamp":13,"productName":"AMD RX 9070 XT","value":600},{"timestamp":13,"productName":"Intel Arc B570","value":200},{"timestamp":13,"productName":"Intel Arc B580","value":250},{"timestamp":13,"productName":"Nvidia RTX 5050","value":220},{"timestamp":13,"productName":"Nvidia RTX 5060","value":279},{"timestamp":13,"productName":"Nvidia RTX 5060 Ti 16 GB","value":420},{"timestamp":13,"productName":"Nvidia RTX 5060 Ti 8 GB","value":342},{"timestamp":13,"productName":"Nvidia RTX 5070","value":527},{"timestamp":13,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":13,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":14,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":14,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":14,"productName":"AMD RX 9070","value":530},{"timestamp":14,"productName":"AMD RX 9070 XT","value":600},{"timestamp":14,"productName":"Intel Arc B570","value":202},{"timestamp":14,"productName":"Intel Arc B580","value":250},{"timestamp":14,"productName":"Nvidia RTX 5050","value":220},{"timestamp":14,"productName":"Nvidia RTX 5060","value":279},{"timestamp":14,"productName":"Nvidia RTX 5060 Ti 16 GB","value":420},{"timestamp":14,"productName":"Nvidia RTX 5060 Ti 8 GB","value":313},{"timestamp":14,"productName":"Nvidia RTX 5070","value":540},{"timestamp":14,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":14,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":15,"productName":"AMD RX 9060 XT 16 GB","value":380},{"timestamp":15,"productName":"AMD RX 9060 XT 8 GB","value":288},{"timestamp":15,"productName":"AMD RX 9070","value":530},{"timestamp":15,"productName":"AMD RX 9070 XT","value":600},{"timestamp":15,"productName":"Intel Arc B570","value":202},{"timestamp":15,"productName":"Intel Arc B580","value":240},{"timestamp":15,"productName":"Nvidia RTX 5050","value":200},{"timestamp":15,"productName":"Nvidia RTX 5060","value":279},{"timestamp":15,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":15,"productName":"Nvidia RTX 5060 Ti 8 GB","value":350},{"timestamp":15,"productName":"Nvidia RTX 5070","value":499},{"timestamp":15,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":15,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":16,"productName":"AMD RX 9060 XT 16 GB","value":380},{"timestamp":16,"productName":"AMD RX 9060 XT 8 GB","value":288},{"timestamp":16,"productName":"AMD RX 9070","value":530},{"timestamp":16,"productName":"AMD RX 9070 XT","value":620},{"timestamp":16,"productName":"Intel Arc B570","value":202},{"timestamp":16,"productName":"Intel Arc B580","value":240},{"timestamp":16,"productName":"Nvidia RTX 5050","value":200},{"timestamp":16,"productName":"Nvidia RTX 5060","value":270},{"timestamp":16,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":16,"productName":"Nvidia RTX 5060 Ti 8 GB","value":350},{"timestamp":16,"productName":"Nvidia RTX 5070","value":499},{"timestamp":16,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":16,"productName":"Nvidia RTX 5080","value":1100},{"timestamp":17,"productName":"AMD RX 9060 XT 16 GB","value":390},{"timestamp":17,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":17,"productName":"AMD RX 9070","value":580},{"timestamp":17,"productName":"AMD RX 9070 XT","value":660},{"timestamp":17,"productName":"Intel Arc B570","value":200},{"timestamp":17,"productName":"Intel Arc B580","value":250},{"timestamp":17,"productName":"Nvidia RTX 5050","value":235},{"timestamp":17,"productName":"Nvidia RTX 5060","value":260},{"timestamp":17,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":17,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":17,"productName":"Nvidia RTX 5070","value":549},{"timestamp":17,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":17,"productName":"Nvidia RTX 5080","value":1230},{"timestamp":18,"productName":"AMD RX 9060 XT 16 GB","value":390},{"timestamp":18,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":18,"productName":"AMD RX 9070","value":580},{"timestamp":18,"productName":"AMD RX 9070 XT","value":700},{"timestamp":18,"productName":"Intel Arc B570","value":200},{"timestamp":18,"productName":"Intel Arc B580","value":250},{"timestamp":18,"productName":"Nvidia RTX 5050","value":240},{"timestamp":18,"productName":"Nvidia RTX 5060","value":290},{"timestamp":18,"productName":"Nvidia RTX 5060 Ti 16 GB","value":450},{"timestamp":18,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":18,"productName":"Nvidia RTX 5070","value":540},{"timestamp":18,"productName":"Nvidia RTX 5070 Ti","value":829},{"timestamp":18,"productName":"Nvidia RTX 5080","value":1268},{"timestamp":19,"productName":"AMD RX 9060 XT 16 GB","value":400},{"timestamp":19,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":19,"productName":"AMD RX 9070","value":580},{"timestamp":19,"productName":"AMD RX 9070 XT","value":720},{"timestamp":19,"productName":"Intel Arc B570","value":200},{"timestamp":19,"productName":"Intel Arc B580","value":260},{"timestamp":19,"productName":"Nvidia RTX 5050","value":240},{"timestamp":19,"productName":"Nvidia RTX 5060","value":299},{"timestamp":19,"productName":"Nvidia RTX 5060 Ti 16 GB","value":450},{"timestamp":19,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":19,"productName":"Nvidia RTX 5070","value":549},{"timestamp":19,"productName":"Nvidia RTX 5070 Ti","value":899},{"timestamp":19,"productName":"Nvidia RTX 5080","value":1380},{"timestamp":20,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":20,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":20,"productName":"AMD RX 9070","value":600},{"timestamp":20,"productName":"AMD RX 9070 XT","value":720},{"timestamp":20,"productName":"Intel Arc B570","value":200},{"timestamp":20,"productName":"Intel Arc B580","value":290},{"timestamp":20,"productName":"Nvidia RTX 5050","value":240},{"timestamp":20,"productName":"Nvidia RTX 5060","value":299},{"timestamp":20,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":20,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":20,"productName":"Nvidia RTX 5070","value":620},{"timestamp":20,"productName":"Nvidia RTX 5070 Ti","value":1000},{"timestamp":20,"productName":"Nvidia RTX 5080","value":1350},{"timestamp":21,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":21,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":21,"productName":"AMD RX 9070","value":590},{"timestamp":21,"productName":"AMD RX 9070 XT","value":730},{"timestamp":21,"productName":"Intel Arc B570","value":250},{"timestamp":21,"productName":"Intel Arc B580","value":290},{"timestamp":21,"productName":"Nvidia RTX 5050","value":260},{"timestamp":21,"productName":"Nvidia RTX 5060","value":299},{"timestamp":21,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":21,"productName":"Nvidia RTX 5060 Ti 8 GB","value":351},{"timestamp":21,"productName":"Nvidia RTX 5070","value":620},{"timestamp":21,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":21,"productName":"Nvidia RTX 5080","value":1365},{"timestamp":22,"productName":"AMD RX 9060 XT 16 GB","value":400},{"timestamp":22,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":22,"productName":"AMD RX 9070","value":630},{"timestamp":22,"productName":"AMD RX 9070 XT","value":730},{"timestamp":22,"productName":"Intel Arc B570","value":250},{"timestamp":22,"productName":"Intel Arc B580","value":300},{"timestamp":22,"productName":"Nvidia RTX 5050","value":260},{"timestamp":22,"productName":"Nvidia RTX 5060","value":299},{"timestamp":22,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":22,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":22,"productName":"Nvidia RTX 5070","value":620},{"timestamp":22,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":22,"productName":"Nvidia RTX 5080","value":1365},{"timestamp":23,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":23,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":23,"productName":"AMD RX 9070","value":630},{"timestamp":23,"productName":"AMD RX 9070 XT","value":730},{"timestamp":23,"productName":"Intel Arc B570","value":250},{"timestamp":23,"productName":"Intel Arc B580","value":300},{"timestamp":23,"productName":"Nvidia RTX 5050","value":260},{"timestamp":23,"productName":"Nvidia RTX 5060","value":340},{"timestamp":23,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":23,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":23,"productName":"Nvidia RTX 5070","value":630},{"timestamp":23,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":23,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":24,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":24,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":24,"productName":"AMD RX 9070","value":620},{"timestamp":24,"productName":"AMD RX 9070 XT","value":730},{"timestamp":24,"productName":"Intel Arc B570","value":250},{"timestamp":24,"productName":"Intel Arc B580","value":300},{"timestamp":24,"productName":"Nvidia RTX 5050","value":260},{"timestamp":24,"productName":"Nvidia RTX 5060","value":340},{"timestamp":24,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":24,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":24,"productName":"Nvidia RTX 5070","value":625},{"timestamp":24,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":24,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":25,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":25,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":25,"productName":"AMD RX 9070","value":610},{"timestamp":25,"productName":"AMD RX 9070 XT","value":730},{"timestamp":25,"productName":"Intel Arc B570","value":250},{"timestamp":25,"productName":"Intel Arc B580","value":300},{"timestamp":25,"productName":"Nvidia RTX 5050","value":260},{"timestamp":25,"productName":"Nvidia RTX 5060","value":349},{"timestamp":25,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":25,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":25,"productName":"Nvidia RTX 5070","value":630},{"timestamp":25,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":25,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":26,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":26,"productName":"AMD RX 9060 XT 8 GB","value":340},{"timestamp":26,"productName":"AMD RX 9070","value":610},{"timestamp":26,"productName":"AMD RX 9070 XT","value":730},{"timestamp":26,"productName":"Intel Arc B570","value":250},{"timestamp":26,"productName":"Intel Arc B580","value":300},{"timestamp":26,"productName":"Nvidia RTX 5050","value":290},{"timestamp":26,"productName":"Nvidia RTX 5060","value":349},{"timestamp":26,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":26,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":26,"productName":"Nvidia RTX 5070","value":604},{"timestamp":26,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":26,"productName":"Nvidia RTX 5080","value":1260},{"timestamp":27,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":27,"productName":"AMD RX 9060 XT 8 GB","value":340},{"timestamp":27,"productName":"AMD RX 9070","value":630},{"timestamp":27,"productName":"AMD RX 9070 XT","value":730},{"timestamp":27,"productName":"Intel Arc B570","value":250},{"timestamp":27,"productName":"Intel Arc B580","value":300},{"timestamp":27,"productName":"Nvidia RTX 5050","value":290},{"timestamp":27,"productName":"Nvidia RTX 5060","value":349},{"timestamp":27,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":27,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":27,"productName":"Nvidia RTX 5070","value":640},{"timestamp":27,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":27,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":28,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":28,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":28,"productName":"AMD RX 9070","value":620},{"timestamp":28,"productName":"AMD RX 9070 XT","value":720},{"timestamp":28,"productName":"Intel Arc B570","value":250},{"timestamp":28,"productName":"Intel Arc B580","value":290},{"timestamp":28,"productName":"Nvidia RTX 5050","value":290},{"timestamp":28,"productName":"Nvidia RTX 5060","value":349},{"timestamp":28,"productName":"Nvidia RTX 5060 Ti 16 GB","value":515},{"timestamp":28,"productName":"Nvidia RTX 5060 Ti 8 GB","value":390},{"timestamp":28,"productName":"Nvidia RTX 5070","value":630},{"timestamp":28,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":28,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":29,"productName":"AMD RX 9060 XT 16 GB","value":449},{"timestamp":29,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":29,"productName":"AMD RX 9070","value":620},{"timestamp":29,"productName":"AMD RX 9070 XT","value":710},{"timestamp":29,"productName":"Intel Arc B570","value":250},{"timestamp":29,"productName":"Intel Arc B580","value":290},{"timestamp":29,"productName":"Nvidia RTX 5050","value":290},{"timestamp":29,"productName":"Nvidia RTX 5060","value":349},{"timestamp":29,"productName":"Nvidia RTX 5060 Ti 16 GB","value":500},{"timestamp":29,"productName":"Nvidia RTX 5060 Ti 8 GB","value":390},{"timestamp":29,"productName":"Nvidia RTX 5070","value":636},{"timestamp":29,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":29,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":30,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":30,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":30,"productName":"AMD RX 9070","value":620},{"timestamp":30,"productName":"AMD RX 9070 XT","value":710},{"timestamp":30,"productName":"Intel Arc B570","value":260},{"timestamp":30,"productName":"Intel Arc B580","value":290},{"timestamp":30,"productName":"Nvidia RTX 5050","value":290},{"timestamp":30,"productName":"Nvidia RTX 5060","value":330},{"timestamp":30,"productName":"Nvidia RTX 5060 Ti 16 GB","value":500},{"timestamp":30,"productName":"Nvidia RTX 5060 Ti 8 GB","value":390},{"timestamp":30,"productName":"Nvidia RTX 5070","value":630},{"timestamp":30,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":30,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":31,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":31,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":31,"productName":"AMD RX 9070","value":620},{"timestamp":31,"productName":"AMD RX 9070 XT","value":670},{"timestamp":31,"productName":"Intel Arc B570","value":260},{"timestamp":31,"productName":"Intel Arc B580","value":290},{"timestamp":31,"productName":"Nvidia RTX 5050","value":290},{"timestamp":31,"productName":"Nvidia RTX 5060","value":330},{"timestamp":31,"productName":"Nvidia RTX 5060 Ti 16 GB","value":500},{"timestamp":31,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":31,"productName":"Nvidia RTX 5070","value":599},{"timestamp":31,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":31,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":32,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":32,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":32,"productName":"AMD RX 9070","value":620},{"timestamp":32,"productName":"AMD RX 9070 XT","value":710},{"timestamp":32,"productName":"Intel Arc B570","value":260},{"timestamp":32,"productName":"Intel Arc B580","value":290},{"timestamp":32,"productName":"Nvidia RTX 5050","value":290},{"timestamp":32,"productName":"Nvidia RTX 5060","value":310},{"timestamp":32,"productName":"Nvidia RTX 5060 Ti 16 GB","value":515},{"timestamp":32,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":32,"productName":"Nvidia RTX 5070","value":599},{"timestamp":32,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":32,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":33,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":33,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":33,"productName":"AMD RX 9070","value":600},{"timestamp":33,"productName":"AMD RX 9070 XT","value":710},{"timestamp":33,"productName":"Intel Arc B570","value":260},{"timestamp":33,"productName":"Intel Arc B580","value":290},{"timestamp":33,"productName":"Nvidia RTX 5050","value":290},{"timestamp":33,"productName":"Nvidia RTX 5060","value":349},{"timestamp":33,"productName":"Nvidia RTX 5060 Ti 16 GB","value":490},{"timestamp":33,"productName":"Nvidia RTX 5060 Ti 8 GB","value":400},{"timestamp":33,"productName":"Nvidia RTX 5070","value":599},{"timestamp":33,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":33,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":34,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":34,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":34,"productName":"AMD RX 9070","value":620},{"timestamp":34,"productName":"AMD RX 9070 XT","value":710},{"timestamp":34,"productName":"Intel Arc B570","value":260},{"timestamp":34,"productName":"Intel Arc B580","value":290},{"timestamp":34,"productName":"Nvidia RTX 5050","value":290},{"timestamp":34,"productName":"Nvidia RTX 5060","value":349},{"timestamp":34,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":34,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":34,"productName":"Nvidia RTX 5070","value":599},{"timestamp":34,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":34,"productName":"Nvidia RTX 5080","value":1270},{"timestamp":35,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":35,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":35,"productName":"AMD RX 9070","value":600},{"timestamp":35,"productName":"AMD RX 9070 XT","value":700},{"timestamp":35,"productName":"Intel Arc B570","value":260},{"timestamp":35,"productName":"Intel Arc B580","value":304},{"timestamp":35,"productName":"Nvidia RTX 5050","value":290},{"timestamp":35,"productName":"Nvidia RTX 5060","value":350},{"timestamp":35,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":35,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":35,"productName":"Nvidia RTX 5070","value":599},{"timestamp":35,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":35,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":36,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":36,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":36,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":36,"productName":"AMD RX 9070","value":600},{"timestamp":36,"productName":"AMD RX 9070 XT","value":700},{"timestamp":36,"productName":"Intel Arc B570","value":260},{"timestamp":36,"productName":"Intel Arc B580","value":300},{"timestamp":36,"productName":"Nvidia RTX 5050","value":290},{"timestamp":36,"productName":"Nvidia RTX 5060","value":340},{"timestamp":36,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":36,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":36,"productName":"Nvidia RTX 5070","value":599},{"timestamp":36,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":36,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":37,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":37,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":37,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":37,"productName":"AMD RX 9070","value":600},{"timestamp":37,"productName":"AMD RX 9070 XT","value":700},{"timestamp":37,"productName":"Intel Arc B570","value":250},{"timestamp":37,"productName":"Intel Arc B580","value":304},{"timestamp":37,"productName":"Nvidia RTX 5050","value":290},{"timestamp":37,"productName":"Nvidia RTX 5060","value":340},{"timestamp":37,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":37,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":37,"productName":"Nvidia RTX 5070","value":599},{"timestamp":37,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":37,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":38,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":38,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":38,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":38,"productName":"AMD RX 9070","value":600},{"timestamp":38,"productName":"AMD RX 9070 XT","value":700},{"timestamp":38,"productName":"Intel Arc B570","value":250},{"timestamp":38,"productName":"Intel Arc B580","value":304},{"timestamp":38,"productName":"Nvidia RTX 5050","value":290},{"timestamp":38,"productName":"Nvidia RTX 5060","value":340},{"timestamp":38,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":38,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":38,"productName":"Nvidia RTX 5070","value":599},{"timestamp":38,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":38,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":39,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":39,"productName":"AMD RX 9060 XT 16 GB","value":400},{"timestamp":39,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":39,"productName":"AMD RX 9070","value":600},{"timestamp":39,"productName":"AMD RX 9070 XT","value":700},{"timestamp":39,"productName":"Intel Arc B570","value":250},{"timestamp":39,"productName":"Intel Arc B580","value":298},{"timestamp":39,"productName":"Nvidia RTX 5050","value":290},{"timestamp":39,"productName":"Nvidia RTX 5060","value":340},{"timestamp":39,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":39,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":39,"productName":"Nvidia RTX 5070","value":599},{"timestamp":39,"productName":"Nvidia RTX 5070 Ti","value":920},{"timestamp":39,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":40,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":40,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":40,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":40,"productName":"AMD RX 9070","value":600},{"timestamp":40,"productName":"AMD RX 9070 XT","value":700},{"timestamp":40,"productName":"Intel Arc B570","value":260},{"timestamp":40,"productName":"Intel Arc B580","value":291},{"timestamp":40,"productName":"Nvidia RTX 5050","value":290},{"timestamp":40,"productName":"Nvidia RTX 5060","value":340},{"timestamp":40,"productName":"Nvidia RTX 5060 Ti 16 GB","value":565},{"timestamp":40,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":40,"productName":"Nvidia RTX 5070","value":599},{"timestamp":40,"productName":"Nvidia RTX 5070 Ti","value":955},{"timestamp":40,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":41,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":41,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":41,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":41,"productName":"AMD RX 9070","value":600},{"timestamp":41,"productName":"AMD RX 9070 XT","value":700},{"timestamp":41,"productName":"Intel Arc B570","value":250},{"timestamp":41,"productName":"Intel Arc B580","value":290},{"timestamp":41,"productName":"Nvidia RTX 5050","value":290},{"timestamp":41,"productName":"Nvidia RTX 5060","value":339},{"timestamp":41,"productName":"Nvidia RTX 5060 Ti 16 GB","value":560},{"timestamp":41,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":41,"productName":"Nvidia RTX 5070","value":560},{"timestamp":41,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":41,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":42,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":42,"productName":"AMD RX 9060 XT 16 GB","value":450},{"timestamp":42,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":42,"productName":"AMD RX 9070","value":635},{"timestamp":42,"productName":"AMD RX 9070 XT","value":690},{"timestamp":42,"productName":"Intel Arc B570","value":260},{"timestamp":42,"productName":"Intel Arc B580","value":290},{"timestamp":42,"productName":"Nvidia RTX 5050","value":290},{"timestamp":42,"productName":"Nvidia RTX 5060","value":350},{"timestamp":42,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":42,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":42,"productName":"Nvidia RTX 5070","value":550},{"timestamp":42,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":42,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":43,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":43,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":43,"productName":"AMD RX 9060 XT 8 GB","value":370},{"timestamp":43,"productName":"AMD RX 9070","value":650},{"timestamp":43,"productName":"AMD RX 9070 XT","value":720},{"timestamp":43,"productName":"Intel Arc B570","value":260},{"timestamp":43,"productName":"Intel Arc B580","value":310},{"timestamp":43,"productName":"Nvidia RTX 5050","value":299},{"timestamp":43,"productName":"Nvidia RTX 5060","value":359},{"timestamp":43,"productName":"Nvidia RTX 5060 Ti 16 GB","value":650},{"timestamp":43,"productName":"Nvidia RTX 5060 Ti 8 GB","value":420},{"timestamp":43,"productName":"Nvidia RTX 5070","value":755},{"timestamp":43,"productName":"Nvidia RTX 5070 Ti","value":1030},{"timestamp":43,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":44,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":44,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":44,"productName":"AMD RX 9060 XT 8 GB","value":400},{"timestamp":44,"productName":"AMD RX 9070","value":650},{"timestamp":44,"productName":"AMD RX 9070 XT","value":720},{"timestamp":44,"productName":"Intel Arc B570","value":260},{"timestamp":44,"productName":"Intel Arc B580","value":310},{"timestamp":44,"productName":"Nvidia RTX 5050","value":299},{"timestamp":44,"productName":"Nvidia RTX 5060 Ti 16 GB","value":780},{"timestamp":44,"productName":"Nvidia RTX 5060 Ti 8 GB","value":420},{"timestamp":44,"productName":"Nvidia RTX 5070","value":763},{"timestamp":44,"productName":"Nvidia RTX 5070 Ti","value":1088},{"timestamp":44,"productName":"Nvidia RTX 5080","value":1479},{"timestamp":45,"productName":"AMD Radeon RX 9070 GRE","value":530},{"timestamp":45,"productName":"AMD RX 9060 XT 16 GB","value":460},{"timestamp":45,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":45,"productName":"AMD RX 9070","value":630},{"timestamp":45,"productName":"AMD RX 9070 XT","value":730},{"timestamp":45,"productName":"Intel Arc B570","value":260},{"timestamp":45,"productName":"Intel Arc B580","value":310},{"timestamp":45,"productName":"Nvidia RTX 5050","value":299},{"timestamp":45,"productName":"Nvidia RTX 5060","value":359},{"timestamp":45,"productName":"Nvidia RTX 5060 Ti 16 GB","value":773},{"timestamp":45,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":45,"productName":"Nvidia RTX 5070","value":800},{"timestamp":45,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":45,"productName":"Nvidia RTX 5080","value":1550},{"timestamp":46,"productName":"AMD Radeon RX 9070 GRE","value":530},{"timestamp":46,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":46,"productName":"AMD RX 9060 XT 8 GB","value":400},{"timestamp":46,"productName":"AMD RX 9070","value":650},{"timestamp":46,"productName":"AMD RX 9070 XT","value":740},{"timestamp":46,"productName":"Intel Arc B570","value":260},{"timestamp":46,"productName":"Intel Arc B580","value":310},{"timestamp":46,"productName":"Nvidia RTX 5050","value":299},{"timestamp":46,"productName":"Nvidia RTX 5060","value":359},{"timestamp":46,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":46,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":46,"productName":"Nvidia RTX 5070","value":759},{"timestamp":46,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":46,"productName":"Nvidia RTX 5080","value":1550},{"timestamp":47,"productName":"AMD Radeon RX 9070 GRE","value":520},{"timestamp":47,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":47,"productName":"AMD RX 9060 XT 8 GB","value":409},{"timestamp":47,"productName":"AMD RX 9070","value":650},{"timestamp":47,"productName":"AMD RX 9070 XT","value":740},{"timestamp":47,"productName":"Intel Arc B570","value":260},{"timestamp":47,"productName":"Intel Arc B580","value":310},{"timestamp":47,"productName":"Nvidia RTX 5050","value":299},{"timestamp":47,"productName":"Nvidia RTX 5050","value":299},{"timestamp":47,"productName":"Nvidia RTX 5060","value":359},{"timestamp":47,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":47,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":47,"productName":"Nvidia RTX 5070","value":725},{"timestamp":47,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":47,"productName":"Nvidia RTX 5080","value":1450},{"timestamp":48,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":48,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":48,"productName":"AMD RX 9060 XT 8 GB","value":430},{"timestamp":48,"productName":"AMD RX 9070","value":650},{"timestamp":48,"productName":"AMD RX 9070 XT","value":760},{"timestamp":48,"productName":"Intel Arc B570","value":260},{"timestamp":48,"productName":"Intel Arc B580","value":330},{"timestamp":48,"productName":"Nvidia RTX 5060","value":359},{"timestamp":48,"productName":"Nvidia RTX 5060 Ti 16 GB","value":780},{"timestamp":48,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":48,"productName":"Nvidia RTX 5070","value":779},{"timestamp":48,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":48,"productName":"Nvidia RTX 5080","value":1450},{"timestamp":49,"productName":"AMD Radeon RX 9070 GRE","value":570},{"timestamp":49,"productName":"AMD RX 9060 XT 16 GB","value":500},{"timestamp":49,"productName":"AMD RX 9060 XT 8 GB","value":450},{"timestamp":49,"productName":"AMD RX 9070","value":667},{"timestamp":49,"productName":"AMD RX 9070 XT","value":760},{"timestamp":49,"productName":"Intel Arc B570","value":260},{"timestamp":49,"productName":"Intel Arc B580","value":330},{"timestamp":49,"productName":"Nvidia RTX 5050","value":310},{"timestamp":49,"productName":"Nvidia RTX 5060","value":380},{"timestamp":49,"productName":"Nvidia RTX 5060 Ti 16 GB","value":780},{"timestamp":49,"productName":"Nvidia RTX 5060 Ti 8 GB","value":488},{"timestamp":49,"productName":"Nvidia RTX 5070","value":779},{"timestamp":49,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":49,"productName":"Nvidia RTX 5080","value":1653}],"xMin":1,"xMax":49,"yMin":0,"yMax":2000}</script></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790867600756-p0oh86j9j', false); });} else {initialize('fv-chart-1790867600756-p0oh86j9j', false);}})();</script></div><p>When our Dave <a href="https://www.pcgamer.com/hardware/graphics-cards/intel-arc-b580-review/" target="_blank">reviewed the Intel Arc B580</a>, he concluded that it's a great budget GPU when it works, but there are games where it doesn't perform well and some where it doesn't work at all. Things have improved since then, but Intel GPUs are still more inconsistent than Nvidia and AMD ones.</p><p>Both <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/heres-why-im-hoping-to-score-lunar-lake-inside-my-next-handheld-gaming-pc-intels-core-ultra-7-258v-tested-in-games" target="_blank">Intel Lunar Lake (eg, Arc 140V)</a> and more recent <a href="https://www.pcgamer.com/hardware/graphics-cards/fast-feisty-fabulous-ive-benchmarked-intels-new-panther-lake-processor-and-its-dragging-gaming-laptop-performance-out-of-integrated-graphics/" target="_blank">Panther Lake (eg, Arc B390)</a> are very efficient GPUs that make for some snappy laptops—especially the latter. But there's always a risk of inconsistency in games, and giant performance improvements from driver updates testify to this.</p><p>Still, the continued improvement is great to see, even for older Arc GPUs. Especially considering Intel graphics cards are some of the cheapest modern ones and have managed to stave off a lot of the impact of the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon" target="_blank">global memory shortage</a>. As you can see from the chart above, the cheapest Arc B570 and Arc B580 cards have stayed relatively stable in price, and very cheap for the current market.</p><p>At any rate, whether you're rocking a discrete Intel GPU or some integrated Arc graphics, you might want to check out your performance in some of those games after an update. You can <a href="https://www.intel.com/content/www/us/en/download/785597/intel-arc-graphics-windows.html" target="_blank">download the latest driver here</a>.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/graphics-cards/how-in-the-world-are-intel-gpus-still-improving-so-much-the-latest-driver-update-claims-up-to-a-31-percent-fps-improvement-in-resident-evil-requiem/</link>
                                                                            <description>
                            <![CDATA[ And more modest but still significant boosts in other games. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">LWYtkaVDEtYFTraETgmp4K</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7Q88TQuUDAQwzqLimBWrnV-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 10:40:22 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Graphics Cards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7Q88TQuUDAQwzqLimBWrnV-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Intel Arc B580 graphics card]]></media:description>                                                            <media:text><![CDATA[Intel Arc B580 graphics card]]></media:text>
                                <media:title type="plain"><![CDATA[Intel Arc B580 graphics card]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7Q88TQuUDAQwzqLimBWrnV-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Intel graphics don't get much screen time against the weight of AMD and Nvidia, but say what you want about Arc GPUs, they just keep on improving. This is clear enough from the latest driver, the release notes for which claim some significant performance improvements in certain games.</p><p>The <a href="https://downloadmirror.intel.com/930514/ReleaseNotes__101.9150_WHQL.pdf" target="_blank">release notes for WHQL driver 32.0.101.9150</a> (PDF warning) claim a whopping 31% average fps uplift in Resident Evil Requiem at 1080p on medium settings for Core Ultra 2 (Lunar Lake) integrated Arc GPUs. That drops just a couple of per cent to 29% when on high settings. </p><p>There are other big boosts too: 18% for Assassin's Creed Shadows at 1080p, high settings, and 11% for Assassin's Creed Valhalla at 1080p on high, plus some more smaller boosts.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Intel Core Ultra Series 3 (Panther Lake) integrated GPUs get a more moderate boost of 5% for F1 25 at 1080p on medium settings. And Arc B-series graphics cards get a 6% boost in Avatar: Frontiers of Pandora and Monster Hunter Rise, both at 1440p on high settings.</p><p>Nothing quite as big as the uplift Lunar Lake supposedly sees, but still enough to show that there's a 'fine wine' element across the Arc stack. Although based on our experience here at PC Gamer, it's less of a case of 'good to great' and more 'temperamental to reliable'.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790867600756-p0oh86j9j *, #fv-chart-1790867600756-p0oh86j9j *:before, #fv-chart-1790867600756-p0oh86j9j *:after, #fv-chart-1790867600756-p0oh86j9j-slideshow *, #fv-chart-1790867600756-p0oh86j9j-slideshow *:before, #fv-chart-1790867600756-p0oh86j9j-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790867600756-p0oh86j9j, #fv-chart-1790867600756-p0oh86j9j-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790867600756-p0oh86j9j {position: relative !important; overflow: visible !important;--riv-primary: #E33235;}#fv-chart-1790867600756-p0oh86j9j .fv-inner-wrapper {color: #1F2937 !important; background-color: #ededed !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790867600756-p0oh86j9j .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790867600756-p0oh86j9j.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790867600756-p0oh86j9j .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #E33235;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790867600756-p0oh86j9j-slideshow .fv-slideshow-select:focus {outline: 2px solid #E33235 !important;border-color: #E33235 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790867600756-p0oh86j9j .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790867600756-p0oh86j9j .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790867600756-p0oh86j9j .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790867600756-p0oh86j9j .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790867600756-p0oh86j9j .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790867600756-p0oh86j9j .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790867600756-p0oh86j9j .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790867600756-p0oh86j9j .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790867600756-p0oh86j9j .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-row, #fv-chart-1790867600756-p0oh86j9j .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790867600756-p0oh86j9j.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790867600756-p0oh86j9j.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790867600756-p0oh86j9j.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790867600756-p0oh86j9j .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790867600756-p0oh86j9j .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790867600756-p0oh86j9j .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790867600756-p0oh86j9j .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790867600756-p0oh86j9j .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790867600756-p0oh86j9j .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790867600756-p0oh86j9j .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-pie-container,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stacked-product,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-grouped-bar-product,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stacked-product,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-label,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-grouped-product-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-label,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-container,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-cluster,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-container,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-x-axis-wrapper,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-x-axis-label-space,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-x-axis-chart-space,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-benchmark-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-dropdown-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-carousel-nav-btn,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-chart-title,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-chart-subhead,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-header,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-wrapper,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-vs,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select-container,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-versus-select,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790867600756-p0oh86j9j.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790867600756-p0oh86j9j .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-row,#fv-chart-1790867600756-p0oh86j9j .fv-stacked-product,#fv-chart-1790867600756-p0oh86j9j .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-label,#fv-chart-1790867600756-p0oh86j9j .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-container,#fv-chart-1790867600756-p0oh86j9j .fv-bar-cluster {width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790867600756-p0oh86j9j .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790867600756-p0oh86j9j .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-label-space {display: none !important;}#fv-chart-1790867600756-p0oh86j9j .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-logo,#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790867600756-p0oh86j9j .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790867600756-p0oh86j9j .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790867600756-p0oh86j9j .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790867600756-p0oh86j9j.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Lowest price per GPU","description": "We've been measuring the lowest available price of each current-gen GPU since August 14, 2025.","creator": {"@type": "Organization","name": "PC Gamer","logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-10-01T15:13:20.759Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Nvidia RTX 5080","Nvidia RTX 5070 Ti","Nvidia RTX 5070","Nvidia RTX 5060 Ti 16 GB","Nvidia RTX 5060 Ti 8 GB","Nvidia RTX 5060","Nvidia RTX 5050","AMD RX 9070 XT","AMD RX 9070","AMD Radeon RX 9070 GRE","AMD RX 9060 XT 16 GB","AMD RX 9060 XT 8 GB","Intel Arc B580","Intel Arc B570","Lowest pricing","benchmark","comparison","performance","review","PC Gamer"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "AMD RX 9060 XT 16 GB – Lowest pricing","value": 500,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD RX 9060 XT 8 GB – Lowest pricing","value": 450,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD RX 9070 – Lowest pricing","value": 667,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD RX 9070 XT – Lowest pricing","value": 760,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Intel Arc B570 – Lowest pricing","value": 260,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Intel Arc B580 – Lowest pricing","value": 330,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5050 – Lowest pricing","value": 310,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5060 – Lowest pricing","value": 380,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5060 Ti 16 GB – Lowest pricing","value": 780,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5060 Ti 8 GB – Lowest pricing","value": 488,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5070 – Lowest pricing","value": 779,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5070 Ti – Lowest pricing","value": 1150,"unitText": "Price, $"},{"@type": "PropertyValue","name": "Nvidia RTX 5080 – Lowest pricing","value": 1653,"unitText": "Price, $"},{"@type": "PropertyValue","name": "AMD Radeon RX 9070 GRE – Lowest pricing","value": 570,"unitText": "Price, $"}]}</script><div id="fv-chart-1790867600756-p0oh86j9j" class="fv-chart-wrapper fv-contains-line-chart  " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Lowest price per GPU</h3><p class="fv-chart-subhead">We've been measuring the lowest available price of each current-gen GPU since August 14, 2025.</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790867600756-p0oh86j9j-line-Lowest pricing" data-chart-type="Line" data-title="Lowest pricing" data-subhead="We've been measuring the lowest available price of each current-gen GPU since August 14, 2025." data-caption="" style=""><div class="fv-benchmark-group"><div class="riv-line-chart-container" id="fv-chart-1790867600756-p0oh86j9j-line-Lowest pricing" role="group" aria-label="Line chart for Lowest pricing" style="position: relative;"><style>.riv-line-chart-container { width: 100% !important; }.riv-line-chart-svg-desktop { display: block !important; }.riv-line-chart-svg-mobile { display: none !important; }.mobile-view .riv-line-chart-svg-desktop { display: none !important; }.mobile-view .riv-line-chart-svg-mobile { display: block !important; }@media (max-width: 599px) { .riv-line-chart-svg-desktop { display: none !important; } .riv-line-chart-svg-mobile { display: block !important; } }.riv-line-legend { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px 16px !important; margin-top: 16px !important; font-family: 'Open Sans', sans-serif !important; }.riv-legend-item { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; color: #374151 !important; background: none !important; border: none !important; padding: 4px !important; border-radius: 4px !important; cursor: pointer !important; transition: opacity 0.2s !important; }.riv-legend-item.fv-primary-product { font-weight: bold !important; }.riv-legend-item:focus { outline: 2px solid var(--riv-primary) !important; }.riv-legend-marker { width: 12px !important; height: 12px !important; border-radius: 50% !important; }</style><div class="fv-y-axis-title">Lowest pricing (Price, $)</div><svg class="riv-line-chart-svg-desktop" style="overflow: visible;" fill="none" viewBox="0 0 600 340" width="100%" height="auto" aria-hidden="true"><g class="riv-grid"><line x1="45" x2="580" y1="275.00" y2="275.00" /><line x1="45" x2="580" y1="208.75" y2="208.75" /><line x1="45" x2="580" y1="142.50" y2="142.50" /><line x1="45" x2="580" y1="76.25" y2="76.25" /><line x1="45" x2="580" y1="10.00" y2="10.00" /><line x1="256.77" x2="256.77" y1="10" y2="275" /><line x1="479.69" x2="479.69" y1="10" y2="275" /></g><g class="riv-axes"><line x1="45" x2="45" y1="10" y2="275" stroke="#D1D5DB" /><line x1="45" x2="580" y1="275" y2="275" stroke="#D1D5DB" /><text x="37" y="275.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">0</text><text x="37" y="208.75" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">500</text><text x="37" y="142.50" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1000</text><text x="37" y="76.25" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1500</text><text x="37" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">2000</text><text x="256.77" y="287" transform="rotate(-45 256.77 287)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">20 Week</text><text x="479.69" y="287" transform="rotate(-45 479.69 287)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">40 Week</text></g><path class="riv-line-path" d="M 45.00,129.25 C 48.72,129.25 52.43,129.38 56.15,129.38 C 59.86,129.38 63.58,142.50 67.29,142.50 C 71.01,142.50 74.72,142.50 78.44,142.50 C 82.15,142.50 85.87,142.50 89.58,142.50 C 93.30,142.50 97.01,151.91 100.73,151.91 C 104.44,151.91 108.16,142.63 111.88,142.63 C 115.59,142.63 119.31,145.15 123.02,145.15 C 126.74,145.15 130.45,142.63 134.17,142.63 C 137.88,142.63 141.60,143.96 145.31,143.96 C 149.03,143.96 152.74,143.82 156.46,143.82 C 160.17,143.82 163.89,143.96 167.60,143.96 C 171.32,143.96 175.03,142.50 178.75,142.50 C 182.47,142.50 186.18,142.50 189.90,142.50 C 193.61,142.50 197.33,142.50 201.04,142.50 C 204.76,142.50 208.47,129.25 212.19,129.25 C 215.90,129.25 219.62,112.03 223.33,112.03 C 227.05,112.03 230.76,106.99 234.48,106.99 C 238.19,106.99 241.91,92.15 245.63,92.15 C 249.34,92.15 253.06,96.13 256.77,96.13 C 260.49,96.13 264.20,94.14 267.92,94.14 C 271.63,94.14 275.35,94.14 279.06,94.14 C 282.78,94.14 286.49,104.07 290.21,104.07 C 293.92,104.07 297.64,104.07 301.35,104.07 C 305.07,104.07 308.78,109.38 312.50,109.38 C 316.22,109.38 319.93,108.05 323.65,108.05 C 327.36,108.05 331.08,104.07 334.79,104.07 C 338.51,104.07 342.22,109.38 345.94,109.38 C 349.65,109.38 353.37,104.07 357.08,104.07 C 360.80,104.07 364.51,104.07 368.23,104.07 C 371.94,104.07 375.66,104.07 379.38,104.07 C 383.09,104.07 386.81,104.07 390.52,104.07 C 394.24,104.07 397.95,104.07 401.67,104.07 C 405.38,104.07 409.10,106.72 412.81,106.72 C 416.53,106.72 420.24,104.07 423.96,104.07 C 427.67,104.07 431.39,109.38 435.10,109.38 C 438.82,109.38 442.53,109.38 446.25,109.38 C 449.97,109.38 453.68,109.38 457.40,109.38 C 461.11,109.38 464.83,109.38 468.54,109.38 C 472.26,109.38 475.97,109.38 479.69,109.38 C 483.40,109.38 487.12,109.38 490.83,109.38 C 494.55,109.38 498.26,109.38 501.98,109.38 C 505.69,109.38 509.41,104.07 513.13,104.07 C 516.84,104.07 520.56,79.03 524.27,79.03 C 527.99,79.03 531.70,69.63 535.42,69.63 C 539.13,69.63 542.85,69.63 546.56,69.63 C 550.28,69.63 553.99,82.88 557.71,82.88 C 561.42,82.88 565.14,82.88 568.85,82.88 C 572.57,82.88 576.28,55.98 580.00,55.98" data-product="Nvidia RTX 5080" fill="none" stroke="#5bb0c0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,171.65 C 48.72,171.65 52.43,175.63 56.15,175.63 C 59.86,175.63 63.58,175.63 67.29,175.63 C 71.01,175.63 74.72,175.63 78.44,175.63 C 82.15,175.63 85.87,175.76 89.58,175.76 C 93.30,175.76 97.01,175.76 100.73,175.76 C 104.44,175.76 108.16,175.63 111.88,175.63 C 115.59,175.63 119.31,175.76 123.02,175.76 C 126.74,175.76 130.45,175.63 134.17,175.63 C 137.88,175.63 141.60,178.28 145.31,178.28 C 149.03,178.28 152.74,182.38 156.46,182.38 C 160.17,182.38 163.89,178.28 167.60,178.28 C 171.32,178.28 175.03,175.63 178.75,175.63 C 182.47,175.63 186.18,175.63 189.90,175.63 C 193.61,175.63 197.33,175.76 201.04,175.76 C 204.76,175.76 208.47,175.63 212.19,175.63 C 215.90,175.63 219.62,175.63 223.33,175.63 C 227.05,175.63 230.76,165.16 234.48,165.16 C 238.19,165.16 241.91,155.88 245.63,155.88 C 249.34,155.88 253.06,142.50 256.77,142.50 C 260.49,142.50 264.20,149.13 267.92,149.13 C 271.63,149.13 275.35,149.13 279.06,149.13 C 282.78,149.13 286.49,149.13 290.21,149.13 C 293.92,149.13 297.64,149.13 301.35,149.13 C 305.07,149.13 308.78,149.13 312.50,149.13 C 316.22,149.13 319.93,149.13 323.65,149.13 C 327.36,149.13 331.08,149.13 334.79,149.13 C 338.51,149.13 342.22,155.75 345.94,155.75 C 349.65,155.75 353.37,143.82 357.08,143.82 C 360.80,143.82 364.51,143.82 368.23,143.82 C 371.94,143.82 375.66,143.82 379.38,143.82 C 383.09,143.82 386.81,143.82 390.52,143.82 C 394.24,143.82 397.95,145.15 401.67,145.15 C 405.38,145.15 409.10,145.15 412.81,145.15 C 416.53,145.15 420.24,155.75 423.96,155.75 C 427.67,155.75 431.39,145.15 435.10,145.15 C 438.82,145.15 442.53,145.15 446.25,145.15 C 449.97,145.15 453.68,145.15 457.40,145.15 C 461.11,145.15 464.83,153.10 468.54,153.10 C 472.26,153.10 475.97,148.46 479.69,148.46 C 483.40,148.46 487.12,155.75 490.83,155.75 C 494.55,155.75 498.26,149.13 501.98,149.13 C 505.69,149.13 509.41,138.53 513.13,138.53 C 516.84,138.53 520.56,130.84 524.27,130.84 C 527.99,130.84 531.70,122.63 535.42,122.63 C 539.13,122.63 542.85,122.63 546.56,122.63 C 550.28,122.63 553.99,122.63 557.71,122.63 C 561.42,122.63 565.14,122.63 568.85,122.63 C 572.57,122.63 576.28,122.63 580.00,122.63" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#ffcea9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,202.13 C 48.72,202.13 52.43,202.13 56.15,202.13 C 59.86,202.13 63.58,205.57 67.29,205.57 C 71.01,205.57 74.72,202.66 78.44,202.66 C 82.15,202.66 85.87,211.27 89.58,211.27 C 93.30,211.27 97.01,208.88 100.73,208.88 C 104.44,208.88 108.16,206.10 111.88,206.10 C 115.59,206.10 119.31,208.75 123.02,208.75 C 126.74,208.75 130.45,208.75 134.17,208.75 C 137.88,208.75 141.60,211.40 145.31,211.40 C 149.03,211.40 152.74,210.21 156.46,210.21 C 160.17,210.21 163.89,208.75 167.60,208.75 C 171.32,208.75 175.03,205.17 178.75,205.17 C 182.47,205.17 186.18,203.45 189.90,203.45 C 193.61,203.45 197.33,208.88 201.04,208.88 C 204.76,208.88 208.47,208.88 212.19,208.88 C 215.90,208.88 219.62,202.26 223.33,202.26 C 227.05,202.26 230.76,203.45 234.48,203.45 C 238.19,203.45 241.91,202.26 245.63,202.26 C 249.34,202.26 253.06,192.85 256.77,192.85 C 260.49,192.85 264.20,192.85 267.92,192.85 C 271.63,192.85 275.35,192.85 279.06,192.85 C 282.78,192.85 286.49,191.53 290.21,191.53 C 293.92,191.53 297.64,192.19 301.35,192.19 C 305.07,192.19 308.78,191.53 312.50,191.53 C 316.22,191.53 319.93,194.97 323.65,194.97 C 327.36,194.97 331.08,190.20 334.79,190.20 C 338.51,190.20 342.22,191.53 345.94,191.53 C 349.65,191.53 353.37,190.73 357.08,190.73 C 360.80,190.73 364.51,191.53 368.23,191.53 C 371.94,191.53 375.66,195.63 379.38,195.63 C 383.09,195.63 386.81,195.63 390.52,195.63 C 394.24,195.63 397.95,195.63 401.67,195.63 C 405.38,195.63 409.10,195.63 412.81,195.63 C 416.53,195.63 420.24,195.63 423.96,195.63 C 427.67,195.63 431.39,195.63 435.10,195.63 C 438.82,195.63 442.53,195.63 446.25,195.63 C 449.97,195.63 453.68,195.63 457.40,195.63 C 461.11,195.63 464.83,195.63 468.54,195.63 C 472.26,195.63 475.97,195.63 479.69,195.63 C 483.40,195.63 487.12,200.80 490.83,200.80 C 494.55,200.80 498.26,202.13 501.98,202.13 C 505.69,202.13 509.41,174.96 513.13,174.96 C 516.84,174.96 520.56,173.90 524.27,173.90 C 527.99,173.90 531.70,169.00 535.42,169.00 C 539.13,169.00 542.85,174.43 546.56,174.43 C 550.28,174.43 553.99,178.94 557.71,178.94 C 561.42,178.94 565.14,171.78 568.85,171.78 C 572.57,171.78 576.28,171.78 580.00,171.78" data-product="Nvidia RTX 5070" fill="none" stroke="#d26365" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,218.03 C 48.72,218.03 52.43,218.03 56.15,218.03 C 59.86,218.03 63.58,218.03 67.29,218.03 C 71.01,218.03 74.72,218.03 78.44,218.03 C 82.15,218.03 85.87,218.03 89.58,218.03 C 93.30,218.03 97.01,224.78 100.73,224.78 C 104.44,224.78 108.16,218.03 111.88,218.03 C 115.59,218.03 119.31,218.03 123.02,218.03 C 126.74,218.03 130.45,218.03 134.17,218.03 C 137.88,218.03 141.60,218.03 145.31,218.03 C 149.03,218.03 152.74,222.00 156.46,222.00 C 160.17,222.00 163.89,222.00 167.60,222.00 C 171.32,222.00 175.03,219.35 178.75,219.35 C 182.47,219.35 186.18,219.35 189.90,219.35 C 193.61,219.35 197.33,218.03 201.04,218.03 C 204.76,218.03 208.47,218.03 212.19,218.03 C 215.90,218.03 219.62,218.03 223.33,218.03 C 227.05,218.03 230.76,215.38 234.48,215.38 C 238.19,215.38 241.91,215.38 245.63,215.38 C 249.34,215.38 253.06,206.10 256.77,206.10 C 260.49,206.10 264.20,206.10 267.92,206.10 C 271.63,206.10 275.35,206.10 279.06,206.10 C 282.78,206.10 286.49,206.10 290.21,206.10 C 293.92,206.10 297.64,206.10 301.35,206.10 C 305.07,206.10 308.78,202.13 312.50,202.13 C 316.22,202.13 319.93,202.13 323.65,202.13 C 327.36,202.13 331.08,199.48 334.79,199.48 C 338.51,199.48 342.22,206.76 345.94,206.76 C 349.65,206.76 353.37,208.75 357.08,208.75 C 360.80,208.75 364.51,208.75 368.23,208.75 C 371.94,208.75 375.66,208.75 379.38,208.75 C 383.09,208.75 386.81,206.76 390.52,206.76 C 394.24,206.76 397.95,210.07 401.67,210.07 C 405.38,210.07 409.10,202.13 412.81,202.13 C 416.53,202.13 420.24,202.13 423.96,202.13 C 427.67,202.13 431.39,202.13 435.10,202.13 C 438.82,202.13 442.53,199.48 446.25,199.48 C 449.97,199.48 453.68,199.48 457.40,199.48 C 461.11,199.48 464.83,199.48 468.54,199.48 C 472.26,199.48 475.97,200.14 479.69,200.14 C 483.40,200.14 487.12,200.80 490.83,200.80 C 494.55,200.80 498.26,199.48 501.98,199.48 C 505.69,199.48 509.41,188.88 513.13,188.88 C 516.84,188.88 520.56,171.65 524.27,171.65 C 527.99,171.65 531.70,172.58 535.42,172.58 C 539.13,172.58 542.85,199.48 546.56,199.48 C 550.28,199.48 553.99,199.48 557.71,199.48 C 561.42,199.48 565.14,171.65 568.85,171.65 C 572.57,171.65 576.28,171.65 580.00,171.65" data-product="Nvidia RTX 5060 Ti 16 GB" fill="none" stroke="#e38e4f" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,226.24 C 48.72,226.24 52.43,229.95 56.15,229.95 C 59.86,229.95 63.58,225.97 67.29,225.97 C 71.01,225.97 74.72,229.29 78.44,229.29 C 82.15,229.29 85.87,229.95 89.58,229.95 C 93.30,229.95 97.01,229.95 100.73,229.95 C 104.44,229.95 108.16,228.63 111.88,228.63 C 115.59,228.63 119.31,229.69 123.02,229.69 C 126.74,229.69 130.45,232.20 134.17,232.20 C 137.88,232.20 141.60,229.95 145.31,229.95 C 149.03,229.95 152.74,232.60 156.46,232.60 C 160.17,232.60 163.89,232.60 167.60,232.60 C 171.32,232.60 175.03,229.69 178.75,229.69 C 182.47,229.69 186.18,233.53 189.90,233.53 C 193.61,233.53 197.33,228.63 201.04,228.63 C 204.76,228.63 208.47,228.63 212.19,228.63 C 215.90,228.63 219.62,231.28 223.33,231.28 C 227.05,231.28 230.76,231.28 234.48,231.28 C 238.19,231.28 241.91,231.28 245.63,231.28 C 249.34,231.28 253.06,231.28 256.77,231.28 C 260.49,231.28 264.20,228.49 267.92,228.49 C 271.63,228.49 275.35,227.30 279.06,227.30 C 282.78,227.30 286.49,227.30 290.21,227.30 C 293.92,227.30 297.64,227.30 301.35,227.30 C 305.07,227.30 308.78,227.30 312.50,227.30 C 316.22,227.30 319.93,227.30 323.65,227.30 C 327.36,227.30 331.08,227.30 334.79,227.30 C 338.51,227.30 342.22,223.32 345.94,223.32 C 349.65,223.32 353.37,223.32 357.08,223.32 C 360.80,223.32 364.51,223.32 368.23,223.32 C 371.94,223.32 375.66,224.65 379.38,224.65 C 383.09,224.65 386.81,224.65 390.52,224.65 C 394.24,224.65 397.95,222.00 401.67,222.00 C 405.38,222.00 409.10,224.65 412.81,224.65 C 416.53,224.65 420.24,224.65 423.96,224.65 C 427.67,224.65 431.39,225.97 435.10,225.97 C 438.82,225.97 442.53,225.97 446.25,225.97 C 449.97,225.97 453.68,225.97 457.40,225.97 C 461.11,225.97 464.83,231.28 468.54,231.28 C 472.26,231.28 475.97,231.28 479.69,231.28 C 483.40,231.28 487.12,231.28 490.83,231.28 C 494.55,231.28 498.26,224.65 501.98,224.65 C 505.69,224.65 509.41,219.35 513.13,219.35 C 516.84,219.35 520.56,219.35 524.27,219.35 C 527.99,219.35 531.70,223.46 535.42,223.46 C 539.13,223.46 542.85,223.46 546.56,223.46 C 550.28,223.46 553.99,223.46 557.71,223.46 C 561.42,223.46 565.14,223.46 568.85,223.46 C 572.57,223.46 576.28,210.34 580.00,210.34" data-product="Nvidia RTX 5060 Ti 8 GB" fill="none" stroke="#75bdd1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,235.25 C 48.72,235.25 52.43,235.25 56.15,235.25 C 59.86,235.25 63.58,236.44 67.29,236.44 C 71.01,236.44 74.72,235.78 78.44,235.78 C 82.15,235.78 85.87,235.25 89.58,235.25 C 93.30,235.25 97.01,236.71 100.73,236.71 C 104.44,236.71 108.16,235.38 111.88,235.38 C 115.59,235.38 119.31,235.38 123.02,235.38 C 126.74,235.38 130.45,235.38 134.17,235.38 C 137.88,235.38 141.60,235.38 145.31,235.38 C 149.03,235.38 152.74,237.90 156.46,237.90 C 160.17,237.90 163.89,238.03 167.60,238.03 C 171.32,238.03 175.03,238.03 178.75,238.03 C 182.47,238.03 186.18,238.03 189.90,238.03 C 193.61,238.03 197.33,238.03 201.04,238.03 C 204.76,238.03 208.47,239.22 212.19,239.22 C 215.90,239.22 219.62,240.55 223.33,240.55 C 227.05,240.55 230.76,236.57 234.48,236.57 C 238.19,236.57 241.91,235.38 245.63,235.38 C 249.34,235.38 253.06,235.38 256.77,235.38 C 260.49,235.38 264.20,235.38 267.92,235.38 C 271.63,235.38 275.35,235.38 279.06,235.38 C 282.78,235.38 286.49,229.95 290.21,229.95 C 293.92,229.95 297.64,229.95 301.35,229.95 C 305.07,229.95 308.78,228.76 312.50,228.76 C 316.22,228.76 319.93,228.76 323.65,228.76 C 327.36,228.76 331.08,228.76 334.79,228.76 C 338.51,228.76 342.22,228.76 345.94,228.76 C 349.65,228.76 353.37,228.76 357.08,228.76 C 360.80,228.76 364.51,231.28 368.23,231.28 C 371.94,231.28 375.66,231.28 379.38,231.28 C 383.09,231.28 386.81,233.93 390.52,233.93 C 394.24,233.93 397.95,228.76 401.67,228.76 C 405.38,228.76 409.10,228.76 412.81,228.76 C 416.53,228.76 420.24,228.63 423.96,228.63 C 427.67,228.63 431.39,229.95 435.10,229.95 C 438.82,229.95 442.53,229.95 446.25,229.95 C 449.97,229.95 453.68,229.95 457.40,229.95 C 461.11,229.95 464.83,229.95 468.54,229.95 C 472.26,229.95 475.97,229.95 479.69,229.95 C 483.40,229.95 487.12,230.08 490.83,230.08 C 494.55,230.08 498.26,228.63 501.98,228.63 C 505.69,228.63 509.41,227.43 513.13,227.43 C 520.56,227.43 527.99,227.43 535.42,227.43 C 539.13,227.43 542.85,227.43 546.56,227.43 C 550.28,227.43 553.99,227.43 557.71,227.43 C 561.42,227.43 565.14,227.43 568.85,227.43 C 572.57,227.43 576.28,224.65 580.00,224.65" data-product="Nvidia RTX 5060" fill="none" stroke="#e97a7b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,241.88 C 48.72,241.88 52.43,241.88 56.15,241.88 C 59.86,241.88 63.58,241.88 67.29,241.88 C 71.01,241.88 74.72,241.88 78.44,241.88 C 82.15,241.88 85.87,241.88 89.58,241.88 C 93.30,241.88 97.01,243.20 100.73,243.20 C 104.44,243.20 108.16,243.20 111.88,243.20 C 115.59,243.20 119.31,241.88 123.02,241.88 C 126.74,241.88 130.45,241.88 134.17,241.88 C 137.88,241.88 141.60,241.88 145.31,241.88 C 149.03,241.88 152.74,244.53 156.46,244.53 C 160.17,244.53 163.89,245.85 167.60,245.85 C 171.32,245.85 175.03,245.85 178.75,245.85 C 182.47,245.85 186.18,245.85 189.90,245.85 C 193.61,245.85 197.33,248.50 201.04,248.50 C 204.76,248.50 208.47,248.50 212.19,248.50 C 215.90,248.50 219.62,243.86 223.33,243.86 C 227.05,243.86 230.76,243.20 234.48,243.20 C 238.19,243.20 241.91,243.20 245.63,243.20 C 249.34,243.20 253.06,243.20 256.77,243.20 C 260.49,243.20 264.20,240.55 267.92,240.55 C 271.63,240.55 275.35,240.55 279.06,240.55 C 282.78,240.55 286.49,240.55 290.21,240.55 C 293.92,240.55 297.64,240.55 301.35,240.55 C 305.07,240.55 308.78,240.55 312.50,240.55 C 316.22,240.55 319.93,236.57 323.65,236.57 C 327.36,236.57 331.08,236.57 334.79,236.57 C 338.51,236.57 342.22,236.57 345.94,236.57 C 349.65,236.57 353.37,236.57 357.08,236.57 C 360.80,236.57 364.51,236.57 368.23,236.57 C 371.94,236.57 375.66,236.57 379.38,236.57 C 383.09,236.57 386.81,236.57 390.52,236.57 C 394.24,236.57 397.95,236.57 401.67,236.57 C 405.38,236.57 409.10,236.57 412.81,236.57 C 416.53,236.57 420.24,236.57 423.96,236.57 C 427.67,236.57 431.39,236.57 435.10,236.57 C 438.82,236.57 442.53,236.57 446.25,236.57 C 449.97,236.57 453.68,236.57 457.40,236.57 C 461.11,236.57 464.83,236.57 468.54,236.57 C 472.26,236.57 475.97,236.57 479.69,236.57 C 483.40,236.57 487.12,236.57 490.83,236.57 C 494.55,236.57 498.26,236.57 501.98,236.57 C 505.69,236.57 509.41,235.38 513.13,235.38 C 516.84,235.38 520.56,235.38 524.27,235.38 C 527.99,235.38 531.70,235.38 535.42,235.38 C 539.13,235.38 542.85,235.38 546.56,235.38 C 550.28,235.38 553.99,235.38 557.71,235.38 C 557.71,235.38 557.71,235.38 557.71,235.38 C 565.14,235.38 572.57,233.93 580.00,233.93" data-product="Nvidia RTX 5050" fill="none" stroke="#D07F46" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,182.25 C 48.72,182.25 52.43,182.25 56.15,182.25 C 59.86,182.25 63.58,182.25 67.29,182.25 C 71.01,182.25 74.72,182.91 78.44,182.91 C 82.15,182.91 85.87,186.22 89.58,186.22 C 93.30,186.22 97.01,186.22 100.73,186.22 C 104.44,186.22 108.16,188.88 111.88,188.88 C 115.59,188.88 119.31,188.88 123.02,188.88 C 126.74,188.88 130.45,188.88 134.17,188.88 C 137.88,188.88 141.60,195.50 145.31,195.50 C 149.03,195.50 152.74,195.50 156.46,195.50 C 160.17,195.50 163.89,195.50 167.60,195.50 C 171.32,195.50 175.03,195.50 178.75,195.50 C 182.47,195.50 186.18,195.50 189.90,195.50 C 193.61,195.50 197.33,195.50 201.04,195.50 C 204.76,195.50 208.47,192.85 212.19,192.85 C 215.90,192.85 219.62,187.55 223.33,187.55 C 227.05,187.55 230.76,182.25 234.48,182.25 C 238.19,182.25 241.91,179.60 245.63,179.60 C 249.34,179.60 253.06,179.60 256.77,179.60 C 260.49,179.60 264.20,178.28 267.92,178.28 C 271.63,178.28 275.35,178.28 279.06,178.28 C 282.78,178.28 286.49,178.28 290.21,178.28 C 293.92,178.28 297.64,178.28 301.35,178.28 C 305.07,178.28 308.78,178.28 312.50,178.28 C 316.22,178.28 319.93,178.28 323.65,178.28 C 327.36,178.28 331.08,178.28 334.79,178.28 C 338.51,178.28 342.22,179.60 345.94,179.60 C 349.65,179.60 353.37,180.93 357.08,180.93 C 360.80,180.93 364.51,180.93 368.23,180.93 C 371.94,180.93 375.66,186.22 379.38,186.22 C 383.09,186.22 386.81,180.93 390.52,180.93 C 394.24,180.93 397.95,180.93 401.67,180.93 C 405.38,180.93 409.10,180.93 412.81,180.93 C 416.53,180.93 420.24,182.25 423.96,182.25 C 427.67,182.25 431.39,182.25 435.10,182.25 C 438.82,182.25 442.53,182.25 446.25,182.25 C 449.97,182.25 453.68,182.25 457.40,182.25 C 461.11,182.25 464.83,182.25 468.54,182.25 C 472.26,182.25 475.97,182.25 479.69,182.25 C 483.40,182.25 487.12,182.25 490.83,182.25 C 494.55,182.25 498.26,183.57 501.98,183.57 C 505.69,183.57 509.41,179.60 513.13,179.60 C 516.84,179.60 520.56,179.60 524.27,179.60 C 527.99,179.60 531.70,178.28 535.42,178.28 C 539.13,178.28 542.85,176.95 546.56,176.95 C 550.28,176.95 553.99,176.95 557.71,176.95 C 561.42,176.95 565.14,174.30 568.85,174.30 C 572.57,174.30 576.28,174.30 580.00,174.30" data-product="AMD RX 9070 XT" fill="none" stroke="#FFC08B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,195.50 C 48.72,195.50 52.43,195.50 56.15,195.50 C 59.86,195.50 63.58,202.13 67.29,202.13 C 71.01,202.13 74.72,202.13 78.44,202.13 C 82.15,202.13 85.87,195.50 89.58,195.50 C 93.30,195.50 97.01,195.50 100.73,195.50 C 104.44,195.50 108.16,202.13 111.88,202.13 C 115.59,202.13 119.31,202.13 123.02,202.13 C 126.74,202.13 130.45,200.80 134.17,200.80 C 137.88,200.80 141.60,202.13 145.31,202.13 C 149.03,202.13 152.74,202.13 156.46,202.13 C 160.17,202.13 163.89,204.77 167.60,204.77 C 171.32,204.77 175.03,204.77 178.75,204.77 C 182.47,204.77 186.18,204.77 189.90,204.77 C 193.61,204.77 197.33,204.77 201.04,204.77 C 204.76,204.77 208.47,204.77 212.19,204.77 C 215.90,204.77 219.62,198.15 223.33,198.15 C 227.05,198.15 230.76,198.15 234.48,198.15 C 238.19,198.15 241.91,198.15 245.63,198.15 C 249.34,198.15 253.06,195.50 256.77,195.50 C 260.49,195.50 264.20,196.82 267.92,196.82 C 271.63,196.82 275.35,191.53 279.06,191.53 C 282.78,191.53 286.49,191.53 290.21,191.53 C 293.92,191.53 297.64,192.85 301.35,192.85 C 305.07,192.85 308.78,194.18 312.50,194.18 C 316.22,194.18 319.93,194.18 323.65,194.18 C 327.36,194.18 331.08,191.53 334.79,191.53 C 338.51,191.53 342.22,192.85 345.94,192.85 C 349.65,192.85 353.37,192.85 357.08,192.85 C 360.80,192.85 364.51,192.85 368.23,192.85 C 371.94,192.85 375.66,192.85 379.38,192.85 C 383.09,192.85 386.81,192.85 390.52,192.85 C 394.24,192.85 397.95,195.50 401.67,195.50 C 405.38,195.50 409.10,192.85 412.81,192.85 C 416.53,192.85 420.24,195.50 423.96,195.50 C 427.67,195.50 431.39,195.50 435.10,195.50 C 438.82,195.50 442.53,195.50 446.25,195.50 C 449.97,195.50 453.68,195.50 457.40,195.50 C 461.11,195.50 464.83,195.50 468.54,195.50 C 472.26,195.50 475.97,195.50 479.69,195.50 C 483.40,195.50 487.12,195.50 490.83,195.50 C 494.55,195.50 498.26,190.86 501.98,190.86 C 505.69,190.86 509.41,188.88 513.13,188.88 C 516.84,188.88 520.56,188.88 524.27,188.88 C 527.99,188.88 531.70,191.53 535.42,191.53 C 539.13,191.53 542.85,188.88 546.56,188.88 C 550.28,188.88 553.99,188.88 557.71,188.88 C 561.42,188.88 565.14,188.88 568.85,188.88 C 572.57,188.88 576.28,186.62 580.00,186.62" data-product="AMD RX 9070" fill="none" stroke="#EB6F71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 435.10,202.13 C 438.82,202.13 442.53,202.13 446.25,202.13 C 449.97,202.13 453.68,202.13 457.40,202.13 C 461.11,202.13 464.83,208.75 468.54,208.75 C 472.26,208.75 475.97,208.75 479.69,208.75 C 483.40,208.75 487.12,208.75 490.83,208.75 C 494.55,208.75 498.26,202.13 501.98,202.13 C 505.69,202.13 509.41,208.75 513.13,208.75 C 516.84,208.75 520.56,208.75 524.27,208.75 C 527.99,208.75 531.70,204.77 535.42,204.77 C 539.13,204.77 542.85,204.77 546.56,204.77 C 550.28,204.77 553.99,206.10 557.71,206.10 C 561.42,206.10 565.14,208.75 568.85,208.75 C 572.57,208.75 576.28,199.48 580.00,199.48" data-product="AMD Radeon RX 9070 GRE" fill="none" stroke="#E33235" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,225.97 C 48.72,225.97 52.43,225.97 56.15,225.97 C 59.86,225.97 63.58,225.97 67.29,225.97 C 71.01,225.97 74.72,225.97 78.44,225.97 C 82.15,225.97 85.87,228.63 89.58,228.63 C 93.30,228.63 97.01,228.63 100.73,228.63 C 104.44,228.63 108.16,228.63 111.88,228.63 C 115.59,228.63 119.31,228.63 123.02,228.63 C 126.74,228.63 130.45,228.63 134.17,228.63 C 137.88,228.63 141.60,227.30 145.31,227.30 C 149.03,227.30 152.74,229.95 156.46,229.95 C 160.17,229.95 163.89,228.63 167.60,228.63 C 171.32,228.63 175.03,228.63 178.75,228.63 C 182.47,228.63 186.18,225.97 189.90,225.97 C 193.61,225.97 197.33,224.65 201.04,224.65 C 204.76,224.65 208.47,224.65 212.19,224.65 C 215.90,224.65 219.62,223.32 223.33,223.32 C 227.05,223.32 230.76,223.32 234.48,223.32 C 238.19,223.32 241.91,222.00 245.63,222.00 C 249.34,222.00 253.06,216.70 256.77,216.70 C 260.49,216.70 264.20,216.70 267.92,216.70 C 271.63,216.70 275.35,222.00 279.06,222.00 C 282.78,222.00 286.49,216.70 290.21,216.70 C 293.92,216.70 297.64,216.70 301.35,216.70 C 305.07,216.70 308.78,216.70 312.50,216.70 C 316.22,216.70 319.93,216.70 323.65,216.70 C 327.36,216.70 331.08,216.70 334.79,216.70 C 338.51,216.70 342.22,216.70 345.94,216.70 C 349.65,216.70 353.37,215.51 357.08,215.51 C 360.80,215.51 364.51,216.70 368.23,216.70 C 371.94,216.70 375.66,216.70 379.38,216.70 C 383.09,216.70 386.81,218.03 390.52,218.03 C 394.24,218.03 397.95,218.03 401.67,218.03 C 405.38,218.03 409.10,216.70 412.81,216.70 C 416.53,216.70 420.24,218.03 423.96,218.03 C 427.67,218.03 431.39,216.70 435.10,216.70 C 438.82,216.70 442.53,216.70 446.25,216.70 C 449.97,216.70 453.68,216.70 457.40,216.70 C 461.11,216.70 464.83,222.00 468.54,222.00 C 472.26,222.00 475.97,218.03 479.69,218.03 C 483.40,218.03 487.12,218.03 490.83,218.03 C 494.55,218.03 498.26,215.38 501.98,215.38 C 505.69,215.38 509.41,212.72 513.13,212.72 C 516.84,212.72 520.56,212.72 524.27,212.72 C 527.99,212.72 531.70,214.05 535.42,214.05 C 539.13,214.05 542.85,212.72 546.56,212.72 C 550.28,212.72 553.99,212.72 557.71,212.72 C 561.42,212.72 565.14,212.72 568.85,212.72 C 572.57,212.72 576.28,208.75 580.00,208.75" data-product="AMD RX 9060 XT 16 GB" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,237.90 C 48.72,237.90 52.43,239.22 56.15,239.22 C 59.86,239.22 63.58,237.90 67.29,237.90 C 71.01,237.90 74.72,237.90 78.44,237.90 C 82.15,237.90 85.87,239.22 89.58,239.22 C 93.30,239.22 97.01,239.22 100.73,239.22 C 104.44,239.22 108.16,239.22 111.88,239.22 C 115.59,239.22 119.31,239.22 123.02,239.22 C 126.74,239.22 130.45,239.22 134.17,239.22 C 137.88,239.22 141.60,239.22 145.31,239.22 C 149.03,239.22 152.74,241.88 156.46,241.88 C 160.17,241.88 163.89,238.56 167.60,238.56 C 171.32,238.56 175.03,237.90 178.75,237.90 C 182.47,237.90 186.18,237.90 189.90,237.90 C 193.61,237.90 197.33,236.84 201.04,236.84 C 204.76,236.84 208.47,236.84 212.19,236.84 C 215.90,236.84 219.62,233.93 223.33,233.93 C 227.05,233.93 230.76,233.93 234.48,233.93 C 238.19,233.93 241.91,233.93 245.63,233.93 C 249.34,233.93 253.06,233.93 256.77,233.93 C 260.49,233.93 264.20,228.63 267.92,228.63 C 271.63,228.63 275.35,229.16 279.06,229.16 C 282.78,229.16 286.49,229.16 290.21,229.16 C 293.92,229.16 297.64,229.16 301.35,229.16 C 305.07,229.16 308.78,229.16 312.50,229.16 C 316.22,229.16 319.93,229.95 323.65,229.95 C 327.36,229.95 331.08,229.95 334.79,229.95 C 338.51,229.95 342.22,229.16 345.94,229.16 C 349.65,229.16 353.37,228.63 357.08,228.63 C 360.80,228.63 364.51,228.63 368.23,228.63 C 371.94,228.63 375.66,228.63 379.38,228.63 C 383.09,228.63 386.81,227.30 390.52,227.30 C 394.24,227.30 397.95,227.30 401.67,227.30 C 405.38,227.30 409.10,227.30 412.81,227.30 C 416.53,227.30 420.24,227.30 423.96,227.30 C 427.67,227.30 431.39,227.30 435.10,227.30 C 438.82,227.30 442.53,228.63 446.25,228.63 C 449.97,228.63 453.68,228.63 457.40,228.63 C 461.11,228.63 464.83,227.30 468.54,227.30 C 472.26,227.30 475.97,227.30 479.69,227.30 C 483.40,227.30 487.12,227.30 490.83,227.30 C 494.55,227.30 498.26,227.30 501.98,227.30 C 505.69,227.30 509.41,225.97 513.13,225.97 C 516.84,225.97 520.56,222.00 524.27,222.00 C 527.99,222.00 531.70,227.30 535.42,227.30 C 539.13,227.30 542.85,222.00 546.56,222.00 C 550.28,222.00 553.99,220.81 557.71,220.81 C 561.42,220.81 565.14,218.03 568.85,218.03 C 572.57,218.03 576.28,215.38 580.00,215.38" data-product="AMD RX 9060 XT 8 GB" fill="none" stroke="#1CA9C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,240.55 C 48.72,240.55 52.43,240.55 56.15,240.55 C 59.86,240.55 63.58,241.88 67.29,241.88 C 71.01,241.88 74.72,241.88 78.44,241.88 C 82.15,241.88 85.87,241.88 89.58,241.88 C 93.30,241.88 97.01,241.88 100.73,241.88 C 104.44,241.88 108.16,241.88 111.88,241.88 C 115.59,241.88 119.31,241.88 123.02,241.88 C 126.74,241.88 130.45,241.88 134.17,241.88 C 137.88,241.88 141.60,241.88 145.31,241.88 C 149.03,241.88 152.74,241.88 156.46,241.88 C 160.17,241.88 163.89,241.88 167.60,241.88 C 171.32,241.88 175.03,241.88 178.75,241.88 C 182.47,241.88 186.18,241.88 189.90,241.88 C 193.61,241.88 197.33,243.20 201.04,243.20 C 204.76,243.20 208.47,243.20 212.19,243.20 C 215.90,243.20 219.62,241.88 223.33,241.88 C 227.05,241.88 230.76,241.88 234.48,241.88 C 238.19,241.88 241.91,240.55 245.63,240.55 C 249.34,240.55 253.06,236.57 256.77,236.57 C 260.49,236.57 264.20,236.57 267.92,236.57 C 271.63,236.57 275.35,235.25 279.06,235.25 C 282.78,235.25 286.49,235.25 290.21,235.25 C 293.92,235.25 297.64,235.25 301.35,235.25 C 305.07,235.25 308.78,235.25 312.50,235.25 C 316.22,235.25 319.93,235.25 323.65,235.25 C 327.36,235.25 331.08,235.25 334.79,235.25 C 338.51,235.25 342.22,236.57 345.94,236.57 C 349.65,236.57 353.37,236.57 357.08,236.57 C 360.80,236.57 364.51,236.57 368.23,236.57 C 371.94,236.57 375.66,236.57 379.38,236.57 C 383.09,236.57 386.81,236.57 390.52,236.57 C 394.24,236.57 397.95,236.57 401.67,236.57 C 405.38,236.57 409.10,236.57 412.81,236.57 C 416.53,236.57 420.24,234.72 423.96,234.72 C 427.67,234.72 431.39,235.25 435.10,235.25 C 438.82,235.25 442.53,234.72 446.25,234.72 C 449.97,234.72 453.68,234.72 457.40,234.72 C 461.11,234.72 464.83,235.51 468.54,235.51 C 472.26,235.51 475.97,236.44 479.69,236.44 C 483.40,236.44 487.12,236.57 490.83,236.57 C 494.55,236.57 498.26,236.57 501.98,236.57 C 505.69,236.57 509.41,233.93 513.13,233.93 C 516.84,233.93 520.56,233.93 524.27,233.93 C 527.99,233.93 531.70,233.93 535.42,233.93 C 539.13,233.93 542.85,233.93 546.56,233.93 C 550.28,233.93 553.99,233.93 557.71,233.93 C 561.42,233.93 565.14,231.28 568.85,231.28 C 572.57,231.28 576.28,231.28 580.00,231.28" data-product="Intel Arc B580" fill="none" stroke="#B5282A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 45.00,244.53 C 48.72,244.53 52.43,244.53 56.15,244.53 C 59.86,244.53 63.58,244.53 67.29,244.53 C 71.01,244.53 74.72,244.53 78.44,244.53 C 82.15,244.53 85.87,244.53 89.58,244.53 C 93.30,244.53 97.01,244.53 100.73,244.53 C 104.44,244.53 108.16,244.53 111.88,244.53 C 115.59,244.53 119.31,248.50 123.02,248.50 C 126.74,248.50 130.45,245.85 134.17,245.85 C 137.88,245.85 141.60,247.18 145.31,247.18 C 149.03,247.18 152.74,248.50 156.46,248.50 C 160.17,248.50 163.89,248.50 167.60,248.50 C 171.32,248.50 175.03,248.50 178.75,248.50 C 182.47,248.50 186.18,248.24 189.90,248.24 C 193.61,248.24 197.33,248.24 201.04,248.24 C 204.76,248.24 208.47,248.24 212.19,248.24 C 215.90,248.24 219.62,248.50 223.33,248.50 C 227.05,248.50 230.76,248.50 234.48,248.50 C 238.19,248.50 241.91,248.50 245.63,248.50 C 249.34,248.50 253.06,248.50 256.77,248.50 C 260.49,248.50 264.20,241.88 267.92,241.88 C 271.63,241.88 275.35,241.88 279.06,241.88 C 282.78,241.88 286.49,241.88 290.21,241.88 C 293.92,241.88 297.64,241.88 301.35,241.88 C 305.07,241.88 308.78,241.88 312.50,241.88 C 316.22,241.88 319.93,241.88 323.65,241.88 C 327.36,241.88 331.08,241.88 334.79,241.88 C 338.51,241.88 342.22,241.88 345.94,241.88 C 349.65,241.88 353.37,241.88 357.08,241.88 C 360.80,241.88 364.51,240.55 368.23,240.55 C 371.94,240.55 375.66,240.55 379.38,240.55 C 383.09,240.55 386.81,240.55 390.52,240.55 C 394.24,240.55 397.95,240.55 401.67,240.55 C 405.38,240.55 409.10,240.55 412.81,240.55 C 416.53,240.55 420.24,240.55 423.96,240.55 C 427.67,240.55 431.39,240.55 435.10,240.55 C 438.82,240.55 442.53,241.88 446.25,241.88 C 449.97,241.88 453.68,241.88 457.40,241.88 C 461.11,241.88 464.83,241.88 468.54,241.88 C 472.26,241.88 475.97,240.55 479.69,240.55 C 483.40,240.55 487.12,241.88 490.83,241.88 C 494.55,241.88 498.26,240.55 501.98,240.55 C 505.69,240.55 509.41,240.55 513.13,240.55 C 516.84,240.55 520.56,240.55 524.27,240.55 C 527.99,240.55 531.70,240.55 535.42,240.55 C 539.13,240.55 542.85,240.55 546.56,240.55 C 550.28,240.55 553.99,240.55 557.71,240.55 C 561.42,240.55 565.14,240.55 568.85,240.55 C 572.57,240.55 576.28,240.55 580.00,240.55" data-product="Intel Arc B570" fill="none" stroke="#66C5D7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="45.00" cy="129.25" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="56.15" cy="129.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="67.29" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="78.44" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="89.58" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="100.73" cy="151.91" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="111.88" cy="142.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="123.02" cy="145.15" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="134.17" cy="142.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="145.31" cy="143.96" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="156.46" cy="143.82" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="167.60" cy="143.96" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="178.75" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="189.90" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="201.04" cy="142.50" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="212.19" cy="129.25" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="223.33" cy="112.03" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="234.48" cy="106.99" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="245.63" cy="92.15" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="256.77" cy="96.13" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="267.92" cy="94.14" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="279.06" cy="94.14" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="290.21" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="301.35" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="312.50" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="323.65" cy="108.05" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="334.79" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="345.94" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="357.08" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="368.23" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="379.38" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="390.52" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="401.67" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="412.81" cy="106.72" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="423.96" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="435.10" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="446.25" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="457.40" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="468.54" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="479.69" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="490.83" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="501.98" cy="109.38" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="513.13" cy="104.07" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="524.27" cy="79.03" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="535.42" cy="69.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="546.56" cy="69.63" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="557.71" cy="82.88" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="568.85" cy="82.88" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="580.00" cy="55.98" r="3" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="45.00" cy="171.65" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="56.15" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="67.29" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="78.44" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="89.58" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="100.73" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="111.88" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="123.02" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="134.17" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="145.31" cy="178.28" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="156.46" cy="182.38" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="167.60" cy="178.28" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="178.75" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="189.90" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="201.04" cy="175.76" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="212.19" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="223.33" cy="175.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="234.48" cy="165.16" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="245.63" cy="155.88" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="256.77" cy="142.50" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="267.92" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="279.06" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="290.21" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="301.35" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="312.50" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="323.65" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="334.79" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="345.94" cy="155.75" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="357.08" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="368.23" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="379.38" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="390.52" cy="143.82" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="401.67" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="412.81" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="423.96" cy="155.75" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="435.10" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="446.25" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="457.40" cy="145.15" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="468.54" cy="153.10" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="479.69" cy="148.46" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="490.83" cy="155.75" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="501.98" cy="149.13" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="513.13" cy="138.53" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="524.27" cy="130.84" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="535.42" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="546.56" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="557.71" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="568.85" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="580.00" cy="122.63" r="3" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="45.00" cy="202.13" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="56.15" cy="202.13" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="67.29" cy="205.57" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="78.44" cy="202.66" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="89.58" cy="211.27" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="100.73" cy="208.88" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="111.88" cy="206.10" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="123.02" cy="208.75" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="134.17" cy="208.75" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="145.31" cy="211.40" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="156.46" cy="210.21" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="167.60" cy="208.75" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="178.75" cy="205.17" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="189.90" cy="203.45" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="201.04" cy="208.88" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="212.19" cy="208.88" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="223.33" cy="202.26" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="234.48" cy="203.45" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="245.63" cy="202.26" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="256.77" cy="192.85" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="267.92" cy="192.85" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="279.06" cy="192.85" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="290.21" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="301.35" cy="192.19" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="312.50" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="323.65" cy="194.97" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="334.79" cy="190.20" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="345.94" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="357.08" cy="190.73" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="368.23" cy="191.53" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="379.38" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="390.52" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="401.67" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="412.81" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="423.96" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="435.10" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="446.25" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="457.40" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="468.54" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="479.69" cy="195.63" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="490.83" cy="200.80" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="501.98" cy="202.13" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="513.13" cy="174.96" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="524.27" cy="173.90" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="535.42" cy="169.00" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="546.56" cy="174.43" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="557.71" cy="178.94" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="568.85" cy="171.78" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="580.00" cy="171.78" r="3" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="45.00" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="56.15" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="67.29" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="78.44" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="89.58" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="100.73" cy="224.78" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="111.88" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="123.02" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="134.17" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="145.31" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="156.46" cy="222.00" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="167.60" cy="222.00" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="178.75" cy="219.35" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="189.90" cy="219.35" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="201.04" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="212.19" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="223.33" cy="218.03" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="234.48" cy="215.38" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="245.63" cy="215.38" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="256.77" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="267.92" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="279.06" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="290.21" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="301.35" cy="206.10" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="312.50" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="323.65" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="334.79" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="345.94" cy="206.76" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="357.08" cy="208.75" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="368.23" cy="208.75" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="379.38" cy="208.75" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="390.52" cy="206.76" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="401.67" cy="210.07" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="412.81" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="423.96" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="435.10" cy="202.13" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="446.25" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="457.40" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="468.54" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="479.69" cy="200.14" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="490.83" cy="200.80" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="501.98" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="513.13" cy="188.88" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="524.27" cy="171.65" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="535.42" cy="172.58" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="546.56" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="557.71" cy="199.48" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="568.85" cy="171.65" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="580.00" cy="171.65" r="3" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="45.00" cy="226.24" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="56.15" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="67.29" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="78.44" cy="229.29" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="89.58" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="100.73" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="111.88" cy="228.63" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="123.02" cy="229.69" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="134.17" cy="232.20" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="145.31" cy="229.95" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="156.46" cy="232.60" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="167.60" cy="232.60" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="178.75" cy="229.69" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="189.90" cy="233.53" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="201.04" cy="228.63" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="212.19" cy="228.63" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="223.33" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="234.48" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="245.63" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="256.77" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="267.92" cy="228.49" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="279.06" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="290.21" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="301.35" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="312.50" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="323.65" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="334.79" cy="227.30" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="345.94" cy="223.32" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="357.08" cy="223.32" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="368.23" cy="223.32" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="379.38" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="390.52" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="401.67" cy="222.00" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="412.81" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="423.96" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="435.10" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="446.25" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="457.40" cy="225.97" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="468.54" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="479.69" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="490.83" cy="231.28" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="501.98" cy="224.65" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="513.13" cy="219.35" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="524.27" cy="219.35" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="535.42" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="546.56" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="557.71" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="568.85" cy="223.46" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="580.00" cy="210.34" r="3" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="45.00" cy="235.25" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="56.15" cy="235.25" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="67.29" cy="236.44" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="78.44" cy="235.78" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="89.58" cy="235.25" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="100.73" cy="236.71" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="111.88" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="123.02" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="134.17" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="145.31" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="156.46" cy="237.90" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="167.60" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="178.75" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="189.90" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="201.04" cy="238.03" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="212.19" cy="239.22" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="223.33" cy="240.55" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="234.48" cy="236.57" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="245.63" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="256.77" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="267.92" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="279.06" cy="235.38" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="290.21" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="301.35" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="312.50" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="323.65" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="334.79" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="345.94" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="357.08" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="368.23" cy="231.28" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="379.38" cy="231.28" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="390.52" cy="233.93" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="401.67" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="412.81" cy="228.76" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="423.96" cy="228.63" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="435.10" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="446.25" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="457.40" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="468.54" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="479.69" cy="229.95" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="490.83" cy="230.08" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="501.98" cy="228.63" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="513.13" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="535.42" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="546.56" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="557.71" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="568.85" cy="227.43" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="580.00" cy="224.65" r="3" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="45.00" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="56.15" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="67.29" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="78.44" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="89.58" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="100.73" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="111.88" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="123.02" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="134.17" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="145.31" cy="241.88" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="156.46" cy="244.53" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="167.60" cy="245.85" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="178.75" cy="245.85" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="189.90" cy="245.85" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="201.04" cy="248.50" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="212.19" cy="248.50" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="223.33" cy="243.86" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="234.48" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="245.63" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="256.77" cy="243.20" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="267.92" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="279.06" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="290.21" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="301.35" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="312.50" cy="240.55" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="323.65" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="334.79" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="345.94" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="357.08" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="368.23" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="379.38" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="390.52" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="401.67" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="412.81" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="423.96" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="435.10" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="446.25" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="457.40" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="468.54" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="479.69" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="490.83" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="501.98" cy="236.57" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="513.13" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="524.27" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="535.42" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="546.56" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="557.71" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="557.71" cy="235.38" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="580.00" cy="233.93" r="3" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="45.00" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="56.15" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="67.29" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="78.44" cy="182.91" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="89.58" cy="186.22" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="100.73" cy="186.22" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="111.88" cy="188.88" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="123.02" cy="188.88" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="134.17" cy="188.88" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="145.31" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="156.46" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="167.60" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="178.75" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="189.90" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="201.04" cy="195.50" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="212.19" cy="192.85" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="223.33" cy="187.55" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="234.48" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="245.63" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="256.77" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="267.92" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="279.06" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="290.21" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="301.35" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="312.50" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="323.65" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="334.79" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="345.94" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="357.08" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="368.23" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="379.38" cy="186.22" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="390.52" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="401.67" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="412.81" cy="180.93" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="423.96" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="435.10" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="446.25" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="457.40" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="468.54" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="479.69" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="490.83" cy="182.25" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="501.98" cy="183.57" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="513.13" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="524.27" cy="179.60" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="535.42" cy="178.28" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="546.56" cy="176.95" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="557.71" cy="176.95" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="568.85" cy="174.30" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="580.00" cy="174.30" r="3" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="45.00" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="56.15" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="67.29" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="78.44" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="89.58" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="100.73" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="111.88" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="123.02" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="134.17" cy="200.80" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="145.31" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="156.46" cy="202.13" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="167.60" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="178.75" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="189.90" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="201.04" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="212.19" cy="204.77" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="223.33" cy="198.15" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="234.48" cy="198.15" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="245.63" cy="198.15" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="256.77" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="267.92" cy="196.82" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="279.06" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="290.21" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="301.35" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="312.50" cy="194.18" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="323.65" cy="194.18" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="334.79" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="345.94" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="357.08" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="368.23" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="379.38" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="390.52" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="401.67" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="412.81" cy="192.85" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="423.96" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="435.10" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="446.25" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="457.40" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="468.54" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="479.69" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="490.83" cy="195.50" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="501.98" cy="190.86" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="513.13" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="524.27" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="535.42" cy="191.53" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="546.56" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="557.71" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="568.85" cy="188.88" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="580.00" cy="186.62" r="3" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="435.10" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="446.25" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="457.40" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="468.54" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="479.69" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="490.83" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="501.98" cy="202.13" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="513.13" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="524.27" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="535.42" cy="204.77" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="546.56" cy="204.77" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="557.71" cy="206.10" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="568.85" cy="208.75" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="580.00" cy="199.48" r="3" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="45.00" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="56.15" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="67.29" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="78.44" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="89.58" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="100.73" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="111.88" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="123.02" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="134.17" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="145.31" cy="227.30" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="156.46" cy="229.95" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="167.60" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="178.75" cy="228.63" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="189.90" cy="225.97" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="201.04" cy="224.65" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="212.19" cy="224.65" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="223.33" cy="223.32" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="234.48" cy="223.32" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="245.63" cy="222.00" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="256.77" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="267.92" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="279.06" cy="222.00" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="290.21" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="301.35" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="312.50" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="323.65" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="334.79" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="345.94" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="357.08" cy="215.51" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="368.23" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="379.38" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="390.52" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="401.67" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="412.81" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="423.96" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="435.10" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="446.25" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="457.40" cy="216.70" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="468.54" cy="222.00" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="479.69" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="490.83" cy="218.03" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="501.98" cy="215.38" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="513.13" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="524.27" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="535.42" cy="214.05" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="546.56" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="557.71" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="568.85" cy="212.72" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="580.00" cy="208.75" r="3" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="45.00" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="56.15" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="67.29" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="78.44" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="89.58" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="100.73" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="111.88" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="123.02" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="134.17" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="145.31" cy="239.22" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="156.46" cy="241.88" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="167.60" cy="238.56" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="178.75" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="189.90" cy="237.90" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="201.04" cy="236.84" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="212.19" cy="236.84" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="223.33" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="234.48" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="245.63" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="256.77" cy="233.93" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="267.92" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="279.06" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="290.21" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="301.35" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="312.50" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="323.65" cy="229.95" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="334.79" cy="229.95" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="345.94" cy="229.16" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="357.08" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="368.23" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="379.38" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="390.52" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="401.67" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="412.81" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="423.96" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="435.10" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="446.25" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="457.40" cy="228.63" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="468.54" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="479.69" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="490.83" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="501.98" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="513.13" cy="225.97" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="524.27" cy="222.00" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="535.42" cy="227.30" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="546.56" cy="222.00" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="557.71" cy="220.81" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="568.85" cy="218.03" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="580.00" cy="215.38" r="3" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="45.00" cy="240.55" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="56.15" cy="240.55" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="67.29" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="78.44" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="89.58" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="100.73" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="111.88" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="123.02" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="134.17" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="145.31" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="156.46" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="167.60" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="178.75" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="189.90" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="201.04" cy="243.20" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="212.19" cy="243.20" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="223.33" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="234.48" cy="241.88" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="245.63" cy="240.55" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="256.77" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="267.92" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="279.06" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="290.21" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="301.35" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="312.50" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="323.65" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="334.79" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="345.94" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="357.08" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="368.23" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="379.38" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="390.52" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="401.67" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="412.81" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="423.96" cy="234.72" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="435.10" cy="235.25" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="446.25" cy="234.72" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="457.40" cy="234.72" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="468.54" cy="235.51" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="479.69" cy="236.44" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="490.83" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="501.98" cy="236.57" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="513.13" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="524.27" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="535.42" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="546.56" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="557.71" cy="233.93" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="568.85" cy="231.28" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="580.00" cy="231.28" r="3" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="45.00" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="56.15" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="67.29" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="78.44" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="89.58" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="100.73" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="111.88" cy="244.53" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="123.02" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="134.17" cy="245.85" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="145.31" cy="247.18" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="156.46" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="167.60" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="178.75" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="189.90" cy="248.24" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="201.04" cy="248.24" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="212.19" cy="248.24" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="223.33" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="234.48" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="245.63" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="256.77" cy="248.50" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="267.92" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="279.06" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="290.21" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="301.35" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="312.50" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="323.65" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="334.79" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="345.94" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="357.08" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="368.23" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="379.38" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="390.52" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="401.67" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="412.81" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="423.96" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="435.10" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="446.25" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="457.40" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="468.54" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="479.69" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="490.83" cy="241.88" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="501.98" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="513.13" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="524.27" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="535.42" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="546.56" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="557.71" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="568.85" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="580.00" cy="240.55" r="3" fill="#66C5D7" style="opacity:0;" /></svg><svg class="riv-line-chart-svg-mobile" style="overflow: visible;" fill="none" viewBox="0 0 600 440" width="100%" height="auto" aria-hidden="true"><g class="riv-grid"><line x1="40" x2="585" y1="375.00" y2="375.00" /><line x1="40" x2="585" y1="283.75" y2="283.75" /><line x1="40" x2="585" y1="192.50" y2="192.50" /><line x1="40" x2="585" y1="101.25" y2="101.25" /><line x1="40" x2="585" y1="10.00" y2="10.00" /><line x1="255.73" x2="255.73" y1="10" y2="375" /><line x1="482.81" x2="482.81" y1="10" y2="375" /></g><g class="riv-axes"><line x1="40" x2="40" y1="10" y2="375" stroke="#D1D5DB" /><line x1="40" x2="585" y1="375" y2="375" stroke="#D1D5DB" /><text x="32" y="375.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">0</text><text x="32" y="283.75" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">500</text><text x="32" y="192.50" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1000</text><text x="32" y="101.25" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">1500</text><text x="32" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">2000</text><text x="255.73" y="387" transform="rotate(-45 255.73 387)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">20 Week</text><text x="482.81" y="387" transform="rotate(-45 482.81 387)" text-anchor="end" style="font-size: 14px; font-weight: normal;" fill="#374151">40 Week</text></g><path class="riv-line-path" d="M 40.00,174.25 C 43.78,174.25 47.57,174.43 51.35,174.43 C 55.14,174.43 58.92,192.50 62.71,192.50 C 66.49,192.50 70.28,192.50 74.06,192.50 C 77.85,192.50 81.63,192.50 85.42,192.50 C 89.20,192.50 92.99,205.46 96.77,205.46 C 100.56,205.46 104.34,192.68 108.13,192.68 C 111.91,192.68 115.69,196.15 119.48,196.15 C 123.26,196.15 127.05,192.68 130.83,192.68 C 134.62,192.68 138.40,194.51 142.19,194.51 C 145.97,194.51 149.76,194.32 153.54,194.32 C 157.33,194.32 161.11,194.51 164.90,194.51 C 168.68,194.51 172.47,192.50 176.25,192.50 C 180.03,192.50 183.82,192.50 187.60,192.50 C 191.39,192.50 195.17,192.50 198.96,192.50 C 202.74,192.50 206.53,174.25 210.31,174.25 C 214.10,174.25 217.88,150.53 221.67,150.53 C 225.45,150.53 229.24,143.59 233.02,143.59 C 236.81,143.59 240.59,123.15 244.38,123.15 C 248.16,123.15 251.94,128.62 255.73,128.62 C 259.51,128.62 263.30,125.89 267.08,125.89 C 270.87,125.89 274.65,125.89 278.44,125.89 C 282.22,125.89 286.01,139.57 289.79,139.57 C 293.58,139.57 297.36,139.57 301.15,139.57 C 304.93,139.57 308.72,146.88 312.50,146.88 C 316.28,146.88 320.07,145.05 323.85,145.05 C 327.64,145.05 331.42,139.57 335.21,139.57 C 338.99,139.57 342.78,146.88 346.56,146.88 C 350.35,146.88 354.13,139.57 357.92,139.57 C 361.70,139.57 365.49,139.57 369.27,139.57 C 373.06,139.57 376.84,139.57 380.63,139.57 C 384.41,139.57 388.19,139.57 391.98,139.57 C 395.76,139.57 399.55,139.57 403.33,139.57 C 407.12,139.57 410.90,143.22 414.69,143.22 C 418.47,143.22 422.26,139.57 426.04,139.57 C 429.83,139.57 433.61,146.88 437.40,146.88 C 441.18,146.88 444.97,146.88 448.75,146.88 C 452.53,146.88 456.32,146.88 460.10,146.88 C 463.89,146.88 467.67,146.88 471.46,146.88 C 475.24,146.88 479.03,146.88 482.81,146.88 C 486.60,146.88 490.38,146.88 494.17,146.88 C 497.95,146.88 501.74,146.88 505.52,146.88 C 509.31,146.88 513.09,139.57 516.88,139.57 C 520.66,139.57 524.44,105.08 528.23,105.08 C 532.01,105.08 535.80,92.13 539.58,92.13 C 543.37,92.13 547.15,92.13 550.94,92.13 C 554.72,92.13 558.51,110.38 562.29,110.38 C 566.08,110.38 569.86,110.38 573.65,110.38 C 577.43,110.38 581.22,73.33 585.00,73.33" data-product="Nvidia RTX 5080" fill="none" stroke="#5bb0c0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,232.65 C 43.78,232.65 47.57,238.13 51.35,238.13 C 55.14,238.13 58.92,238.13 62.71,238.13 C 66.49,238.13 70.28,238.13 74.06,238.13 C 77.85,238.13 81.63,238.31 85.42,238.31 C 89.20,238.31 92.99,238.31 96.77,238.31 C 100.56,238.31 104.34,238.13 108.13,238.13 C 111.91,238.13 115.69,238.31 119.48,238.31 C 123.26,238.31 127.05,238.13 130.83,238.13 C 134.62,238.13 138.40,241.78 142.19,241.78 C 145.97,241.78 149.76,247.43 153.54,247.43 C 157.33,247.43 161.11,241.78 164.90,241.78 C 168.68,241.78 172.47,238.13 176.25,238.13 C 180.03,238.13 183.82,238.13 187.60,238.13 C 191.39,238.13 195.17,238.31 198.96,238.31 C 202.74,238.31 206.53,238.13 210.31,238.13 C 214.10,238.13 217.88,238.13 221.67,238.13 C 225.45,238.13 229.24,223.71 233.02,223.71 C 236.81,223.71 240.59,210.93 244.38,210.93 C 248.16,210.93 251.94,192.50 255.73,192.50 C 259.51,192.50 263.30,201.63 267.08,201.63 C 270.87,201.63 274.65,201.63 278.44,201.63 C 282.22,201.63 286.01,201.63 289.79,201.63 C 293.58,201.63 297.36,201.63 301.15,201.63 C 304.93,201.63 308.72,201.63 312.50,201.63 C 316.28,201.63 320.07,201.63 323.85,201.63 C 327.64,201.63 331.42,201.63 335.21,201.63 C 338.99,201.63 342.78,210.75 346.56,210.75 C 350.35,210.75 354.13,194.32 357.92,194.32 C 361.70,194.32 365.49,194.32 369.27,194.32 C 373.06,194.32 376.84,194.32 380.63,194.32 C 384.41,194.32 388.19,194.32 391.98,194.32 C 395.76,194.32 399.55,196.15 403.33,196.15 C 407.12,196.15 410.90,196.15 414.69,196.15 C 418.47,196.15 422.26,210.75 426.04,210.75 C 429.83,210.75 433.61,196.15 437.40,196.15 C 441.18,196.15 444.97,196.15 448.75,196.15 C 452.53,196.15 456.32,196.15 460.10,196.15 C 463.89,196.15 467.67,207.10 471.46,207.10 C 475.24,207.10 479.03,200.71 482.81,200.71 C 486.60,200.71 490.38,210.75 494.17,210.75 C 497.95,210.75 501.74,201.63 505.52,201.63 C 509.31,201.63 513.09,187.03 516.88,187.03 C 520.66,187.03 524.44,176.44 528.23,176.44 C 532.01,176.44 535.80,165.13 539.58,165.13 C 543.37,165.13 547.15,165.13 550.94,165.13 C 554.72,165.13 558.51,165.13 562.29,165.13 C 566.08,165.13 569.86,165.13 573.65,165.13 C 577.43,165.13 581.22,165.13 585.00,165.13" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#ffcea9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,274.63 C 43.78,274.63 47.57,274.63 51.35,274.63 C 55.14,274.63 58.92,279.37 62.71,279.37 C 66.49,279.37 70.28,275.36 74.06,275.36 C 77.85,275.36 81.63,287.22 85.42,287.22 C 89.20,287.22 92.99,283.93 96.77,283.93 C 100.56,283.93 104.34,280.10 108.13,280.10 C 111.91,280.10 115.69,283.75 119.48,283.75 C 123.26,283.75 127.05,283.75 130.83,283.75 C 134.62,283.75 138.40,287.40 142.19,287.40 C 145.97,287.40 149.76,285.76 153.54,285.76 C 157.33,285.76 161.11,283.75 164.90,283.75 C 168.68,283.75 172.47,278.82 176.25,278.82 C 180.03,278.82 183.82,276.45 187.60,276.45 C 191.39,276.45 195.17,283.93 198.96,283.93 C 202.74,283.93 206.53,283.93 210.31,283.93 C 214.10,283.93 217.88,274.81 221.67,274.81 C 225.45,274.81 229.24,276.45 233.02,276.45 C 236.81,276.45 240.59,274.81 244.38,274.81 C 248.16,274.81 251.94,261.85 255.73,261.85 C 259.51,261.85 263.30,261.85 267.08,261.85 C 270.87,261.85 274.65,261.85 278.44,261.85 C 282.22,261.85 286.01,260.02 289.79,260.02 C 293.58,260.02 297.36,260.94 301.15,260.94 C 304.93,260.94 308.72,260.02 312.50,260.02 C 316.28,260.02 320.07,264.77 323.85,264.77 C 327.64,264.77 331.42,258.20 335.21,258.20 C 338.99,258.20 342.78,260.02 346.56,260.02 C 350.35,260.02 354.13,258.93 357.92,258.93 C 361.70,258.93 365.49,260.02 369.27,260.02 C 373.06,260.02 376.84,265.68 380.63,265.68 C 384.41,265.68 388.19,265.68 391.98,265.68 C 395.76,265.68 399.55,265.68 403.33,265.68 C 407.12,265.68 410.90,265.68 414.69,265.68 C 418.47,265.68 422.26,265.68 426.04,265.68 C 429.83,265.68 433.61,265.68 437.40,265.68 C 441.18,265.68 444.97,265.68 448.75,265.68 C 452.53,265.68 456.32,265.68 460.10,265.68 C 463.89,265.68 467.67,265.68 471.46,265.68 C 475.24,265.68 479.03,265.68 482.81,265.68 C 486.60,265.68 490.38,272.80 494.17,272.80 C 497.95,272.80 501.74,274.63 505.52,274.63 C 509.31,274.63 513.09,237.21 516.88,237.21 C 520.66,237.21 524.44,235.75 528.23,235.75 C 532.01,235.75 535.80,229.00 539.58,229.00 C 543.37,229.00 547.15,236.48 550.94,236.48 C 554.72,236.48 558.51,242.69 562.29,242.69 C 566.08,242.69 569.86,232.83 573.65,232.83 C 577.43,232.83 581.22,232.83 585.00,232.83" data-product="Nvidia RTX 5070" fill="none" stroke="#d26365" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,296.52 C 43.78,296.52 47.57,296.52 51.35,296.52 C 55.14,296.52 58.92,296.52 62.71,296.52 C 66.49,296.52 70.28,296.52 74.06,296.52 C 77.85,296.52 81.63,296.52 85.42,296.52 C 89.20,296.52 92.99,305.83 96.77,305.83 C 100.56,305.83 104.34,296.52 108.13,296.52 C 111.91,296.52 115.69,296.52 119.48,296.52 C 123.26,296.52 127.05,296.52 130.83,296.52 C 134.62,296.52 138.40,296.52 142.19,296.52 C 145.97,296.52 149.76,302.00 153.54,302.00 C 157.33,302.00 161.11,302.00 164.90,302.00 C 168.68,302.00 172.47,298.35 176.25,298.35 C 180.03,298.35 183.82,298.35 187.60,298.35 C 191.39,298.35 195.17,296.52 198.96,296.52 C 202.74,296.52 206.53,296.52 210.31,296.52 C 214.10,296.52 217.88,296.52 221.67,296.52 C 225.45,296.52 229.24,292.88 233.02,292.88 C 236.81,292.88 240.59,292.88 244.38,292.88 C 248.16,292.88 251.94,280.10 255.73,280.10 C 259.51,280.10 263.30,280.10 267.08,280.10 C 270.87,280.10 274.65,280.10 278.44,280.10 C 282.22,280.10 286.01,280.10 289.79,280.10 C 293.58,280.10 297.36,280.10 301.15,280.10 C 304.93,280.10 308.72,274.63 312.50,274.63 C 316.28,274.63 320.07,274.63 323.85,274.63 C 327.64,274.63 331.42,270.98 335.21,270.98 C 338.99,270.98 342.78,281.01 346.56,281.01 C 350.35,281.01 354.13,283.75 357.92,283.75 C 361.70,283.75 365.49,283.75 369.27,283.75 C 373.06,283.75 376.84,283.75 380.63,283.75 C 384.41,283.75 388.19,281.01 391.98,281.01 C 395.76,281.01 399.55,285.57 403.33,285.57 C 407.12,285.57 410.90,274.63 414.69,274.63 C 418.47,274.63 422.26,274.63 426.04,274.63 C 429.83,274.63 433.61,274.63 437.40,274.63 C 441.18,274.63 444.97,270.98 448.75,270.98 C 452.53,270.98 456.32,270.98 460.10,270.98 C 463.89,270.98 467.67,270.98 471.46,270.98 C 475.24,270.98 479.03,271.89 482.81,271.89 C 486.60,271.89 490.38,272.80 494.17,272.80 C 497.95,272.80 501.74,270.98 505.52,270.98 C 509.31,270.98 513.09,256.38 516.88,256.38 C 520.66,256.38 524.44,232.65 528.23,232.65 C 532.01,232.65 535.80,233.93 539.58,233.93 C 543.37,233.93 547.15,270.98 550.94,270.98 C 554.72,270.98 558.51,270.98 562.29,270.98 C 566.08,270.98 569.86,232.65 573.65,232.65 C 577.43,232.65 581.22,232.65 585.00,232.65" data-product="Nvidia RTX 5060 Ti 16 GB" fill="none" stroke="#e38e4f" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,307.84 C 43.78,307.84 47.57,312.95 51.35,312.95 C 55.14,312.95 58.92,307.48 62.71,307.48 C 66.49,307.48 70.28,312.04 74.06,312.04 C 77.85,312.04 81.63,312.95 85.42,312.95 C 89.20,312.95 92.99,312.95 96.77,312.95 C 100.56,312.95 104.34,311.13 108.13,311.13 C 111.91,311.13 115.69,312.58 119.48,312.58 C 123.26,312.58 127.05,316.05 130.83,316.05 C 134.62,316.05 138.40,312.95 142.19,312.95 C 145.97,312.95 149.76,316.60 153.54,316.60 C 157.33,316.60 161.11,316.60 164.90,316.60 C 168.68,316.60 172.47,312.58 176.25,312.58 C 180.03,312.58 183.82,317.88 187.60,317.88 C 191.39,317.88 195.17,311.13 198.96,311.13 C 202.74,311.13 206.53,311.13 210.31,311.13 C 214.10,311.13 217.88,314.77 221.67,314.77 C 225.45,314.77 229.24,314.77 233.02,314.77 C 236.81,314.77 240.59,314.77 244.38,314.77 C 248.16,314.77 251.94,314.77 255.73,314.77 C 259.51,314.77 263.30,310.94 267.08,310.94 C 270.87,310.94 274.65,309.30 278.44,309.30 C 282.22,309.30 286.01,309.30 289.79,309.30 C 293.58,309.30 297.36,309.30 301.15,309.30 C 304.93,309.30 308.72,309.30 312.50,309.30 C 316.28,309.30 320.07,309.30 323.85,309.30 C 327.64,309.30 331.42,309.30 335.21,309.30 C 338.99,309.30 342.78,303.82 346.56,303.82 C 350.35,303.82 354.13,303.82 357.92,303.82 C 361.70,303.82 365.49,303.82 369.27,303.82 C 373.06,303.82 376.84,305.65 380.63,305.65 C 384.41,305.65 388.19,305.65 391.98,305.65 C 395.76,305.65 399.55,302.00 403.33,302.00 C 407.12,302.00 410.90,305.65 414.69,305.65 C 418.47,305.65 422.26,305.65 426.04,305.65 C 429.83,305.65 433.61,307.48 437.40,307.48 C 441.18,307.48 444.97,307.48 448.75,307.48 C 452.53,307.48 456.32,307.48 460.10,307.48 C 463.89,307.48 467.67,314.77 471.46,314.77 C 475.24,314.77 479.03,314.77 482.81,314.77 C 486.60,314.77 490.38,314.77 494.17,314.77 C 497.95,314.77 501.74,305.65 505.52,305.65 C 509.31,305.65 513.09,298.35 516.88,298.35 C 520.66,298.35 524.44,298.35 528.23,298.35 C 532.01,298.35 535.80,304.01 539.58,304.01 C 543.37,304.01 547.15,304.01 550.94,304.01 C 554.72,304.01 558.51,304.01 562.29,304.01 C 566.08,304.01 569.86,304.01 573.65,304.01 C 577.43,304.01 581.22,285.94 585.00,285.94" data-product="Nvidia RTX 5060 Ti 8 GB" fill="none" stroke="#75bdd1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,320.25 C 43.78,320.25 47.57,320.25 51.35,320.25 C 55.14,320.25 58.92,321.89 62.71,321.89 C 66.49,321.89 70.28,320.98 74.06,320.98 C 77.85,320.98 81.63,320.25 85.42,320.25 C 89.20,320.25 92.99,322.26 96.77,322.26 C 100.56,322.26 104.34,320.43 108.13,320.43 C 111.91,320.43 115.69,320.43 119.48,320.43 C 123.26,320.43 127.05,320.43 130.83,320.43 C 134.62,320.43 138.40,320.43 142.19,320.43 C 145.97,320.43 149.76,323.90 153.54,323.90 C 157.33,323.90 161.11,324.08 164.90,324.08 C 168.68,324.08 172.47,324.08 176.25,324.08 C 180.03,324.08 183.82,324.08 187.60,324.08 C 191.39,324.08 195.17,324.08 198.96,324.08 C 202.74,324.08 206.53,325.73 210.31,325.73 C 214.10,325.73 217.88,327.55 221.67,327.55 C 225.45,327.55 229.24,322.07 233.02,322.07 C 236.81,322.07 240.59,320.43 244.38,320.43 C 248.16,320.43 251.94,320.43 255.73,320.43 C 259.51,320.43 263.30,320.43 267.08,320.43 C 270.87,320.43 274.65,320.43 278.44,320.43 C 282.22,320.43 286.01,312.95 289.79,312.95 C 293.58,312.95 297.36,312.95 301.15,312.95 C 304.93,312.95 308.72,311.31 312.50,311.31 C 316.28,311.31 320.07,311.31 323.85,311.31 C 327.64,311.31 331.42,311.31 335.21,311.31 C 338.99,311.31 342.78,311.31 346.56,311.31 C 350.35,311.31 354.13,311.31 357.92,311.31 C 361.70,311.31 365.49,314.77 369.27,314.77 C 373.06,314.77 376.84,314.77 380.63,314.77 C 384.41,314.77 388.19,318.43 391.98,318.43 C 395.76,318.43 399.55,311.31 403.33,311.31 C 407.12,311.31 410.90,311.31 414.69,311.31 C 418.47,311.31 422.26,311.13 426.04,311.13 C 429.83,311.13 433.61,312.95 437.40,312.95 C 441.18,312.95 444.97,312.95 448.75,312.95 C 452.53,312.95 456.32,312.95 460.10,312.95 C 463.89,312.95 467.67,312.95 471.46,312.95 C 475.24,312.95 479.03,312.95 482.81,312.95 C 486.60,312.95 490.38,313.13 494.17,313.13 C 497.95,313.13 501.74,311.13 505.52,311.13 C 509.31,311.13 513.09,309.48 516.88,309.48 C 524.44,309.48 532.01,309.48 539.58,309.48 C 543.37,309.48 547.15,309.48 550.94,309.48 C 554.72,309.48 558.51,309.48 562.29,309.48 C 566.08,309.48 569.86,309.48 573.65,309.48 C 577.43,309.48 581.22,305.65 585.00,305.65" data-product="Nvidia RTX 5060" fill="none" stroke="#e97a7b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,329.38 C 43.78,329.38 47.57,329.38 51.35,329.38 C 55.14,329.38 58.92,329.38 62.71,329.38 C 66.49,329.38 70.28,329.38 74.06,329.38 C 77.85,329.38 81.63,329.38 85.42,329.38 C 89.20,329.38 92.99,331.20 96.77,331.20 C 100.56,331.20 104.34,331.20 108.13,331.20 C 111.91,331.20 115.69,329.38 119.48,329.38 C 123.26,329.38 127.05,329.38 130.83,329.38 C 134.62,329.38 138.40,329.38 142.19,329.38 C 145.97,329.38 149.76,333.02 153.54,333.02 C 157.33,333.02 161.11,334.85 164.90,334.85 C 168.68,334.85 172.47,334.85 176.25,334.85 C 180.03,334.85 183.82,334.85 187.60,334.85 C 191.39,334.85 195.17,338.50 198.96,338.50 C 202.74,338.50 206.53,338.50 210.31,338.50 C 214.10,338.50 217.88,332.11 221.67,332.11 C 225.45,332.11 229.24,331.20 233.02,331.20 C 236.81,331.20 240.59,331.20 244.38,331.20 C 248.16,331.20 251.94,331.20 255.73,331.20 C 259.51,331.20 263.30,327.55 267.08,327.55 C 270.87,327.55 274.65,327.55 278.44,327.55 C 282.22,327.55 286.01,327.55 289.79,327.55 C 293.58,327.55 297.36,327.55 301.15,327.55 C 304.93,327.55 308.72,327.55 312.50,327.55 C 316.28,327.55 320.07,322.07 323.85,322.07 C 327.64,322.07 331.42,322.07 335.21,322.07 C 338.99,322.07 342.78,322.07 346.56,322.07 C 350.35,322.07 354.13,322.07 357.92,322.07 C 361.70,322.07 365.49,322.07 369.27,322.07 C 373.06,322.07 376.84,322.07 380.63,322.07 C 384.41,322.07 388.19,322.07 391.98,322.07 C 395.76,322.07 399.55,322.07 403.33,322.07 C 407.12,322.07 410.90,322.07 414.69,322.07 C 418.47,322.07 422.26,322.07 426.04,322.07 C 429.83,322.07 433.61,322.07 437.40,322.07 C 441.18,322.07 444.97,322.07 448.75,322.07 C 452.53,322.07 456.32,322.07 460.10,322.07 C 463.89,322.07 467.67,322.07 471.46,322.07 C 475.24,322.07 479.03,322.07 482.81,322.07 C 486.60,322.07 490.38,322.07 494.17,322.07 C 497.95,322.07 501.74,322.07 505.52,322.07 C 509.31,322.07 513.09,320.43 516.88,320.43 C 520.66,320.43 524.44,320.43 528.23,320.43 C 532.01,320.43 535.80,320.43 539.58,320.43 C 543.37,320.43 547.15,320.43 550.94,320.43 C 554.72,320.43 558.51,320.43 562.29,320.43 C 562.29,320.43 562.29,320.43 562.29,320.43 C 569.86,320.43 577.43,318.43 585.00,318.43" data-product="Nvidia RTX 5050" fill="none" stroke="#D07F46" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,247.25 C 43.78,247.25 47.57,247.25 51.35,247.25 C 55.14,247.25 58.92,247.25 62.71,247.25 C 66.49,247.25 70.28,248.16 74.06,248.16 C 77.85,248.16 81.63,252.72 85.42,252.72 C 89.20,252.72 92.99,252.72 96.77,252.72 C 100.56,252.72 104.34,256.38 108.13,256.38 C 111.91,256.38 115.69,256.38 119.48,256.38 C 123.26,256.38 127.05,256.38 130.83,256.38 C 134.62,256.38 138.40,265.50 142.19,265.50 C 145.97,265.50 149.76,265.50 153.54,265.50 C 157.33,265.50 161.11,265.50 164.90,265.50 C 168.68,265.50 172.47,265.50 176.25,265.50 C 180.03,265.50 183.82,265.50 187.60,265.50 C 191.39,265.50 195.17,265.50 198.96,265.50 C 202.74,265.50 206.53,261.85 210.31,261.85 C 214.10,261.85 217.88,254.55 221.67,254.55 C 225.45,254.55 229.24,247.25 233.02,247.25 C 236.81,247.25 240.59,243.60 244.38,243.60 C 248.16,243.60 251.94,243.60 255.73,243.60 C 259.51,243.60 263.30,241.78 267.08,241.78 C 270.87,241.78 274.65,241.78 278.44,241.78 C 282.22,241.78 286.01,241.78 289.79,241.78 C 293.58,241.78 297.36,241.78 301.15,241.78 C 304.93,241.78 308.72,241.78 312.50,241.78 C 316.28,241.78 320.07,241.78 323.85,241.78 C 327.64,241.78 331.42,241.78 335.21,241.78 C 338.99,241.78 342.78,243.60 346.56,243.60 C 350.35,243.60 354.13,245.43 357.92,245.43 C 361.70,245.43 365.49,245.43 369.27,245.43 C 373.06,245.43 376.84,252.72 380.63,252.72 C 384.41,252.72 388.19,245.43 391.98,245.43 C 395.76,245.43 399.55,245.43 403.33,245.43 C 407.12,245.43 410.90,245.43 414.69,245.43 C 418.47,245.43 422.26,247.25 426.04,247.25 C 429.83,247.25 433.61,247.25 437.40,247.25 C 441.18,247.25 444.97,247.25 448.75,247.25 C 452.53,247.25 456.32,247.25 460.10,247.25 C 463.89,247.25 467.67,247.25 471.46,247.25 C 475.24,247.25 479.03,247.25 482.81,247.25 C 486.60,247.25 490.38,247.25 494.17,247.25 C 497.95,247.25 501.74,249.07 505.52,249.07 C 509.31,249.07 513.09,243.60 516.88,243.60 C 520.66,243.60 524.44,243.60 528.23,243.60 C 532.01,243.60 535.80,241.78 539.58,241.78 C 543.37,241.78 547.15,239.95 550.94,239.95 C 554.72,239.95 558.51,239.95 562.29,239.95 C 566.08,239.95 569.86,236.30 573.65,236.30 C 577.43,236.30 581.22,236.30 585.00,236.30" data-product="AMD RX 9070 XT" fill="none" stroke="#FFC08B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,265.50 C 43.78,265.50 47.57,265.50 51.35,265.50 C 55.14,265.50 58.92,274.63 62.71,274.63 C 66.49,274.63 70.28,274.63 74.06,274.63 C 77.85,274.63 81.63,265.50 85.42,265.50 C 89.20,265.50 92.99,265.50 96.77,265.50 C 100.56,265.50 104.34,274.63 108.13,274.63 C 111.91,274.63 115.69,274.63 119.48,274.63 C 123.26,274.63 127.05,272.80 130.83,272.80 C 134.62,272.80 138.40,274.63 142.19,274.63 C 145.97,274.63 149.76,274.63 153.54,274.63 C 157.33,274.63 161.11,278.27 164.90,278.27 C 168.68,278.27 172.47,278.27 176.25,278.27 C 180.03,278.27 183.82,278.27 187.60,278.27 C 191.39,278.27 195.17,278.27 198.96,278.27 C 202.74,278.27 206.53,278.27 210.31,278.27 C 214.10,278.27 217.88,269.15 221.67,269.15 C 225.45,269.15 229.24,269.15 233.02,269.15 C 236.81,269.15 240.59,269.15 244.38,269.15 C 248.16,269.15 251.94,265.50 255.73,265.50 C 259.51,265.50 263.30,267.32 267.08,267.32 C 270.87,267.32 274.65,260.02 278.44,260.02 C 282.22,260.02 286.01,260.02 289.79,260.02 C 293.58,260.02 297.36,261.85 301.15,261.85 C 304.93,261.85 308.72,263.68 312.50,263.68 C 316.28,263.68 320.07,263.68 323.85,263.68 C 327.64,263.68 331.42,260.02 335.21,260.02 C 338.99,260.02 342.78,261.85 346.56,261.85 C 350.35,261.85 354.13,261.85 357.92,261.85 C 361.70,261.85 365.49,261.85 369.27,261.85 C 373.06,261.85 376.84,261.85 380.63,261.85 C 384.41,261.85 388.19,261.85 391.98,261.85 C 395.76,261.85 399.55,265.50 403.33,265.50 C 407.12,265.50 410.90,261.85 414.69,261.85 C 418.47,261.85 422.26,265.50 426.04,265.50 C 429.83,265.50 433.61,265.50 437.40,265.50 C 441.18,265.50 444.97,265.50 448.75,265.50 C 452.53,265.50 456.32,265.50 460.10,265.50 C 463.89,265.50 467.67,265.50 471.46,265.50 C 475.24,265.50 479.03,265.50 482.81,265.50 C 486.60,265.50 490.38,265.50 494.17,265.50 C 497.95,265.50 501.74,259.11 505.52,259.11 C 509.31,259.11 513.09,256.38 516.88,256.38 C 520.66,256.38 524.44,256.38 528.23,256.38 C 532.01,256.38 535.80,260.02 539.58,260.02 C 543.37,260.02 547.15,256.38 550.94,256.38 C 554.72,256.38 558.51,256.38 562.29,256.38 C 566.08,256.38 569.86,256.38 573.65,256.38 C 577.43,256.38 581.22,253.27 585.00,253.27" data-product="AMD RX 9070" fill="none" stroke="#EB6F71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 437.40,274.63 C 441.18,274.63 444.97,274.63 448.75,274.63 C 452.53,274.63 456.32,274.63 460.10,274.63 C 463.89,274.63 467.67,283.75 471.46,283.75 C 475.24,283.75 479.03,283.75 482.81,283.75 C 486.60,283.75 490.38,283.75 494.17,283.75 C 497.95,283.75 501.74,274.63 505.52,274.63 C 509.31,274.63 513.09,283.75 516.88,283.75 C 520.66,283.75 524.44,283.75 528.23,283.75 C 532.01,283.75 535.80,278.27 539.58,278.27 C 543.37,278.27 547.15,278.27 550.94,278.27 C 554.72,278.27 558.51,280.10 562.29,280.10 C 566.08,280.10 569.86,283.75 573.65,283.75 C 577.43,283.75 581.22,270.98 585.00,270.98" data-product="AMD Radeon RX 9070 GRE" fill="none" stroke="#E33235" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,307.48 C 43.78,307.48 47.57,307.48 51.35,307.48 C 55.14,307.48 58.92,307.48 62.71,307.48 C 66.49,307.48 70.28,307.48 74.06,307.48 C 77.85,307.48 81.63,311.13 85.42,311.13 C 89.20,311.13 92.99,311.13 96.77,311.13 C 100.56,311.13 104.34,311.13 108.13,311.13 C 111.91,311.13 115.69,311.13 119.48,311.13 C 123.26,311.13 127.05,311.13 130.83,311.13 C 134.62,311.13 138.40,309.30 142.19,309.30 C 145.97,309.30 149.76,312.95 153.54,312.95 C 157.33,312.95 161.11,311.13 164.90,311.13 C 168.68,311.13 172.47,311.13 176.25,311.13 C 180.03,311.13 183.82,307.48 187.60,307.48 C 191.39,307.48 195.17,305.65 198.96,305.65 C 202.74,305.65 206.53,305.65 210.31,305.65 C 214.10,305.65 217.88,303.82 221.67,303.82 C 225.45,303.82 229.24,303.82 233.02,303.82 C 236.81,303.82 240.59,302.00 244.38,302.00 C 248.16,302.00 251.94,294.70 255.73,294.70 C 259.51,294.70 263.30,294.70 267.08,294.70 C 270.87,294.70 274.65,302.00 278.44,302.00 C 282.22,302.00 286.01,294.70 289.79,294.70 C 293.58,294.70 297.36,294.70 301.15,294.70 C 304.93,294.70 308.72,294.70 312.50,294.70 C 316.28,294.70 320.07,294.70 323.85,294.70 C 327.64,294.70 331.42,294.70 335.21,294.70 C 338.99,294.70 342.78,294.70 346.56,294.70 C 350.35,294.70 354.13,293.06 357.92,293.06 C 361.70,293.06 365.49,294.70 369.27,294.70 C 373.06,294.70 376.84,294.70 380.63,294.70 C 384.41,294.70 388.19,296.52 391.98,296.52 C 395.76,296.52 399.55,296.52 403.33,296.52 C 407.12,296.52 410.90,294.70 414.69,294.70 C 418.47,294.70 422.26,296.52 426.04,296.52 C 429.83,296.52 433.61,294.70 437.40,294.70 C 441.18,294.70 444.97,294.70 448.75,294.70 C 452.53,294.70 456.32,294.70 460.10,294.70 C 463.89,294.70 467.67,302.00 471.46,302.00 C 475.24,302.00 479.03,296.52 482.81,296.52 C 486.60,296.52 490.38,296.52 494.17,296.52 C 497.95,296.52 501.74,292.88 505.52,292.88 C 509.31,292.88 513.09,289.23 516.88,289.23 C 520.66,289.23 524.44,289.23 528.23,289.23 C 532.01,289.23 535.80,291.05 539.58,291.05 C 543.37,291.05 547.15,289.23 550.94,289.23 C 554.72,289.23 558.51,289.23 562.29,289.23 C 566.08,289.23 569.86,289.23 573.65,289.23 C 577.43,289.23 581.22,283.75 585.00,283.75" data-product="AMD RX 9060 XT 16 GB" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,323.90 C 43.78,323.90 47.57,325.73 51.35,325.73 C 55.14,325.73 58.92,323.90 62.71,323.90 C 66.49,323.90 70.28,323.90 74.06,323.90 C 77.85,323.90 81.63,325.73 85.42,325.73 C 89.20,325.73 92.99,325.73 96.77,325.73 C 100.56,325.73 104.34,325.73 108.13,325.73 C 111.91,325.73 115.69,325.73 119.48,325.73 C 123.26,325.73 127.05,325.73 130.83,325.73 C 134.62,325.73 138.40,325.73 142.19,325.73 C 145.97,325.73 149.76,329.38 153.54,329.38 C 157.33,329.38 161.11,324.81 164.90,324.81 C 168.68,324.81 172.47,323.90 176.25,323.90 C 180.03,323.90 183.82,323.90 187.60,323.90 C 191.39,323.90 195.17,322.44 198.96,322.44 C 202.74,322.44 206.53,322.44 210.31,322.44 C 214.10,322.44 217.88,318.43 221.67,318.43 C 225.45,318.43 229.24,318.43 233.02,318.43 C 236.81,318.43 240.59,318.43 244.38,318.43 C 248.16,318.43 251.94,318.43 255.73,318.43 C 259.51,318.43 263.30,311.13 267.08,311.13 C 270.87,311.13 274.65,311.86 278.44,311.86 C 282.22,311.86 286.01,311.86 289.79,311.86 C 293.58,311.86 297.36,311.86 301.15,311.86 C 304.93,311.86 308.72,311.86 312.50,311.86 C 316.28,311.86 320.07,312.95 323.85,312.95 C 327.64,312.95 331.42,312.95 335.21,312.95 C 338.99,312.95 342.78,311.86 346.56,311.86 C 350.35,311.86 354.13,311.13 357.92,311.13 C 361.70,311.13 365.49,311.13 369.27,311.13 C 373.06,311.13 376.84,311.13 380.63,311.13 C 384.41,311.13 388.19,309.30 391.98,309.30 C 395.76,309.30 399.55,309.30 403.33,309.30 C 407.12,309.30 410.90,309.30 414.69,309.30 C 418.47,309.30 422.26,309.30 426.04,309.30 C 429.83,309.30 433.61,309.30 437.40,309.30 C 441.18,309.30 444.97,311.13 448.75,311.13 C 452.53,311.13 456.32,311.13 460.10,311.13 C 463.89,311.13 467.67,309.30 471.46,309.30 C 475.24,309.30 479.03,309.30 482.81,309.30 C 486.60,309.30 490.38,309.30 494.17,309.30 C 497.95,309.30 501.74,309.30 505.52,309.30 C 509.31,309.30 513.09,307.48 516.88,307.48 C 520.66,307.48 524.44,302.00 528.23,302.00 C 532.01,302.00 535.80,309.30 539.58,309.30 C 543.37,309.30 547.15,302.00 550.94,302.00 C 554.72,302.00 558.51,300.36 562.29,300.36 C 566.08,300.36 569.86,296.52 573.65,296.52 C 577.43,296.52 581.22,292.88 585.00,292.88" data-product="AMD RX 9060 XT 8 GB" fill="none" stroke="#1CA9C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,327.55 C 43.78,327.55 47.57,327.55 51.35,327.55 C 55.14,327.55 58.92,329.38 62.71,329.38 C 66.49,329.38 70.28,329.38 74.06,329.38 C 77.85,329.38 81.63,329.38 85.42,329.38 C 89.20,329.38 92.99,329.38 96.77,329.38 C 100.56,329.38 104.34,329.38 108.13,329.38 C 111.91,329.38 115.69,329.38 119.48,329.38 C 123.26,329.38 127.05,329.38 130.83,329.38 C 134.62,329.38 138.40,329.38 142.19,329.38 C 145.97,329.38 149.76,329.38 153.54,329.38 C 157.33,329.38 161.11,329.38 164.90,329.38 C 168.68,329.38 172.47,329.38 176.25,329.38 C 180.03,329.38 183.82,329.38 187.60,329.38 C 191.39,329.38 195.17,331.20 198.96,331.20 C 202.74,331.20 206.53,331.20 210.31,331.20 C 214.10,331.20 217.88,329.38 221.67,329.38 C 225.45,329.38 229.24,329.38 233.02,329.38 C 236.81,329.38 240.59,327.55 244.38,327.55 C 248.16,327.55 251.94,322.07 255.73,322.07 C 259.51,322.07 263.30,322.07 267.08,322.07 C 270.87,322.07 274.65,320.25 278.44,320.25 C 282.22,320.25 286.01,320.25 289.79,320.25 C 293.58,320.25 297.36,320.25 301.15,320.25 C 304.93,320.25 308.72,320.25 312.50,320.25 C 316.28,320.25 320.07,320.25 323.85,320.25 C 327.64,320.25 331.42,320.25 335.21,320.25 C 338.99,320.25 342.78,322.07 346.56,322.07 C 350.35,322.07 354.13,322.07 357.92,322.07 C 361.70,322.07 365.49,322.07 369.27,322.07 C 373.06,322.07 376.84,322.07 380.63,322.07 C 384.41,322.07 388.19,322.07 391.98,322.07 C 395.76,322.07 399.55,322.07 403.33,322.07 C 407.12,322.07 410.90,322.07 414.69,322.07 C 418.47,322.07 422.26,319.52 426.04,319.52 C 429.83,319.52 433.61,320.25 437.40,320.25 C 441.18,320.25 444.97,319.52 448.75,319.52 C 452.53,319.52 456.32,319.52 460.10,319.52 C 463.89,319.52 467.67,320.62 471.46,320.62 C 475.24,320.62 479.03,321.89 482.81,321.89 C 486.60,321.89 490.38,322.07 494.17,322.07 C 497.95,322.07 501.74,322.07 505.52,322.07 C 509.31,322.07 513.09,318.43 516.88,318.43 C 520.66,318.43 524.44,318.43 528.23,318.43 C 532.01,318.43 535.80,318.43 539.58,318.43 C 543.37,318.43 547.15,318.43 550.94,318.43 C 554.72,318.43 558.51,318.43 562.29,318.43 C 566.08,318.43 569.86,314.77 573.65,314.77 C 577.43,314.77 581.22,314.77 585.00,314.77" data-product="Intel Arc B580" fill="none" stroke="#B5282A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path class="riv-line-path" d="M 40.00,333.02 C 43.78,333.02 47.57,333.02 51.35,333.02 C 55.14,333.02 58.92,333.02 62.71,333.02 C 66.49,333.02 70.28,333.02 74.06,333.02 C 77.85,333.02 81.63,333.02 85.42,333.02 C 89.20,333.02 92.99,333.02 96.77,333.02 C 100.56,333.02 104.34,333.02 108.13,333.02 C 111.91,333.02 115.69,338.50 119.48,338.50 C 123.26,338.50 127.05,334.85 130.83,334.85 C 134.62,334.85 138.40,336.68 142.19,336.68 C 145.97,336.68 149.76,338.50 153.54,338.50 C 157.33,338.50 161.11,338.50 164.90,338.50 C 168.68,338.50 172.47,338.50 176.25,338.50 C 180.03,338.50 183.82,338.13 187.60,338.13 C 191.39,338.13 195.17,338.13 198.96,338.13 C 202.74,338.13 206.53,338.13 210.31,338.13 C 214.10,338.13 217.88,338.50 221.67,338.50 C 225.45,338.50 229.24,338.50 233.02,338.50 C 236.81,338.50 240.59,338.50 244.38,338.50 C 248.16,338.50 251.94,338.50 255.73,338.50 C 259.51,338.50 263.30,329.38 267.08,329.38 C 270.87,329.38 274.65,329.38 278.44,329.38 C 282.22,329.38 286.01,329.38 289.79,329.38 C 293.58,329.38 297.36,329.38 301.15,329.38 C 304.93,329.38 308.72,329.38 312.50,329.38 C 316.28,329.38 320.07,329.38 323.85,329.38 C 327.64,329.38 331.42,329.38 335.21,329.38 C 338.99,329.38 342.78,329.38 346.56,329.38 C 350.35,329.38 354.13,329.38 357.92,329.38 C 361.70,329.38 365.49,327.55 369.27,327.55 C 373.06,327.55 376.84,327.55 380.63,327.55 C 384.41,327.55 388.19,327.55 391.98,327.55 C 395.76,327.55 399.55,327.55 403.33,327.55 C 407.12,327.55 410.90,327.55 414.69,327.55 C 418.47,327.55 422.26,327.55 426.04,327.55 C 429.83,327.55 433.61,327.55 437.40,327.55 C 441.18,327.55 444.97,329.38 448.75,329.38 C 452.53,329.38 456.32,329.38 460.10,329.38 C 463.89,329.38 467.67,329.38 471.46,329.38 C 475.24,329.38 479.03,327.55 482.81,327.55 C 486.60,327.55 490.38,329.38 494.17,329.38 C 497.95,329.38 501.74,327.55 505.52,327.55 C 509.31,327.55 513.09,327.55 516.88,327.55 C 520.66,327.55 524.44,327.55 528.23,327.55 C 532.01,327.55 535.80,327.55 539.58,327.55 C 543.37,327.55 547.15,327.55 550.94,327.55 C 554.72,327.55 558.51,327.55 562.29,327.55 C 566.08,327.55 569.86,327.55 573.65,327.55 C 577.43,327.55 581.22,327.55 585.00,327.55" data-product="Intel Arc B570" fill="none" stroke="#66C5D7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="40.00" cy="174.25" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="51.35" cy="174.43" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="62.71" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="74.06" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="85.42" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="96.77" cy="205.46" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="108.13" cy="192.68" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="119.48" cy="196.15" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="130.83" cy="192.68" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="142.19" cy="194.51" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="153.54" cy="194.32" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="164.90" cy="194.51" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="176.25" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="187.60" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="198.96" cy="192.50" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="210.31" cy="174.25" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="221.67" cy="150.53" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="233.02" cy="143.59" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="244.38" cy="123.15" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="255.73" cy="128.62" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="267.08" cy="125.89" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="278.44" cy="125.89" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="289.79" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="301.15" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="312.50" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="323.85" cy="145.05" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="335.21" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="346.56" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="357.92" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="369.27" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="380.63" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="391.98" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="403.33" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="414.69" cy="143.22" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="426.04" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="437.40" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="448.75" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="460.10" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="471.46" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="482.81" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="494.17" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="505.52" cy="146.88" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="516.88" cy="139.57" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="528.23" cy="105.08" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="539.58" cy="92.13" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="550.94" cy="92.13" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="562.29" cy="110.38" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="573.65" cy="110.38" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5080" cx="585.00" cy="73.33" r="2" fill="#5bb0c0" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="40.00" cy="232.65" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="51.35" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="62.71" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="74.06" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="85.42" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="96.77" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="108.13" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="119.48" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="130.83" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="142.19" cy="241.78" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="153.54" cy="247.43" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="164.90" cy="241.78" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="176.25" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="187.60" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="198.96" cy="238.31" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="210.31" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="221.67" cy="238.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="233.02" cy="223.71" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="244.38" cy="210.93" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="255.73" cy="192.50" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="267.08" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="278.44" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="289.79" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="301.15" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="312.50" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="323.85" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="335.21" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="346.56" cy="210.75" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="357.92" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="369.27" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="380.63" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="391.98" cy="194.32" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="403.33" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="414.69" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="426.04" cy="210.75" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="437.40" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="448.75" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="460.10" cy="196.15" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="471.46" cy="207.10" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="482.81" cy="200.71" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="494.17" cy="210.75" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="505.52" cy="201.63" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="516.88" cy="187.03" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="528.23" cy="176.44" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="539.58" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="550.94" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="562.29" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="573.65" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="585.00" cy="165.13" r="2" fill="#ffcea9" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="40.00" cy="274.63" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="51.35" cy="274.63" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="62.71" cy="279.37" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="74.06" cy="275.36" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="85.42" cy="287.22" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="96.77" cy="283.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="108.13" cy="280.10" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="119.48" cy="283.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="130.83" cy="283.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="142.19" cy="287.40" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="153.54" cy="285.76" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="164.90" cy="283.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="176.25" cy="278.82" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="187.60" cy="276.45" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="198.96" cy="283.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="210.31" cy="283.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="221.67" cy="274.81" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="233.02" cy="276.45" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="244.38" cy="274.81" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="255.73" cy="261.85" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="267.08" cy="261.85" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="278.44" cy="261.85" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="289.79" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="301.15" cy="260.94" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="312.50" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="323.85" cy="264.77" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="335.21" cy="258.20" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="346.56" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="357.92" cy="258.93" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="369.27" cy="260.02" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="380.63" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="391.98" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="403.33" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="414.69" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="426.04" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="437.40" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="448.75" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="460.10" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="471.46" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="482.81" cy="265.68" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="494.17" cy="272.80" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="505.52" cy="274.63" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="516.88" cy="237.21" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="528.23" cy="235.75" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="539.58" cy="229.00" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="550.94" cy="236.48" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="562.29" cy="242.69" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="573.65" cy="232.83" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5070" cx="585.00" cy="232.83" r="2" fill="#d26365" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="40.00" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="51.35" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="62.71" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="74.06" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="85.42" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="96.77" cy="305.83" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="108.13" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="119.48" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="130.83" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="142.19" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="153.54" cy="302.00" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="164.90" cy="302.00" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="176.25" cy="298.35" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="187.60" cy="298.35" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="198.96" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="210.31" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="221.67" cy="296.52" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="233.02" cy="292.88" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="244.38" cy="292.88" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="255.73" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="267.08" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="278.44" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="289.79" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="301.15" cy="280.10" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="312.50" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="323.85" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="335.21" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="346.56" cy="281.01" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="357.92" cy="283.75" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="369.27" cy="283.75" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="380.63" cy="283.75" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="391.98" cy="281.01" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="403.33" cy="285.57" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="414.69" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="426.04" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="437.40" cy="274.63" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="448.75" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="460.10" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="471.46" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="482.81" cy="271.89" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="494.17" cy="272.80" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="505.52" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="516.88" cy="256.38" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="528.23" cy="232.65" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="539.58" cy="233.93" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="550.94" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="562.29" cy="270.98" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="573.65" cy="232.65" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 16 GB" cx="585.00" cy="232.65" r="2" fill="#e38e4f" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="40.00" cy="307.84" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="51.35" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="62.71" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="74.06" cy="312.04" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="85.42" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="96.77" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="108.13" cy="311.13" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="119.48" cy="312.58" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="130.83" cy="316.05" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="142.19" cy="312.95" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="153.54" cy="316.60" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="164.90" cy="316.60" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="176.25" cy="312.58" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="187.60" cy="317.88" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="198.96" cy="311.13" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="210.31" cy="311.13" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="221.67" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="233.02" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="244.38" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="255.73" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="267.08" cy="310.94" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="278.44" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="289.79" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="301.15" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="312.50" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="323.85" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="335.21" cy="309.30" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="346.56" cy="303.82" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="357.92" cy="303.82" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="369.27" cy="303.82" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="380.63" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="391.98" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="403.33" cy="302.00" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="414.69" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="426.04" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="437.40" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="448.75" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="460.10" cy="307.48" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="471.46" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="482.81" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="494.17" cy="314.77" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="505.52" cy="305.65" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="516.88" cy="298.35" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="528.23" cy="298.35" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="539.58" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="550.94" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="562.29" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="573.65" cy="304.01" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060 Ti 8 GB" cx="585.00" cy="285.94" r="2" fill="#75bdd1" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="40.00" cy="320.25" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="51.35" cy="320.25" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="62.71" cy="321.89" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="74.06" cy="320.98" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="85.42" cy="320.25" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="96.77" cy="322.26" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="108.13" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="119.48" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="130.83" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="142.19" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="153.54" cy="323.90" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="164.90" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="176.25" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="187.60" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="198.96" cy="324.08" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="210.31" cy="325.73" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="221.67" cy="327.55" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="233.02" cy="322.07" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="244.38" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="255.73" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="267.08" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="278.44" cy="320.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="289.79" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="301.15" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="312.50" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="323.85" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="335.21" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="346.56" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="357.92" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="369.27" cy="314.77" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="380.63" cy="314.77" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="391.98" cy="318.43" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="403.33" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="414.69" cy="311.31" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="426.04" cy="311.13" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="437.40" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="448.75" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="460.10" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="471.46" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="482.81" cy="312.95" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="494.17" cy="313.13" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="505.52" cy="311.13" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="516.88" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="539.58" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="550.94" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="562.29" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="573.65" cy="309.48" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5060" cx="585.00" cy="305.65" r="2" fill="#e97a7b" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="40.00" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="51.35" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="62.71" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="74.06" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="85.42" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="96.77" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="108.13" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="119.48" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="130.83" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="142.19" cy="329.38" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="153.54" cy="333.02" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="164.90" cy="334.85" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="176.25" cy="334.85" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="187.60" cy="334.85" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="198.96" cy="338.50" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="210.31" cy="338.50" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="221.67" cy="332.11" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="233.02" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="244.38" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="255.73" cy="331.20" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="267.08" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="278.44" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="289.79" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="301.15" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="312.50" cy="327.55" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="323.85" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="335.21" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="346.56" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="357.92" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="369.27" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="380.63" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="391.98" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="403.33" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="414.69" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="426.04" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="437.40" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="448.75" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="460.10" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="471.46" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="482.81" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="494.17" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="505.52" cy="322.07" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="516.88" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="528.23" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="539.58" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="550.94" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="562.29" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="562.29" cy="320.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="Nvidia RTX 5050" cx="585.00" cy="318.43" r="2" fill="#D07F46" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="40.00" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="51.35" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="62.71" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="74.06" cy="248.16" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="85.42" cy="252.72" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="96.77" cy="252.72" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="108.13" cy="256.38" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="119.48" cy="256.38" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="130.83" cy="256.38" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="142.19" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="153.54" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="164.90" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="176.25" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="187.60" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="198.96" cy="265.50" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="210.31" cy="261.85" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="221.67" cy="254.55" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="233.02" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="244.38" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="255.73" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="267.08" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="278.44" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="289.79" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="301.15" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="312.50" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="323.85" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="335.21" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="346.56" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="357.92" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="369.27" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="380.63" cy="252.72" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="391.98" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="403.33" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="414.69" cy="245.43" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="426.04" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="437.40" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="448.75" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="460.10" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="471.46" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="482.81" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="494.17" cy="247.25" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="505.52" cy="249.07" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="516.88" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="528.23" cy="243.60" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="539.58" cy="241.78" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="550.94" cy="239.95" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="562.29" cy="239.95" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="573.65" cy="236.30" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="585.00" cy="236.30" r="2" fill="#FFC08B" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="40.00" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="51.35" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="62.71" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="74.06" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="85.42" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="96.77" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="108.13" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="119.48" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="130.83" cy="272.80" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="142.19" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="153.54" cy="274.63" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="164.90" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="176.25" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="187.60" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="198.96" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="210.31" cy="278.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="221.67" cy="269.15" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="233.02" cy="269.15" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="244.38" cy="269.15" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="255.73" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="267.08" cy="267.32" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="278.44" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="289.79" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="301.15" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="312.50" cy="263.68" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="323.85" cy="263.68" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="335.21" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="346.56" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="357.92" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="369.27" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="380.63" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="391.98" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="403.33" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="414.69" cy="261.85" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="426.04" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="437.40" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="448.75" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="460.10" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="471.46" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="482.81" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="494.17" cy="265.50" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="505.52" cy="259.11" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="516.88" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="528.23" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="539.58" cy="260.02" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="550.94" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="562.29" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="573.65" cy="256.38" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9070" cx="585.00" cy="253.27" r="2" fill="#EB6F71" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="437.40" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="448.75" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="460.10" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="471.46" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="482.81" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="494.17" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="505.52" cy="274.63" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="516.88" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="528.23" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="539.58" cy="278.27" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="550.94" cy="278.27" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="562.29" cy="280.10" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="573.65" cy="283.75" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD Radeon RX 9070 GRE" cx="585.00" cy="270.98" r="2" fill="#E33235" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="40.00" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="51.35" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="62.71" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="74.06" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="85.42" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="96.77" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="108.13" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="119.48" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="130.83" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="142.19" cy="309.30" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="153.54" cy="312.95" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="164.90" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="176.25" cy="311.13" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="187.60" cy="307.48" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="198.96" cy="305.65" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="210.31" cy="305.65" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="221.67" cy="303.82" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="233.02" cy="303.82" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="244.38" cy="302.00" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="255.73" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="267.08" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="278.44" cy="302.00" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="289.79" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="301.15" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="312.50" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="323.85" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="335.21" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="346.56" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="357.92" cy="293.06" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="369.27" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="380.63" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="391.98" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="403.33" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="414.69" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="426.04" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="437.40" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="448.75" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="460.10" cy="294.70" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="471.46" cy="302.00" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="482.81" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="494.17" cy="296.52" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="505.52" cy="292.88" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="516.88" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="528.23" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="539.58" cy="291.05" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="550.94" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="562.29" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="573.65" cy="289.23" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 16 GB" cx="585.00" cy="283.75" r="2" fill="#FE9F58" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="40.00" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="51.35" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="62.71" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="74.06" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="85.42" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="96.77" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="108.13" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="119.48" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="130.83" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="142.19" cy="325.73" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="153.54" cy="329.38" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="164.90" cy="324.81" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="176.25" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="187.60" cy="323.90" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="198.96" cy="322.44" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="210.31" cy="322.44" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="221.67" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="233.02" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="244.38" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="255.73" cy="318.43" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="267.08" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="278.44" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="289.79" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="301.15" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="312.50" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="323.85" cy="312.95" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="335.21" cy="312.95" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="346.56" cy="311.86" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="357.92" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="369.27" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="380.63" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="391.98" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="403.33" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="414.69" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="426.04" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="437.40" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="448.75" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="460.10" cy="311.13" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="471.46" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="482.81" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="494.17" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="505.52" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="516.88" cy="307.48" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="528.23" cy="302.00" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="539.58" cy="309.30" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="550.94" cy="302.00" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="562.29" cy="300.36" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="573.65" cy="296.52" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="AMD RX 9060 XT 8 GB" cx="585.00" cy="292.88" r="2" fill="#1CA9C4" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="40.00" cy="327.55" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="51.35" cy="327.55" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="62.71" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="74.06" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="85.42" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="96.77" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="108.13" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="119.48" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="130.83" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="142.19" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="153.54" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="164.90" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="176.25" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="187.60" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="198.96" cy="331.20" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="210.31" cy="331.20" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="221.67" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="233.02" cy="329.38" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="244.38" cy="327.55" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="255.73" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="267.08" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="278.44" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="289.79" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="301.15" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="312.50" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="323.85" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="335.21" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="346.56" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="357.92" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="369.27" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="380.63" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="391.98" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="403.33" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="414.69" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="426.04" cy="319.52" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="437.40" cy="320.25" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="448.75" cy="319.52" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="460.10" cy="319.52" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="471.46" cy="320.62" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="482.81" cy="321.89" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="494.17" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="505.52" cy="322.07" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="516.88" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="528.23" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="539.58" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="550.94" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="562.29" cy="318.43" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="573.65" cy="314.77" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B580" cx="585.00" cy="314.77" r="2" fill="#B5282A" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="40.00" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="51.35" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="62.71" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="74.06" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="85.42" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="96.77" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="108.13" cy="333.02" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="119.48" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="130.83" cy="334.85" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="142.19" cy="336.68" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="153.54" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="164.90" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="176.25" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="187.60" cy="338.13" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="198.96" cy="338.13" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="210.31" cy="338.13" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="221.67" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="233.02" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="244.38" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="255.73" cy="338.50" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="267.08" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="278.44" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="289.79" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="301.15" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="312.50" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="323.85" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="335.21" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="346.56" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="357.92" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="369.27" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="380.63" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="391.98" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="403.33" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="414.69" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="426.04" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="437.40" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="448.75" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="460.10" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="471.46" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="482.81" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="494.17" cy="329.38" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="505.52" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="516.88" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="528.23" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="539.58" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="550.94" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="562.29" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="573.65" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /><circle class="riv-dot" data-product="Intel Arc B570" cx="585.00" cy="327.55" r="2" fill="#66C5D7" style="opacity:0;" /></svg><div class="fv-x-axis-title">Week</div><div class="riv-line-legend" data-chart="fv-chart-1790867600756-p0oh86j9j-line-Lowest pricing"><button class="riv-legend-item " data-product="Nvidia RTX 5080"><span class="riv-legend-marker" style="background-color: #5bb0c0;"></span>Nvidia RTX 5080</button><button class="riv-legend-item " data-product="Nvidia RTX 5070 Ti"><span class="riv-legend-marker" style="background-color: #ffcea9;"></span>Nvidia RTX 5070 Ti</button><button class="riv-legend-item " data-product="Nvidia RTX 5070"><span class="riv-legend-marker" style="background-color: #d26365;"></span>Nvidia RTX 5070</button><button class="riv-legend-item " data-product="Nvidia RTX 5060 Ti 16 GB"><span class="riv-legend-marker" style="background-color: #e38e4f;"></span>Nvidia RTX 5060 Ti 16 GB</button><button class="riv-legend-item " data-product="Nvidia RTX 5060 Ti 8 GB"><span class="riv-legend-marker" style="background-color: #75bdd1;"></span>Nvidia RTX 5060 Ti 8 GB</button><button class="riv-legend-item " data-product="Nvidia RTX 5060"><span class="riv-legend-marker" style="background-color: #e97a7b;"></span>Nvidia RTX 5060</button><button class="riv-legend-item " data-product="Nvidia RTX 5050"><span class="riv-legend-marker" style="background-color: #D07F46;"></span>Nvidia RTX 5050</button><button class="riv-legend-item " data-product="AMD RX 9070 XT"><span class="riv-legend-marker" style="background-color: #FFC08B;"></span>AMD RX 9070 XT</button><button class="riv-legend-item " data-product="AMD RX 9070"><span class="riv-legend-marker" style="background-color: #EB6F71;"></span>AMD RX 9070</button><button class="riv-legend-item " data-product="AMD Radeon RX 9070 GRE"><span class="riv-legend-marker" style="background-color: #E33235;"></span>AMD Radeon RX 9070 GRE</button><button class="riv-legend-item " data-product="AMD RX 9060 XT 16 GB"><span class="riv-legend-marker" style="background-color: #FE9F58;"></span>AMD RX 9060 XT 16 GB</button><button class="riv-legend-item " data-product="AMD RX 9060 XT 8 GB"><span class="riv-legend-marker" style="background-color: #1CA9C4;"></span>AMD RX 9060 XT 8 GB</button><button class="riv-legend-item " data-product="Intel Arc B580"><span class="riv-legend-marker" style="background-color: #B5282A;"></span>Intel Arc B580</button><button class="riv-legend-item " data-product="Intel Arc B570"><span class="riv-legend-marker" style="background-color: #66C5D7;"></span>Intel Arc B570</button></div><table class="sr-only"><caption>Lowest pricing Data</caption><thead><tr><th>Timestamp (Week)</th><th>Nvidia RTX 5080 (Price, $)</th><th>Nvidia RTX 5070 Ti (Price, $)</th><th>Nvidia RTX 5070 (Price, $)</th><th>Nvidia RTX 5060 Ti 16 GB (Price, $)</th><th>Nvidia RTX 5060 Ti 8 GB (Price, $)</th><th>Nvidia RTX 5060 (Price, $)</th><th>Nvidia RTX 5050 (Price, $)</th><th>AMD RX 9070 XT (Price, $)</th><th>AMD RX 9070 (Price, $)</th><th>AMD Radeon RX 9070 GRE (Price, $)</th><th>AMD RX 9060 XT 16 GB (Price, $)</th><th>AMD RX 9060 XT 8 GB (Price, $)</th><th>Intel Arc B580 (Price, $)</th><th>Intel Arc B570 (Price, $)</th></tr></thead><tbody><tr><td>1</td><td>1100</td><td>780</td><td>550</td><td>430</td><td>368</td><td>300</td><td>250</td><td>700</td><td>600</td><td>N/A</td><td>370</td><td>280</td><td>260</td><td>230</td></tr><tr><td>2</td><td>1099</td><td>750</td><td>550</td><td>430</td><td>340</td><td>300</td><td>250</td><td>700</td><td>600</td><td>N/A</td><td>370</td><td>270</td><td>260</td><td>230</td></tr><tr><td>3</td><td>1000</td><td>750</td><td>524</td><td>430</td><td>370</td><td>291</td><td>250</td><td>700</td><td>550</td><td>N/A</td><td>370</td><td>280</td><td>250</td><td>230</td></tr><tr><td>4</td><td>1000</td><td>750</td><td>546</td><td>430</td><td>345</td><td>296</td><td>250</td><td>695</td><td>550</td><td>N/A</td><td>370</td><td>280</td><td>250</td><td>230</td></tr><tr><td>5</td><td>1000</td><td>749</td><td>481</td><td>430</td><td>340</td><td>300</td><td>250</td><td>670</td><td>600</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>230</td></tr><tr><td>6</td><td>929</td><td>749</td><td>499</td><td>379</td><td>340</td><td>289</td><td>240</td><td>670</td><td>600</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>230</td></tr><tr><td>7</td><td>999</td><td>750</td><td>520</td><td>430</td><td>350</td><td>299</td><td>240</td><td>650</td><td>550</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>230</td></tr><tr><td>8</td><td>980</td><td>749</td><td>500</td><td>430</td><td>342</td><td>299</td><td>250</td><td>650</td><td>550</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>200</td></tr><tr><td>9</td><td>999</td><td>750</td><td>500</td><td>430</td><td>323</td><td>299</td><td>250</td><td>650</td><td>560</td><td>N/A</td><td>350</td><td>270</td><td>250</td><td>220</td></tr><tr><td>10</td><td>989</td><td>730</td><td>480</td><td>430</td><td>340</td><td>299</td><td>250</td><td>600</td><td>550</td><td>N/A</td><td>360</td><td>270</td><td>250</td><td>210</td></tr><tr><td>11</td><td>990</td><td>699</td><td>489</td><td>400</td><td>320</td><td>280</td><td>230</td><td>600</td><td>550</td><td>N/A</td><td>340</td><td>250</td><td>250</td><td>200</td></tr><tr><td>12</td><td>989</td><td>730</td><td>500</td><td>400</td><td>320</td><td>279</td><td>220</td><td>600</td><td>530</td><td>N/A</td><td>350</td><td>275</td><td>250</td><td>200</td></tr><tr><td>13</td><td>1000</td><td>750</td><td>527</td><td>420</td><td>342</td><td>279</td><td>220</td><td>600</td><td>530</td><td>N/A</td><td>350</td><td>280</td><td>250</td><td>200</td></tr><tr><td>14</td><td>1000</td><td>750</td><td>540</td><td>420</td><td>313</td><td>279</td><td>220</td><td>600</td><td>530</td><td>N/A</td><td>370</td><td>280</td><td>250</td><td>202</td></tr><tr><td>15</td><td>1000</td><td>749</td><td>499</td><td>430</td><td>350</td><td>279</td><td>200</td><td>600</td><td>530</td><td>N/A</td><td>380</td><td>288</td><td>240</td><td>202</td></tr><tr><td>16</td><td>1100</td><td>750</td><td>499</td><td>430</td><td>350</td><td>270</td><td>200</td><td>620</td><td>530</td><td>N/A</td><td>380</td><td>288</td><td>240</td><td>202</td></tr><tr><td>17</td><td>1230</td><td>750</td><td>549</td><td>430</td><td>330</td><td>260</td><td>235</td><td>660</td><td>580</td><td>N/A</td><td>390</td><td>310</td><td>250</td><td>200</td></tr><tr><td>18</td><td>1268</td><td>829</td><td>540</td><td>450</td><td>330</td><td>290</td><td>240</td><td>700</td><td>580</td><td>N/A</td><td>390</td><td>310</td><td>250</td><td>200</td></tr><tr><td>19</td><td>1380</td><td>899</td><td>549</td><td>450</td><td>330</td><td>299</td><td>240</td><td>720</td><td>580</td><td>N/A</td><td>400</td><td>310</td><td>260</td><td>200</td></tr><tr><td>20</td><td>1350</td><td>1000</td><td>620</td><td>520</td><td>330</td><td>299</td><td>240</td><td>720</td><td>600</td><td>N/A</td><td>440</td><td>310</td><td>290</td><td>200</td></tr><tr><td>21</td><td>1365</td><td>950</td><td>620</td><td>520</td><td>351</td><td>299</td><td>260</td><td>730</td><td>590</td><td>N/A</td><td>440</td><td>350</td><td>290</td><td>250</td></tr><tr><td>22</td><td>1365</td><td>950</td><td>620</td><td>520</td><td>360</td><td>299</td><td>260</td><td>730</td><td>630</td><td>N/A</td><td>400</td><td>346</td><td>300</td><td>250</td></tr><tr><td>23</td><td>1290</td><td>950</td><td>630</td><td>520</td><td>360</td><td>340</td><td>260</td><td>730</td><td>630</td><td>N/A</td><td>440</td><td>346</td><td>300</td><td>250</td></tr><tr><td>24</td><td>1290</td><td>950</td><td>625</td><td>520</td><td>360</td><td>340</td><td>260</td><td>730</td><td>620</td><td>N/A</td><td>440</td><td>346</td><td>300</td><td>250</td></tr><tr><td>25</td><td>1250</td><td>950</td><td>630</td><td>550</td><td>360</td><td>349</td><td>260</td><td>730</td><td>610</td><td>N/A</td><td>440</td><td>346</td><td>300</td><td>250</td></tr><tr><td>26</td><td>1260</td><td>950</td><td>604</td><td>550</td><td>360</td><td>349</td><td>290</td><td>730</td><td>610</td><td>N/A</td><td>440</td><td>340</td><td>300</td><td>250</td></tr><tr><td>27</td><td>1290</td><td>950</td><td>640</td><td>570</td><td>360</td><td>349</td><td>290</td><td>730</td><td>630</td><td>N/A</td><td>440</td><td>340</td><td>300</td><td>250</td></tr><tr><td>28</td><td>1250</td><td>900</td><td>630</td><td>515</td><td>390</td><td>349</td><td>290</td><td>720</td><td>620</td><td>N/A</td><td>440</td><td>346</td><td>290</td><td>250</td></tr><tr><td>29</td><td>1290</td><td>990</td><td>636</td><td>500</td><td>390</td><td>349</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>449</td><td>350</td><td>290</td><td>250</td></tr><tr><td>30</td><td>1290</td><td>990</td><td>630</td><td>500</td><td>390</td><td>330</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>440</td><td>350</td><td>290</td><td>260</td></tr><tr><td>31</td><td>1290</td><td>990</td><td>599</td><td>500</td><td>380</td><td>330</td><td>290</td><td>670</td><td>620</td><td>N/A</td><td>440</td><td>350</td><td>290</td><td>260</td></tr><tr><td>32</td><td>1290</td><td>990</td><td>599</td><td>515</td><td>380</td><td>310</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>430</td><td>360</td><td>290</td><td>260</td></tr><tr><td>33</td><td>1290</td><td>980</td><td>599</td><td>490</td><td>400</td><td>349</td><td>290</td><td>710</td><td>600</td><td>N/A</td><td>430</td><td>360</td><td>290</td><td>260</td></tr><tr><td>34</td><td>1270</td><td>980</td><td>599</td><td>550</td><td>380</td><td>349</td><td>290</td><td>710</td><td>620</td><td>N/A</td><td>440</td><td>360</td><td>290</td><td>260</td></tr><tr><td>35</td><td>1290</td><td>900</td><td>599</td><td>550</td><td>380</td><td>350</td><td>290</td><td>700</td><td>600</td><td>N/A</td><td>430</td><td>360</td><td>304</td><td>260</td></tr><tr><td>36</td><td>1250</td><td>980</td><td>599</td><td>550</td><td>370</td><td>340</td><td>290</td><td>700</td><td>600</td><td>550</td><td>440</td><td>360</td><td>300</td><td>260</td></tr><tr><td>37</td><td>1250</td><td>980</td><td>599</td><td>570</td><td>370</td><td>340</td><td>290</td><td>700</td><td>600</td><td>550</td><td>440</td><td>350</td><td>304</td><td>250</td></tr><tr><td>38</td><td>1250</td><td>980</td><td>599</td><td>570</td><td>370</td><td>340</td><td>290</td><td>700</td><td>600</td><td>550</td><td>440</td><td>350</td><td>304</td><td>250</td></tr><tr><td>39</td><td>1250</td><td>920</td><td>599</td><td>570</td><td>330</td><td>340</td><td>290</td><td>700</td><td>600</td><td>500</td><td>400</td><td>360</td><td>298</td><td>250</td></tr><tr><td>40</td><td>1250</td><td>955</td><td>599</td><td>565</td><td>330</td><td>340</td><td>290</td><td>700</td><td>600</td><td>500</td><td>430</td><td>360</td><td>291</td><td>260</td></tr><tr><td>41</td><td>1250</td><td>900</td><td>560</td><td>560</td><td>330</td><td>339</td><td>290</td><td>700</td><td>600</td><td>500</td><td>430</td><td>360</td><td>290</td><td>250</td></tr><tr><td>42</td><td>1250</td><td>950</td><td>550</td><td>570</td><td>380</td><td>350</td><td>290</td><td>690</td><td>635</td><td>550</td><td>450</td><td>360</td><td>290</td><td>260</td></tr><tr><td>43</td><td>1290</td><td>1030</td><td>755</td><td>650</td><td>420</td><td>359</td><td>299</td><td>720</td><td>650</td><td>500</td><td>470</td><td>370</td><td>310</td><td>260</td></tr><tr><td>44</td><td>1479</td><td>1088</td><td>763</td><td>780</td><td>420</td><td>N/A</td><td>299</td><td>720</td><td>650</td><td>500</td><td>470</td><td>400</td><td>310</td><td>260</td></tr><tr><td>45</td><td>1550</td><td>1150</td><td>800</td><td>773</td><td>389</td><td>359</td><td>299</td><td>730</td><td>630</td><td>530</td><td>460</td><td>360</td><td>310</td><td>260</td></tr><tr><td>46</td><td>1550</td><td>1150</td><td>759</td><td>570</td><td>389</td><td>359</td><td>299</td><td>740</td><td>650</td><td>530</td><td>470</td><td>400</td><td>310</td><td>260</td></tr><tr><td>47</td><td>1450</td><td>1150</td><td>725</td><td>570</td><td>389</td><td>359</td><td>299</td><td>740</td><td>650</td><td>520</td><td>470</td><td>409</td><td>310</td><td>260</td></tr><tr><td>48</td><td>1450</td><td>1150</td><td>779</td><td>780</td><td>389</td><td>359</td><td>N/A</td><td>760</td><td>650</td><td>500</td><td>470</td><td>430</td><td>330</td><td>260</td></tr><tr><td>49</td><td>1653</td><td>1150</td><td>779</td><td>780</td><td>488</td><td>380</td><td>310</td><td>760</td><td>667</td><td>570</td><td>500</td><td>450</td><td>330</td><td>260</td></tr></tbody></table><script type="application/json" class="riv-line-chart-data">{"products":[{"name":"Nvidia RTX 5080","displayName":"Nvidia RTX 5080","color":"#5bb0c0"},{"name":"Nvidia RTX 5070 Ti","displayName":"Nvidia RTX 5070 Ti","color":"#ffcea9"},{"name":"Nvidia RTX 5070","displayName":"Nvidia RTX 5070","color":"#d26365"},{"name":"Nvidia RTX 5060 Ti 16 GB","displayName":"Nvidia RTX 5060 Ti 16 GB","color":"#e38e4f"},{"name":"Nvidia RTX 5060 Ti 8 GB","displayName":"Nvidia RTX 5060 Ti 8 GB","color":"#75bdd1"},{"name":"Nvidia RTX 5060","displayName":"Nvidia RTX 5060","color":"#e97a7b"},{"name":"Nvidia RTX 5050","displayName":"Nvidia RTX 5050","color":"#D07F46"},{"name":"AMD RX 9070 XT","displayName":"AMD RX 9070 XT","color":"#FFC08B"},{"name":"AMD RX 9070","displayName":"AMD RX 9070","color":"#EB6F71"},{"name":"AMD Radeon RX 9070 GRE","displayName":"AMD Radeon RX 9070 GRE","color":"#E33235"},{"name":"AMD RX 9060 XT 16 GB","displayName":"AMD RX 9060 XT 16 GB","color":"#FE9F58"},{"name":"AMD RX 9060 XT 8 GB","displayName":"AMD RX 9060 XT 8 GB","color":"#1CA9C4"},{"name":"Intel Arc B580","displayName":"Intel Arc B580","color":"#B5282A"},{"name":"Intel Arc B570","displayName":"Intel Arc B570","color":"#66C5D7"}],"timestampUnit":"Week","unit":"Price, $","xAxisLabel":"Week","data":[{"timestamp":1,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":1,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":1,"productName":"AMD RX 9070","value":600},{"timestamp":1,"productName":"AMD RX 9070 XT","value":700},{"timestamp":1,"productName":"Intel Arc B570","value":230},{"timestamp":1,"productName":"Intel Arc B580","value":260},{"timestamp":1,"productName":"Nvidia RTX 5050","value":250},{"timestamp":1,"productName":"Nvidia RTX 5060","value":300},{"timestamp":1,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":1,"productName":"Nvidia RTX 5060 Ti 8 GB","value":368},{"timestamp":1,"productName":"Nvidia RTX 5070","value":550},{"timestamp":1,"productName":"Nvidia RTX 5070 Ti","value":780},{"timestamp":1,"productName":"Nvidia RTX 5080","value":1100},{"timestamp":2,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":2,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":2,"productName":"AMD RX 9070","value":600},{"timestamp":2,"productName":"AMD RX 9070 XT","value":700},{"timestamp":2,"productName":"Intel Arc B570","value":230},{"timestamp":2,"productName":"Intel Arc B580","value":260},{"timestamp":2,"productName":"Nvidia RTX 5050","value":250},{"timestamp":2,"productName":"Nvidia RTX 5060","value":300},{"timestamp":2,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":2,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":2,"productName":"Nvidia RTX 5070","value":550},{"timestamp":2,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":2,"productName":"Nvidia RTX 5080","value":1099},{"timestamp":3,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":3,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":3,"productName":"AMD RX 9070","value":550},{"timestamp":3,"productName":"AMD RX 9070 XT","value":700},{"timestamp":3,"productName":"Intel Arc B570","value":230},{"timestamp":3,"productName":"Intel Arc B580","value":250},{"timestamp":3,"productName":"Nvidia RTX 5050","value":250},{"timestamp":3,"productName":"Nvidia RTX 5060","value":291},{"timestamp":3,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":3,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":3,"productName":"Nvidia RTX 5070","value":524},{"timestamp":3,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":3,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":4,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":4,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":4,"productName":"AMD RX 9070","value":550},{"timestamp":4,"productName":"AMD RX 9070 XT","value":695},{"timestamp":4,"productName":"Intel Arc B570","value":230},{"timestamp":4,"productName":"Intel Arc B580","value":250},{"timestamp":4,"productName":"Nvidia RTX 5050","value":250},{"timestamp":4,"productName":"Nvidia RTX 5060","value":296},{"timestamp":4,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":4,"productName":"Nvidia RTX 5060 Ti 8 GB","value":345},{"timestamp":4,"productName":"Nvidia RTX 5070","value":546},{"timestamp":4,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":4,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":5,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":5,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":5,"productName":"AMD RX 9070","value":600},{"timestamp":5,"productName":"AMD RX 9070 XT","value":670},{"timestamp":5,"productName":"Intel Arc B570","value":230},{"timestamp":5,"productName":"Intel Arc B580","value":250},{"timestamp":5,"productName":"Nvidia RTX 5050","value":250},{"timestamp":5,"productName":"Nvidia RTX 5060","value":300},{"timestamp":5,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":5,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":5,"productName":"Nvidia RTX 5070","value":481},{"timestamp":5,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":5,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":6,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":6,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":6,"productName":"AMD RX 9070","value":600},{"timestamp":6,"productName":"AMD RX 9070 XT","value":670},{"timestamp":6,"productName":"Intel Arc B570","value":230},{"timestamp":6,"productName":"Intel Arc B580","value":250},{"timestamp":6,"productName":"Nvidia RTX 5050","value":240},{"timestamp":6,"productName":"Nvidia RTX 5060","value":289},{"timestamp":6,"productName":"Nvidia RTX 5060 Ti 16 GB","value":379},{"timestamp":6,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":6,"productName":"Nvidia RTX 5070","value":499},{"timestamp":6,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":6,"productName":"Nvidia RTX 5080","value":929},{"timestamp":7,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":7,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":7,"productName":"AMD RX 9070","value":550},{"timestamp":7,"productName":"AMD RX 9070 XT","value":650},{"timestamp":7,"productName":"Intel Arc B570","value":230},{"timestamp":7,"productName":"Intel Arc B580","value":250},{"timestamp":7,"productName":"Nvidia RTX 5050","value":240},{"timestamp":7,"productName":"Nvidia RTX 5060","value":299},{"timestamp":7,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":7,"productName":"Nvidia RTX 5060 Ti 8 GB","value":350},{"timestamp":7,"productName":"Nvidia RTX 5070","value":520},{"timestamp":7,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":7,"productName":"Nvidia RTX 5080","value":999},{"timestamp":8,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":8,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":8,"productName":"AMD RX 9070","value":550},{"timestamp":8,"productName":"AMD RX 9070 XT","value":650},{"timestamp":8,"productName":"Intel Arc B570","value":200},{"timestamp":8,"productName":"Intel Arc B580","value":250},{"timestamp":8,"productName":"Nvidia RTX 5050","value":250},{"timestamp":8,"productName":"Nvidia RTX 5060","value":299},{"timestamp":8,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":8,"productName":"Nvidia RTX 5060 Ti 8 GB","value":342},{"timestamp":8,"productName":"Nvidia RTX 5070","value":500},{"timestamp":8,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":8,"productName":"Nvidia RTX 5080","value":980},{"timestamp":9,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":9,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":9,"productName":"AMD RX 9070","value":560},{"timestamp":9,"productName":"AMD RX 9070 XT","value":650},{"timestamp":9,"productName":"Intel Arc B570","value":220},{"timestamp":9,"productName":"Intel Arc B580","value":250},{"timestamp":9,"productName":"Nvidia RTX 5050","value":250},{"timestamp":9,"productName":"Nvidia RTX 5060","value":299},{"timestamp":9,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":9,"productName":"Nvidia RTX 5060 Ti 8 GB","value":323},{"timestamp":9,"productName":"Nvidia RTX 5070","value":500},{"timestamp":9,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":9,"productName":"Nvidia RTX 5080","value":999},{"timestamp":10,"productName":"AMD RX 9060 XT 16 GB","value":360},{"timestamp":10,"productName":"AMD RX 9060 XT 8 GB","value":270},{"timestamp":10,"productName":"AMD RX 9070","value":550},{"timestamp":10,"productName":"AMD RX 9070 XT","value":600},{"timestamp":10,"productName":"Intel Arc B570","value":210},{"timestamp":10,"productName":"Intel Arc B580","value":250},{"timestamp":10,"productName":"Nvidia RTX 5050","value":250},{"timestamp":10,"productName":"Nvidia RTX 5060","value":299},{"timestamp":10,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":10,"productName":"Nvidia RTX 5060 Ti 8 GB","value":340},{"timestamp":10,"productName":"Nvidia RTX 5070","value":480},{"timestamp":10,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":10,"productName":"Nvidia RTX 5080","value":989},{"timestamp":11,"productName":"AMD RX 9060 XT 16 GB","value":340},{"timestamp":11,"productName":"AMD RX 9060 XT 8 GB","value":250},{"timestamp":11,"productName":"AMD RX 9070","value":550},{"timestamp":11,"productName":"AMD RX 9070 XT","value":600},{"timestamp":11,"productName":"Intel Arc B570","value":200},{"timestamp":11,"productName":"Intel Arc B580","value":250},{"timestamp":11,"productName":"Nvidia RTX 5050","value":230},{"timestamp":11,"productName":"Nvidia RTX 5060","value":280},{"timestamp":11,"productName":"Nvidia RTX 5060 Ti 16 GB","value":400},{"timestamp":11,"productName":"Nvidia RTX 5060 Ti 8 GB","value":320},{"timestamp":11,"productName":"Nvidia RTX 5070","value":489},{"timestamp":11,"productName":"Nvidia RTX 5070 Ti","value":699},{"timestamp":11,"productName":"Nvidia RTX 5080","value":990},{"timestamp":12,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":12,"productName":"AMD RX 9060 XT 8 GB","value":275},{"timestamp":12,"productName":"AMD RX 9070","value":530},{"timestamp":12,"productName":"AMD RX 9070 XT","value":600},{"timestamp":12,"productName":"Intel Arc B570","value":200},{"timestamp":12,"productName":"Intel Arc B580","value":250},{"timestamp":12,"productName":"Nvidia RTX 5050","value":220},{"timestamp":12,"productName":"Nvidia RTX 5060","value":279},{"timestamp":12,"productName":"Nvidia RTX 5060 Ti 16 GB","value":400},{"timestamp":12,"productName":"Nvidia RTX 5060 Ti 8 GB","value":320},{"timestamp":12,"productName":"Nvidia RTX 5070","value":500},{"timestamp":12,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":12,"productName":"Nvidia RTX 5080","value":989},{"timestamp":13,"productName":"AMD RX 9060 XT 16 GB","value":350},{"timestamp":13,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":13,"productName":"AMD RX 9070","value":530},{"timestamp":13,"productName":"AMD RX 9070 XT","value":600},{"timestamp":13,"productName":"Intel Arc B570","value":200},{"timestamp":13,"productName":"Intel Arc B580","value":250},{"timestamp":13,"productName":"Nvidia RTX 5050","value":220},{"timestamp":13,"productName":"Nvidia RTX 5060","value":279},{"timestamp":13,"productName":"Nvidia RTX 5060 Ti 16 GB","value":420},{"timestamp":13,"productName":"Nvidia RTX 5060 Ti 8 GB","value":342},{"timestamp":13,"productName":"Nvidia RTX 5070","value":527},{"timestamp":13,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":13,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":14,"productName":"AMD RX 9060 XT 16 GB","value":370},{"timestamp":14,"productName":"AMD RX 9060 XT 8 GB","value":280},{"timestamp":14,"productName":"AMD RX 9070","value":530},{"timestamp":14,"productName":"AMD RX 9070 XT","value":600},{"timestamp":14,"productName":"Intel Arc B570","value":202},{"timestamp":14,"productName":"Intel Arc B580","value":250},{"timestamp":14,"productName":"Nvidia RTX 5050","value":220},{"timestamp":14,"productName":"Nvidia RTX 5060","value":279},{"timestamp":14,"productName":"Nvidia RTX 5060 Ti 16 GB","value":420},{"timestamp":14,"productName":"Nvidia RTX 5060 Ti 8 GB","value":313},{"timestamp":14,"productName":"Nvidia RTX 5070","value":540},{"timestamp":14,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":14,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":15,"productName":"AMD RX 9060 XT 16 GB","value":380},{"timestamp":15,"productName":"AMD RX 9060 XT 8 GB","value":288},{"timestamp":15,"productName":"AMD RX 9070","value":530},{"timestamp":15,"productName":"AMD RX 9070 XT","value":600},{"timestamp":15,"productName":"Intel Arc B570","value":202},{"timestamp":15,"productName":"Intel Arc B580","value":240},{"timestamp":15,"productName":"Nvidia RTX 5050","value":200},{"timestamp":15,"productName":"Nvidia RTX 5060","value":279},{"timestamp":15,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":15,"productName":"Nvidia RTX 5060 Ti 8 GB","value":350},{"timestamp":15,"productName":"Nvidia RTX 5070","value":499},{"timestamp":15,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":15,"productName":"Nvidia RTX 5080","value":1000},{"timestamp":16,"productName":"AMD RX 9060 XT 16 GB","value":380},{"timestamp":16,"productName":"AMD RX 9060 XT 8 GB","value":288},{"timestamp":16,"productName":"AMD RX 9070","value":530},{"timestamp":16,"productName":"AMD RX 9070 XT","value":620},{"timestamp":16,"productName":"Intel Arc B570","value":202},{"timestamp":16,"productName":"Intel Arc B580","value":240},{"timestamp":16,"productName":"Nvidia RTX 5050","value":200},{"timestamp":16,"productName":"Nvidia RTX 5060","value":270},{"timestamp":16,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":16,"productName":"Nvidia RTX 5060 Ti 8 GB","value":350},{"timestamp":16,"productName":"Nvidia RTX 5070","value":499},{"timestamp":16,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":16,"productName":"Nvidia RTX 5080","value":1100},{"timestamp":17,"productName":"AMD RX 9060 XT 16 GB","value":390},{"timestamp":17,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":17,"productName":"AMD RX 9070","value":580},{"timestamp":17,"productName":"AMD RX 9070 XT","value":660},{"timestamp":17,"productName":"Intel Arc B570","value":200},{"timestamp":17,"productName":"Intel Arc B580","value":250},{"timestamp":17,"productName":"Nvidia RTX 5050","value":235},{"timestamp":17,"productName":"Nvidia RTX 5060","value":260},{"timestamp":17,"productName":"Nvidia RTX 5060 Ti 16 GB","value":430},{"timestamp":17,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":17,"productName":"Nvidia RTX 5070","value":549},{"timestamp":17,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":17,"productName":"Nvidia RTX 5080","value":1230},{"timestamp":18,"productName":"AMD RX 9060 XT 16 GB","value":390},{"timestamp":18,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":18,"productName":"AMD RX 9070","value":580},{"timestamp":18,"productName":"AMD RX 9070 XT","value":700},{"timestamp":18,"productName":"Intel Arc B570","value":200},{"timestamp":18,"productName":"Intel Arc B580","value":250},{"timestamp":18,"productName":"Nvidia RTX 5050","value":240},{"timestamp":18,"productName":"Nvidia RTX 5060","value":290},{"timestamp":18,"productName":"Nvidia RTX 5060 Ti 16 GB","value":450},{"timestamp":18,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":18,"productName":"Nvidia RTX 5070","value":540},{"timestamp":18,"productName":"Nvidia RTX 5070 Ti","value":829},{"timestamp":18,"productName":"Nvidia RTX 5080","value":1268},{"timestamp":19,"productName":"AMD RX 9060 XT 16 GB","value":400},{"timestamp":19,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":19,"productName":"AMD RX 9070","value":580},{"timestamp":19,"productName":"AMD RX 9070 XT","value":720},{"timestamp":19,"productName":"Intel Arc B570","value":200},{"timestamp":19,"productName":"Intel Arc B580","value":260},{"timestamp":19,"productName":"Nvidia RTX 5050","value":240},{"timestamp":19,"productName":"Nvidia RTX 5060","value":299},{"timestamp":19,"productName":"Nvidia RTX 5060 Ti 16 GB","value":450},{"timestamp":19,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":19,"productName":"Nvidia RTX 5070","value":549},{"timestamp":19,"productName":"Nvidia RTX 5070 Ti","value":899},{"timestamp":19,"productName":"Nvidia RTX 5080","value":1380},{"timestamp":20,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":20,"productName":"AMD RX 9060 XT 8 GB","value":310},{"timestamp":20,"productName":"AMD RX 9070","value":600},{"timestamp":20,"productName":"AMD RX 9070 XT","value":720},{"timestamp":20,"productName":"Intel Arc B570","value":200},{"timestamp":20,"productName":"Intel Arc B580","value":290},{"timestamp":20,"productName":"Nvidia RTX 5050","value":240},{"timestamp":20,"productName":"Nvidia RTX 5060","value":299},{"timestamp":20,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":20,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":20,"productName":"Nvidia RTX 5070","value":620},{"timestamp":20,"productName":"Nvidia RTX 5070 Ti","value":1000},{"timestamp":20,"productName":"Nvidia RTX 5080","value":1350},{"timestamp":21,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":21,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":21,"productName":"AMD RX 9070","value":590},{"timestamp":21,"productName":"AMD RX 9070 XT","value":730},{"timestamp":21,"productName":"Intel Arc B570","value":250},{"timestamp":21,"productName":"Intel Arc B580","value":290},{"timestamp":21,"productName":"Nvidia RTX 5050","value":260},{"timestamp":21,"productName":"Nvidia RTX 5060","value":299},{"timestamp":21,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":21,"productName":"Nvidia RTX 5060 Ti 8 GB","value":351},{"timestamp":21,"productName":"Nvidia RTX 5070","value":620},{"timestamp":21,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":21,"productName":"Nvidia RTX 5080","value":1365},{"timestamp":22,"productName":"AMD RX 9060 XT 16 GB","value":400},{"timestamp":22,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":22,"productName":"AMD RX 9070","value":630},{"timestamp":22,"productName":"AMD RX 9070 XT","value":730},{"timestamp":22,"productName":"Intel Arc B570","value":250},{"timestamp":22,"productName":"Intel Arc B580","value":300},{"timestamp":22,"productName":"Nvidia RTX 5050","value":260},{"timestamp":22,"productName":"Nvidia RTX 5060","value":299},{"timestamp":22,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":22,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":22,"productName":"Nvidia RTX 5070","value":620},{"timestamp":22,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":22,"productName":"Nvidia RTX 5080","value":1365},{"timestamp":23,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":23,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":23,"productName":"AMD RX 9070","value":630},{"timestamp":23,"productName":"AMD RX 9070 XT","value":730},{"timestamp":23,"productName":"Intel Arc B570","value":250},{"timestamp":23,"productName":"Intel Arc B580","value":300},{"timestamp":23,"productName":"Nvidia RTX 5050","value":260},{"timestamp":23,"productName":"Nvidia RTX 5060","value":340},{"timestamp":23,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":23,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":23,"productName":"Nvidia RTX 5070","value":630},{"timestamp":23,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":23,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":24,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":24,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":24,"productName":"AMD RX 9070","value":620},{"timestamp":24,"productName":"AMD RX 9070 XT","value":730},{"timestamp":24,"productName":"Intel Arc B570","value":250},{"timestamp":24,"productName":"Intel Arc B580","value":300},{"timestamp":24,"productName":"Nvidia RTX 5050","value":260},{"timestamp":24,"productName":"Nvidia RTX 5060","value":340},{"timestamp":24,"productName":"Nvidia RTX 5060 Ti 16 GB","value":520},{"timestamp":24,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":24,"productName":"Nvidia RTX 5070","value":625},{"timestamp":24,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":24,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":25,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":25,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":25,"productName":"AMD RX 9070","value":610},{"timestamp":25,"productName":"AMD RX 9070 XT","value":730},{"timestamp":25,"productName":"Intel Arc B570","value":250},{"timestamp":25,"productName":"Intel Arc B580","value":300},{"timestamp":25,"productName":"Nvidia RTX 5050","value":260},{"timestamp":25,"productName":"Nvidia RTX 5060","value":349},{"timestamp":25,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":25,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":25,"productName":"Nvidia RTX 5070","value":630},{"timestamp":25,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":25,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":26,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":26,"productName":"AMD RX 9060 XT 8 GB","value":340},{"timestamp":26,"productName":"AMD RX 9070","value":610},{"timestamp":26,"productName":"AMD RX 9070 XT","value":730},{"timestamp":26,"productName":"Intel Arc B570","value":250},{"timestamp":26,"productName":"Intel Arc B580","value":300},{"timestamp":26,"productName":"Nvidia RTX 5050","value":290},{"timestamp":26,"productName":"Nvidia RTX 5060","value":349},{"timestamp":26,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":26,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":26,"productName":"Nvidia RTX 5070","value":604},{"timestamp":26,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":26,"productName":"Nvidia RTX 5080","value":1260},{"timestamp":27,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":27,"productName":"AMD RX 9060 XT 8 GB","value":340},{"timestamp":27,"productName":"AMD RX 9070","value":630},{"timestamp":27,"productName":"AMD RX 9070 XT","value":730},{"timestamp":27,"productName":"Intel Arc B570","value":250},{"timestamp":27,"productName":"Intel Arc B580","value":300},{"timestamp":27,"productName":"Nvidia RTX 5050","value":290},{"timestamp":27,"productName":"Nvidia RTX 5060","value":349},{"timestamp":27,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":27,"productName":"Nvidia RTX 5060 Ti 8 GB","value":360},{"timestamp":27,"productName":"Nvidia RTX 5070","value":640},{"timestamp":27,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":27,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":28,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":28,"productName":"AMD RX 9060 XT 8 GB","value":346},{"timestamp":28,"productName":"AMD RX 9070","value":620},{"timestamp":28,"productName":"AMD RX 9070 XT","value":720},{"timestamp":28,"productName":"Intel Arc B570","value":250},{"timestamp":28,"productName":"Intel Arc B580","value":290},{"timestamp":28,"productName":"Nvidia RTX 5050","value":290},{"timestamp":28,"productName":"Nvidia RTX 5060","value":349},{"timestamp":28,"productName":"Nvidia RTX 5060 Ti 16 GB","value":515},{"timestamp":28,"productName":"Nvidia RTX 5060 Ti 8 GB","value":390},{"timestamp":28,"productName":"Nvidia RTX 5070","value":630},{"timestamp":28,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":28,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":29,"productName":"AMD RX 9060 XT 16 GB","value":449},{"timestamp":29,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":29,"productName":"AMD RX 9070","value":620},{"timestamp":29,"productName":"AMD RX 9070 XT","value":710},{"timestamp":29,"productName":"Intel Arc B570","value":250},{"timestamp":29,"productName":"Intel Arc B580","value":290},{"timestamp":29,"productName":"Nvidia RTX 5050","value":290},{"timestamp":29,"productName":"Nvidia RTX 5060","value":349},{"timestamp":29,"productName":"Nvidia RTX 5060 Ti 16 GB","value":500},{"timestamp":29,"productName":"Nvidia RTX 5060 Ti 8 GB","value":390},{"timestamp":29,"productName":"Nvidia RTX 5070","value":636},{"timestamp":29,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":29,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":30,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":30,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":30,"productName":"AMD RX 9070","value":620},{"timestamp":30,"productName":"AMD RX 9070 XT","value":710},{"timestamp":30,"productName":"Intel Arc B570","value":260},{"timestamp":30,"productName":"Intel Arc B580","value":290},{"timestamp":30,"productName":"Nvidia RTX 5050","value":290},{"timestamp":30,"productName":"Nvidia RTX 5060","value":330},{"timestamp":30,"productName":"Nvidia RTX 5060 Ti 16 GB","value":500},{"timestamp":30,"productName":"Nvidia RTX 5060 Ti 8 GB","value":390},{"timestamp":30,"productName":"Nvidia RTX 5070","value":630},{"timestamp":30,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":30,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":31,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":31,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":31,"productName":"AMD RX 9070","value":620},{"timestamp":31,"productName":"AMD RX 9070 XT","value":670},{"timestamp":31,"productName":"Intel Arc B570","value":260},{"timestamp":31,"productName":"Intel Arc B580","value":290},{"timestamp":31,"productName":"Nvidia RTX 5050","value":290},{"timestamp":31,"productName":"Nvidia RTX 5060","value":330},{"timestamp":31,"productName":"Nvidia RTX 5060 Ti 16 GB","value":500},{"timestamp":31,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":31,"productName":"Nvidia RTX 5070","value":599},{"timestamp":31,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":31,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":32,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":32,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":32,"productName":"AMD RX 9070","value":620},{"timestamp":32,"productName":"AMD RX 9070 XT","value":710},{"timestamp":32,"productName":"Intel Arc B570","value":260},{"timestamp":32,"productName":"Intel Arc B580","value":290},{"timestamp":32,"productName":"Nvidia RTX 5050","value":290},{"timestamp":32,"productName":"Nvidia RTX 5060","value":310},{"timestamp":32,"productName":"Nvidia RTX 5060 Ti 16 GB","value":515},{"timestamp":32,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":32,"productName":"Nvidia RTX 5070","value":599},{"timestamp":32,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":32,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":33,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":33,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":33,"productName":"AMD RX 9070","value":600},{"timestamp":33,"productName":"AMD RX 9070 XT","value":710},{"timestamp":33,"productName":"Intel Arc B570","value":260},{"timestamp":33,"productName":"Intel Arc B580","value":290},{"timestamp":33,"productName":"Nvidia RTX 5050","value":290},{"timestamp":33,"productName":"Nvidia RTX 5060","value":349},{"timestamp":33,"productName":"Nvidia RTX 5060 Ti 16 GB","value":490},{"timestamp":33,"productName":"Nvidia RTX 5060 Ti 8 GB","value":400},{"timestamp":33,"productName":"Nvidia RTX 5070","value":599},{"timestamp":33,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":33,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":34,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":34,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":34,"productName":"AMD RX 9070","value":620},{"timestamp":34,"productName":"AMD RX 9070 XT","value":710},{"timestamp":34,"productName":"Intel Arc B570","value":260},{"timestamp":34,"productName":"Intel Arc B580","value":290},{"timestamp":34,"productName":"Nvidia RTX 5050","value":290},{"timestamp":34,"productName":"Nvidia RTX 5060","value":349},{"timestamp":34,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":34,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":34,"productName":"Nvidia RTX 5070","value":599},{"timestamp":34,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":34,"productName":"Nvidia RTX 5080","value":1270},{"timestamp":35,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":35,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":35,"productName":"AMD RX 9070","value":600},{"timestamp":35,"productName":"AMD RX 9070 XT","value":700},{"timestamp":35,"productName":"Intel Arc B570","value":260},{"timestamp":35,"productName":"Intel Arc B580","value":304},{"timestamp":35,"productName":"Nvidia RTX 5050","value":290},{"timestamp":35,"productName":"Nvidia RTX 5060","value":350},{"timestamp":35,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":35,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":35,"productName":"Nvidia RTX 5070","value":599},{"timestamp":35,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":35,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":36,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":36,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":36,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":36,"productName":"AMD RX 9070","value":600},{"timestamp":36,"productName":"AMD RX 9070 XT","value":700},{"timestamp":36,"productName":"Intel Arc B570","value":260},{"timestamp":36,"productName":"Intel Arc B580","value":300},{"timestamp":36,"productName":"Nvidia RTX 5050","value":290},{"timestamp":36,"productName":"Nvidia RTX 5060","value":340},{"timestamp":36,"productName":"Nvidia RTX 5060 Ti 16 GB","value":550},{"timestamp":36,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":36,"productName":"Nvidia RTX 5070","value":599},{"timestamp":36,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":36,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":37,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":37,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":37,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":37,"productName":"AMD RX 9070","value":600},{"timestamp":37,"productName":"AMD RX 9070 XT","value":700},{"timestamp":37,"productName":"Intel Arc B570","value":250},{"timestamp":37,"productName":"Intel Arc B580","value":304},{"timestamp":37,"productName":"Nvidia RTX 5050","value":290},{"timestamp":37,"productName":"Nvidia RTX 5060","value":340},{"timestamp":37,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":37,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":37,"productName":"Nvidia RTX 5070","value":599},{"timestamp":37,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":37,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":38,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":38,"productName":"AMD RX 9060 XT 16 GB","value":440},{"timestamp":38,"productName":"AMD RX 9060 XT 8 GB","value":350},{"timestamp":38,"productName":"AMD RX 9070","value":600},{"timestamp":38,"productName":"AMD RX 9070 XT","value":700},{"timestamp":38,"productName":"Intel Arc B570","value":250},{"timestamp":38,"productName":"Intel Arc B580","value":304},{"timestamp":38,"productName":"Nvidia RTX 5050","value":290},{"timestamp":38,"productName":"Nvidia RTX 5060","value":340},{"timestamp":38,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":38,"productName":"Nvidia RTX 5060 Ti 8 GB","value":370},{"timestamp":38,"productName":"Nvidia RTX 5070","value":599},{"timestamp":38,"productName":"Nvidia RTX 5070 Ti","value":980},{"timestamp":38,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":39,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":39,"productName":"AMD RX 9060 XT 16 GB","value":400},{"timestamp":39,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":39,"productName":"AMD RX 9070","value":600},{"timestamp":39,"productName":"AMD RX 9070 XT","value":700},{"timestamp":39,"productName":"Intel Arc B570","value":250},{"timestamp":39,"productName":"Intel Arc B580","value":298},{"timestamp":39,"productName":"Nvidia RTX 5050","value":290},{"timestamp":39,"productName":"Nvidia RTX 5060","value":340},{"timestamp":39,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":39,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":39,"productName":"Nvidia RTX 5070","value":599},{"timestamp":39,"productName":"Nvidia RTX 5070 Ti","value":920},{"timestamp":39,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":40,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":40,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":40,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":40,"productName":"AMD RX 9070","value":600},{"timestamp":40,"productName":"AMD RX 9070 XT","value":700},{"timestamp":40,"productName":"Intel Arc B570","value":260},{"timestamp":40,"productName":"Intel Arc B580","value":291},{"timestamp":40,"productName":"Nvidia RTX 5050","value":290},{"timestamp":40,"productName":"Nvidia RTX 5060","value":340},{"timestamp":40,"productName":"Nvidia RTX 5060 Ti 16 GB","value":565},{"timestamp":40,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":40,"productName":"Nvidia RTX 5070","value":599},{"timestamp":40,"productName":"Nvidia RTX 5070 Ti","value":955},{"timestamp":40,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":41,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":41,"productName":"AMD RX 9060 XT 16 GB","value":430},{"timestamp":41,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":41,"productName":"AMD RX 9070","value":600},{"timestamp":41,"productName":"AMD RX 9070 XT","value":700},{"timestamp":41,"productName":"Intel Arc B570","value":250},{"timestamp":41,"productName":"Intel Arc B580","value":290},{"timestamp":41,"productName":"Nvidia RTX 5050","value":290},{"timestamp":41,"productName":"Nvidia RTX 5060","value":339},{"timestamp":41,"productName":"Nvidia RTX 5060 Ti 16 GB","value":560},{"timestamp":41,"productName":"Nvidia RTX 5060 Ti 8 GB","value":330},{"timestamp":41,"productName":"Nvidia RTX 5070","value":560},{"timestamp":41,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":41,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":42,"productName":"AMD Radeon RX 9070 GRE","value":550},{"timestamp":42,"productName":"AMD RX 9060 XT 16 GB","value":450},{"timestamp":42,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":42,"productName":"AMD RX 9070","value":635},{"timestamp":42,"productName":"AMD RX 9070 XT","value":690},{"timestamp":42,"productName":"Intel Arc B570","value":260},{"timestamp":42,"productName":"Intel Arc B580","value":290},{"timestamp":42,"productName":"Nvidia RTX 5050","value":290},{"timestamp":42,"productName":"Nvidia RTX 5060","value":350},{"timestamp":42,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":42,"productName":"Nvidia RTX 5060 Ti 8 GB","value":380},{"timestamp":42,"productName":"Nvidia RTX 5070","value":550},{"timestamp":42,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":42,"productName":"Nvidia RTX 5080","value":1250},{"timestamp":43,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":43,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":43,"productName":"AMD RX 9060 XT 8 GB","value":370},{"timestamp":43,"productName":"AMD RX 9070","value":650},{"timestamp":43,"productName":"AMD RX 9070 XT","value":720},{"timestamp":43,"productName":"Intel Arc B570","value":260},{"timestamp":43,"productName":"Intel Arc B580","value":310},{"timestamp":43,"productName":"Nvidia RTX 5050","value":299},{"timestamp":43,"productName":"Nvidia RTX 5060","value":359},{"timestamp":43,"productName":"Nvidia RTX 5060 Ti 16 GB","value":650},{"timestamp":43,"productName":"Nvidia RTX 5060 Ti 8 GB","value":420},{"timestamp":43,"productName":"Nvidia RTX 5070","value":755},{"timestamp":43,"productName":"Nvidia RTX 5070 Ti","value":1030},{"timestamp":43,"productName":"Nvidia RTX 5080","value":1290},{"timestamp":44,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":44,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":44,"productName":"AMD RX 9060 XT 8 GB","value":400},{"timestamp":44,"productName":"AMD RX 9070","value":650},{"timestamp":44,"productName":"AMD RX 9070 XT","value":720},{"timestamp":44,"productName":"Intel Arc B570","value":260},{"timestamp":44,"productName":"Intel Arc B580","value":310},{"timestamp":44,"productName":"Nvidia RTX 5050","value":299},{"timestamp":44,"productName":"Nvidia RTX 5060 Ti 16 GB","value":780},{"timestamp":44,"productName":"Nvidia RTX 5060 Ti 8 GB","value":420},{"timestamp":44,"productName":"Nvidia RTX 5070","value":763},{"timestamp":44,"productName":"Nvidia RTX 5070 Ti","value":1088},{"timestamp":44,"productName":"Nvidia RTX 5080","value":1479},{"timestamp":45,"productName":"AMD Radeon RX 9070 GRE","value":530},{"timestamp":45,"productName":"AMD RX 9060 XT 16 GB","value":460},{"timestamp":45,"productName":"AMD RX 9060 XT 8 GB","value":360},{"timestamp":45,"productName":"AMD RX 9070","value":630},{"timestamp":45,"productName":"AMD RX 9070 XT","value":730},{"timestamp":45,"productName":"Intel Arc B570","value":260},{"timestamp":45,"productName":"Intel Arc B580","value":310},{"timestamp":45,"productName":"Nvidia RTX 5050","value":299},{"timestamp":45,"productName":"Nvidia RTX 5060","value":359},{"timestamp":45,"productName":"Nvidia RTX 5060 Ti 16 GB","value":773},{"timestamp":45,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":45,"productName":"Nvidia RTX 5070","value":800},{"timestamp":45,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":45,"productName":"Nvidia RTX 5080","value":1550},{"timestamp":46,"productName":"AMD Radeon RX 9070 GRE","value":530},{"timestamp":46,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":46,"productName":"AMD RX 9060 XT 8 GB","value":400},{"timestamp":46,"productName":"AMD RX 9070","value":650},{"timestamp":46,"productName":"AMD RX 9070 XT","value":740},{"timestamp":46,"productName":"Intel Arc B570","value":260},{"timestamp":46,"productName":"Intel Arc B580","value":310},{"timestamp":46,"productName":"Nvidia RTX 5050","value":299},{"timestamp":46,"productName":"Nvidia RTX 5060","value":359},{"timestamp":46,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":46,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":46,"productName":"Nvidia RTX 5070","value":759},{"timestamp":46,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":46,"productName":"Nvidia RTX 5080","value":1550},{"timestamp":47,"productName":"AMD Radeon RX 9070 GRE","value":520},{"timestamp":47,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":47,"productName":"AMD RX 9060 XT 8 GB","value":409},{"timestamp":47,"productName":"AMD RX 9070","value":650},{"timestamp":47,"productName":"AMD RX 9070 XT","value":740},{"timestamp":47,"productName":"Intel Arc B570","value":260},{"timestamp":47,"productName":"Intel Arc B580","value":310},{"timestamp":47,"productName":"Nvidia RTX 5050","value":299},{"timestamp":47,"productName":"Nvidia RTX 5050","value":299},{"timestamp":47,"productName":"Nvidia RTX 5060","value":359},{"timestamp":47,"productName":"Nvidia RTX 5060 Ti 16 GB","value":570},{"timestamp":47,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":47,"productName":"Nvidia RTX 5070","value":725},{"timestamp":47,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":47,"productName":"Nvidia RTX 5080","value":1450},{"timestamp":48,"productName":"AMD Radeon RX 9070 GRE","value":500},{"timestamp":48,"productName":"AMD RX 9060 XT 16 GB","value":470},{"timestamp":48,"productName":"AMD RX 9060 XT 8 GB","value":430},{"timestamp":48,"productName":"AMD RX 9070","value":650},{"timestamp":48,"productName":"AMD RX 9070 XT","value":760},{"timestamp":48,"productName":"Intel Arc B570","value":260},{"timestamp":48,"productName":"Intel Arc B580","value":330},{"timestamp":48,"productName":"Nvidia RTX 5060","value":359},{"timestamp":48,"productName":"Nvidia RTX 5060 Ti 16 GB","value":780},{"timestamp":48,"productName":"Nvidia RTX 5060 Ti 8 GB","value":389},{"timestamp":48,"productName":"Nvidia RTX 5070","value":779},{"timestamp":48,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":48,"productName":"Nvidia RTX 5080","value":1450},{"timestamp":49,"productName":"AMD Radeon RX 9070 GRE","value":570},{"timestamp":49,"productName":"AMD RX 9060 XT 16 GB","value":500},{"timestamp":49,"productName":"AMD RX 9060 XT 8 GB","value":450},{"timestamp":49,"productName":"AMD RX 9070","value":667},{"timestamp":49,"productName":"AMD RX 9070 XT","value":760},{"timestamp":49,"productName":"Intel Arc B570","value":260},{"timestamp":49,"productName":"Intel Arc B580","value":330},{"timestamp":49,"productName":"Nvidia RTX 5050","value":310},{"timestamp":49,"productName":"Nvidia RTX 5060","value":380},{"timestamp":49,"productName":"Nvidia RTX 5060 Ti 16 GB","value":780},{"timestamp":49,"productName":"Nvidia RTX 5060 Ti 8 GB","value":488},{"timestamp":49,"productName":"Nvidia RTX 5070","value":779},{"timestamp":49,"productName":"Nvidia RTX 5070 Ti","value":1150},{"timestamp":49,"productName":"Nvidia RTX 5080","value":1653}],"xMin":1,"xMax":49,"yMin":0,"yMax":2000}</script></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790867600756-p0oh86j9j', false); });} else {initialize('fv-chart-1790867600756-p0oh86j9j', false);}})();</script></div><p>When our Dave <a href="https://www.pcgamer.com/hardware/graphics-cards/intel-arc-b580-review/" target="_blank">reviewed the Intel Arc B580</a>, he concluded that it's a great budget GPU when it works, but there are games where it doesn't perform well and some where it doesn't work at all. Things have improved since then, but Intel GPUs are still more inconsistent than Nvidia and AMD ones.</p><p>Both <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/heres-why-im-hoping-to-score-lunar-lake-inside-my-next-handheld-gaming-pc-intels-core-ultra-7-258v-tested-in-games" target="_blank">Intel Lunar Lake (eg, Arc 140V)</a> and more recent <a href="https://www.pcgamer.com/hardware/graphics-cards/fast-feisty-fabulous-ive-benchmarked-intels-new-panther-lake-processor-and-its-dragging-gaming-laptop-performance-out-of-integrated-graphics/" target="_blank">Panther Lake (eg, Arc B390)</a> are very efficient GPUs that make for some snappy laptops—especially the latter. But there's always a risk of inconsistency in games, and giant performance improvements from driver updates testify to this.</p><p>Still, the continued improvement is great to see, even for older Arc GPUs. Especially considering Intel graphics cards are some of the cheapest modern ones and have managed to stave off a lot of the impact of the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon" target="_blank">global memory shortage</a>. As you can see from the chart above, the cheapest Arc B570 and Arc B580 cards have stayed relatively stable in price, and very cheap for the current market.</p><p>At any rate, whether you're rocking a discrete Intel GPU or some integrated Arc graphics, you might want to check out your performance in some of those games after an update. You can <a href="https://www.intel.com/content/www/us/en/download/785597/intel-arc-graphics-windows.html" target="_blank">download the latest driver here</a>.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 3 months after launch, Riot announces League of Legends Classic will be killed in January: 'most have gone back to other parts of League' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>League of Legends Classic was Riot's attempt to capitalise on nostalgia for vintage-era LoL. It stripped away most of the champions and kits introduced since 2013, reverted to an older version of the Summoner's Rift map, and promised to roll out "new" old Champions at a faster clip than in the olden days. </p><p>But the nostalgia Riot must have hoped would sustain the mode hasn't proven sufficient enough to keep it running: the mode will go offline in January 2027, only six months after its launch.</p><p>"We’ve seen a lot of players have fun revisiting the olden days with Classic," a Riot spokesperson wrote in a <a href="https://www.leagueoflegends.com/en-gb/news/dev/dev-league-classic/">new update</a>. "At this point though, most have gone back to other parts of League."</p><p>As a result, the current season will be the last. "We’ll then put Classic back in the box for now, with the goal of bringing it back, likely as an event mode with adjustments and additions."</p><p>It continues: "There’s more we’re going to share in the future about what we learned from this run. That includes where we think we got Classic right, where we could have gone more classic, and where sticking too closely to the past may have held the experience back."</p><p>Refunds will be issued for Classic content rendered obsolete by the closure. And it's not the end of the line yet: there are at least seven more Champions still to roll out, including Mordekaiser, Yorick, Hecarim and Lucian in the forthcoming 26.21 update, and Vilibear, Urgot and Udyr in future ones.</p><p>"This game mode was a true labor of love from so many Rioters, and seeing you all dive back in to reclaim the nostalgia, reconnect with old friends, and relive your glory days made it a truly special moment for everyone. We will keep exploring different ways to play League and as always, we appreciate all of your feedback. Every post on social media asking for Classic, every vote cast in the Council, and every minute spent leashing for your jungler again helped us bring this to life, so thank you very much."</p><p>What was wrong with Classic? Back in August, League of Legends esports veteran Alex Chu (also known as Xpecial) offered <a href="https://x.com/Xpecial/status/2087164887080513539">his thoughts</a> on why uptake might be slow for players accustomed to modern LoL. His words came at a time when a lot of the LoL community were criticising the concept.</p><p>Chu then speculated a future for Classic that never eventuated, or at least, likely won't now. </p><p>"The interesting part is what happens now that the reins are loosened," he added. "We could end up with a version of League that players vote for things that would never fly with a mass audience. More complicated drafts. The ability to ban a champion for an entire season. Forcing a marksman mid meta or a mage bot meta just because the council wants to see it. Modern League can't do any of that, because modern League has to appeal to everyone. Classic only has to appeal to enough people."</p><p>Chu's thoughts aside, it's possible that old LoL just doesn't have the nostalgic appeal of old World of Warcraft, old Runescape, or old Guild Wars. Those are spaces you inhabit and they are generally less high pressure and adversarial. They become a kind of home away from home, whereas LoL is always just a hugely competitive MOBA. A good one that you can build a lifestyle around, but a MMORPG it ain't.</p><p>LoL also evolves much faster than those older MMOs did. Back in 2013, LoL was receiving new champions every two to three weeks, which could affect the whole experience. By contrast, MMOs at the time generally only received seismic updates on a yearly basis at most: much more time for a game condition to sink in.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/moba/3-months-after-launch-riot-announces-league-of-legends-classic-will-be-killed-in-january-most-have-gone-back-to-other-parts-of-league/</link>
                                                                            <description>
                            <![CDATA[ New Champions will continue to roll out for now. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">g6E2BqVgXvuYAVJVajX6EZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/voiosBLrdbXaH9CJPAwjeX-1920-80.webp" type="image/webp" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 23:56:26 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[MOBA]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ shaun.prescott@futurenet.com (Shaun Prescott) ]]></author>                    <dc:creator><![CDATA[ Shaun Prescott ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/webp" url="https://cdn.mos.cms.futurecdn.net/voiosBLrdbXaH9CJPAwjeX-1920-80.webp">
                                                            <media:credit><![CDATA[Riot Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Key art for League of Legends Classic, showing a large group of Champions wielding weapons in a surreal blue environment]]></media:description>                                                            <media:text><![CDATA[Key art for League of Legends Classic, showing a large group of Champions wielding weapons in a surreal blue environment]]></media:text>
                                <media:title type="plain"><![CDATA[Key art for League of Legends Classic, showing a large group of Champions wielding weapons in a surreal blue environment]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/voiosBLrdbXaH9CJPAwjeX-1920-80.webp" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>League of Legends Classic was Riot's attempt to capitalise on nostalgia for vintage-era LoL. It stripped away most of the champions and kits introduced since 2013, reverted to an older version of the Summoner's Rift map, and promised to roll out "new" old Champions at a faster clip than in the olden days. </p><p>But the nostalgia Riot must have hoped would sustain the mode hasn't proven sufficient enough to keep it running: the mode will go offline in January 2027, only six months after its launch.</p><p>"We’ve seen a lot of players have fun revisiting the olden days with Classic," a Riot spokesperson wrote in a <a href="https://www.leagueoflegends.com/en-gb/news/dev/dev-league-classic/">new update</a>. "At this point though, most have gone back to other parts of League."</p><p>As a result, the current season will be the last. "We’ll then put Classic back in the box for now, with the goal of bringing it back, likely as an event mode with adjustments and additions."</p><p>It continues: "There’s more we’re going to share in the future about what we learned from this run. That includes where we think we got Classic right, where we could have gone more classic, and where sticking too closely to the past may have held the experience back."</p><p>Refunds will be issued for Classic content rendered obsolete by the closure. And it's not the end of the line yet: there are at least seven more Champions still to roll out, including Mordekaiser, Yorick, Hecarim and Lucian in the forthcoming 26.21 update, and Vilibear, Urgot and Udyr in future ones.</p><p>"This game mode was a true labor of love from so many Rioters, and seeing you all dive back in to reclaim the nostalgia, reconnect with old friends, and relive your glory days made it a truly special moment for everyone. We will keep exploring different ways to play League and as always, we appreciate all of your feedback. Every post on social media asking for Classic, every vote cast in the Council, and every minute spent leashing for your jungler again helped us bring this to life, so thank you very much."</p><p>What was wrong with Classic? Back in August, League of Legends esports veteran Alex Chu (also known as Xpecial) offered <a href="https://x.com/Xpecial/status/2087164887080513539">his thoughts</a> on why uptake might be slow for players accustomed to modern LoL. His words came at a time when a lot of the LoL community were criticising the concept.</p><p>Chu then speculated a future for Classic that never eventuated, or at least, likely won't now. </p><p>"The interesting part is what happens now that the reins are loosened," he added. "We could end up with a version of League that players vote for things that would never fly with a mass audience. More complicated drafts. The ability to ban a champion for an entire season. Forcing a marksman mid meta or a mage bot meta just because the council wants to see it. Modern League can't do any of that, because modern League has to appeal to everyone. Classic only has to appeal to enough people."</p><p>Chu's thoughts aside, it's possible that old LoL just doesn't have the nostalgic appeal of old World of Warcraft, old Runescape, or old Guild Wars. Those are spaces you inhabit and they are generally less high pressure and adversarial. They become a kind of home away from home, whereas LoL is always just a hugely competitive MOBA. A good one that you can build a lifestyle around, but a MMORPG it ain't.</p><p>LoL also evolves much faster than those older MMOs did. Back in 2013, LoL was receiving new champions every two to three weeks, which could affect the whole experience. By contrast, MMOs at the time generally only received seismic updates on a yearly basis at most: much more time for a game condition to sink in.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ State lawsuits accuse OpenAI of ignoring its own safety warnings for profit: 'All these harms were foreseeable and avoidable' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The attorney generals for eight US states announced today that they are suing OpenAI.</p><p>West Virginia, Iowa, Kansas, Nebraska, Arkansas, Arizona, Idaho, and Montana have all filed lawsuits alleging that the ChatGPT maker has deceived and endangered the public, particularly children, in the name of profit.</p><p>The complaints allege that ChatGPT has "coached" users to harm themselves and others, and—quoting the West Virginia filing specifically—state that "there is a growing body of research indicating that ChatGPT is also degrading critical thinking skills, encouraging paranoias and delusions, offering dangerous medical advice, and promoting unhealthy behaviors and relationships."</p><p>Recent tales of <a href="https://www.pcgamer.com/software/ai/new-report-alleges-it-took-a-week-for-openai-to-realize-a-prototype-had-gone-rogue-and-hacked-another-company/">"rogue" AI agents</a> are also presented by as evidence of recklessness.</p><p>"All these harms were foreseeable and avoidable," reads the West Virginia complaint [<a href="https://ago.wv.gov/sites/default/files/2026-10/2026.10.14%20--%20Open%20AI%20Complaint%20FILED.pdf" target="_blank">PDF</a>]. "[OpenAI CEO Sam Altman] himself has warned about the safety risks of AI since at least 2015. It is no secret that children use ChatGPT. And numerous OpenAI employees have left over safety concerns."</p><p>OpenAI <a href="https://openai.com/index/helping-people-when-they-need-it-most/" target="_blank">acknowledged last year</a> that its systems can "fall short" when responding to users in distress, but said that it has "a stack of layered safeguards" in place to help. The company also says on <a href="https://help.openai.com/en/articles/12652064-age-prediction-in-chatgpt" target="_blank">its website</a> that it now uses "age prediction" to place some users in a teen-oriented ChatGPT experience with "additional safeguards," unless they verify that they are adults.</p><p>Separately from the state lawsuits, a class action lawsuit was filed in California on Tuesday on behalf of two children and "all other children similarly situated." That suit alleges that OpenAI has purposefully used ChatGPT to extract personal information from children, and has profited from that information by using it to train its models.</p><p>Again, Altman's own words form part of the basis for the suit: "People talk about the most personal shit in their lives to ChatGPT," <a href="https://www.pcmag.com/news/altman-your-chatgpt-conversations-can-will-be-used-against-you-in-court" target="_blank">Altman said</a> on Theo Von's podcast last year. "People use it, young people, especially, use it as a therapist, a life coach."</p><p>The complaint asserts that, under California law, "it is illegal for an adult to secure, save, and monetize a child's 'most personal sh*t in their lives' and then claim the child somehow authorized that misappropriation for the adult's gain."</p><p>PC Gamer has reached out to OpenAI for comment on the lawsuits.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/ai/8-us-states-sue-openai/</link>
                                                                            <description>
                            <![CDATA[ Several US states have sued the company, alleging that ChatGPT is harming the public. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">HndwpWqLtYdomALT9eJvai</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WxALC8fwhZcpyi3icDHT4g-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 23:22:11 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 23:38:40 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ tyler@pcgamer.com (Tyler Wilde) ]]></author>                    <dc:creator><![CDATA[ Tyler Wilde ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rGvfSUkSBEPzBAVS3jRh9E-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tyler grew up in Silicon Valley during the &#039;80s and &#039;90s, playing games like Zork and Arkanoid on early PCs. He was later captivated by Myst, SimCity, Civilization, Command &amp; Conquer, all the shooters they call &quot;boomer shooters&quot; now, and PS1 classic Bushido Blade (that&#039;s right: he had Bleem!). Tyler joined PC Gamer in 2011, and today he&#039;s focused on the site&#039;s news coverage. His hobbies include amateur boxing and adding to his 1,200-plus hours in Rocket League.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WxALC8fwhZcpyi3icDHT4g-1920-80.jpg">
                                                            <media:credit><![CDATA[Kyle Grillot/Bloomberg via Getty Images]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Sam Altman, chief executive officer of OpenAI Inc, in 2025.]]></media:description>                                                            <media:text><![CDATA[Sam Altman, chief executive officer of OpenAI Inc., during a media tour of the Stargate AI data center in Abilene, Texas, US, on Tuesday, Sept. 23, 2025.]]></media:text>
                                <media:title type="plain"><![CDATA[Sam Altman, chief executive officer of OpenAI Inc., during a media tour of the Stargate AI data center in Abilene, Texas, US, on Tuesday, Sept. 23, 2025.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WxALC8fwhZcpyi3icDHT4g-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The attorney generals for eight US states announced today that they are suing OpenAI.</p><p>West Virginia, Iowa, Kansas, Nebraska, Arkansas, Arizona, Idaho, and Montana have all filed lawsuits alleging that the ChatGPT maker has deceived and endangered the public, particularly children, in the name of profit.</p><p>The complaints allege that ChatGPT has "coached" users to harm themselves and others, and—quoting the West Virginia filing specifically—state that "there is a growing body of research indicating that ChatGPT is also degrading critical thinking skills, encouraging paranoias and delusions, offering dangerous medical advice, and promoting unhealthy behaviors and relationships."</p><p>Recent tales of <a href="https://www.pcgamer.com/software/ai/new-report-alleges-it-took-a-week-for-openai-to-realize-a-prototype-had-gone-rogue-and-hacked-another-company/">"rogue" AI agents</a> are also presented by as evidence of recklessness.</p><p>"All these harms were foreseeable and avoidable," reads the West Virginia complaint [<a href="https://ago.wv.gov/sites/default/files/2026-10/2026.10.14%20--%20Open%20AI%20Complaint%20FILED.pdf" target="_blank">PDF</a>]. "[OpenAI CEO Sam Altman] himself has warned about the safety risks of AI since at least 2015. It is no secret that children use ChatGPT. And numerous OpenAI employees have left over safety concerns."</p><p>OpenAI <a href="https://openai.com/index/helping-people-when-they-need-it-most/" target="_blank">acknowledged last year</a> that its systems can "fall short" when responding to users in distress, but said that it has "a stack of layered safeguards" in place to help. The company also says on <a href="https://help.openai.com/en/articles/12652064-age-prediction-in-chatgpt" target="_blank">its website</a> that it now uses "age prediction" to place some users in a teen-oriented ChatGPT experience with "additional safeguards," unless they verify that they are adults.</p><p>Separately from the state lawsuits, a class action lawsuit was filed in California on Tuesday on behalf of two children and "all other children similarly situated." That suit alleges that OpenAI has purposefully used ChatGPT to extract personal information from children, and has profited from that information by using it to train its models.</p><p>Again, Altman's own words form part of the basis for the suit: "People talk about the most personal shit in their lives to ChatGPT," <a href="https://www.pcmag.com/news/altman-your-chatgpt-conversations-can-will-be-used-against-you-in-court" target="_blank">Altman said</a> on Theo Von's podcast last year. "People use it, young people, especially, use it as a therapist, a life coach."</p><p>The complaint asserts that, under California law, "it is illegal for an adult to secure, save, and monetize a child's 'most personal sh*t in their lives' and then claim the child somehow authorized that misappropriation for the adult's gain."</p><p>PC Gamer has reached out to OpenAI for comment on the lawsuits.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Ex-Overwatch director Jeff Kaplan ignores everything about the hero shooter after his 'almost clinical' departure 5 years ago: 'I don't search for my name in Overwatch. I don't search for Overwatch. I sort of just disconnect.' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Despite some big changes happening with <a href="https://www.pcgamer.com/games/fps/looking-back-on-10-years-of-overwatch-the-promises-kept-and-where-team-4-goes-from-here/">Overwatch</a> lately, former game director Jeff Kaplan hasn't touched it since the year he left Blizzard. In fact, he actively avoids the game in every way he can, he told <a href="https://www.gamespot.com/articles/jeff-kaplan-was-an-industry-icon-now-peers-ignore-his-emails-ex-overwatch-director-talks-humbling-reality-of-indie-dev/?_thumbnail_id=1918870">GameSpot </a>in a recent interview.</p><p>Before Overwatch, Kaplan rose through the ranks on the World of Warcraft team, starting in QA and eventually becoming game director. He described his departure from the WoW team in 2008 as "a training moment" for when he would leave the Overwatch team, and Blizzard altogether, in 2021.</p><p>"I kind of went through a little bit of shock leaving WoW back in 2008," Kaplan says. "So, when I stepped away from Overwatch in April of 2021, I was kind of used to that moment of what it meant to give all of yourself, your heart, your soul–because it's not just a job, there's no one who can do this and have it just be a job–and then have this shocking moment where you realize it doesn't belong to you. It belongs to the team, belongs to the players, it belongs to Blizzard, but it doesn’t belong to you."</p><p>Kaplan says he "had a very almost clinical separation" with Overwatch after what he went through with WoW. As a result, he stopped playing it the moment he left and has actively avoided it ever since.</p><p>"After I said my goodbye to competitive Overwatch and the Overwatch subreddit, I never go back and read," he says. "I don't watch YouTube [videos]. I don't search for my name in Overwatch. I don't search for Overwatch. I sort of just disconnect. I actually tell all the algorithms like, 'Yeah, I'm not really interested in Overwatch anymore. I know you think I'm the Overwatch guy, but like, that's just not for me anymore.'"</p><p>In an interview from <a href="https://www.pcgamer.com/games/fps/overwatch-co-creator-jeff-kaplan-on-his-exit-from-activision-blizzard-it-was-the-biggest-f-k-you-moment-ive-had-in-may-career/">earlier this year</a>, Kaplan said he fully expected to retire from Blizzard, but the company's former CFO broke him by threatening to lay off 1,000 people if Overwatch didn't meet certain financial goals. Kaplan called that meeting "the biggest fuck you moment I've had in my career, it felt surreal to be in that condition."</p><p>Kaplan went quiet for several years before reappearing with a new studio and a new open world survival cowboy game called <a href="https://www.pcgamer.com/games/adventure/i-would-love-that-but-were-cheap-and-poor-jeff-kaplan-speeds-through-everything-players-should-know-about-his-upcoming-cowboy-survival-game-the-legend-of-california/">The Legend of California</a>, which he's heading up alongside former Blizzard developer Tim Ford. He says the new game is an opportunity to explore something more personal to him for the first time. "I didn't leave Blizzard to try to make a Blizzard game. I left Blizzard to make a Tim and Jeff game."</p><div class="product"><a data-dimension112="1a0bf43a-c822-11f1-b6e5-f1c0dcee2eba" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="1a0bf43a-c822-11f1-b6e5-f1c0dcee2eba" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/fps/ex-overwatch-director-jeff-kaplan-ignores-everything-about-the-hero-shooter-after-his-almost-clinical-departure-5-years-ago-i-dont-search-for-my-name-in-overwatch-i-dont-search-for-overwatch-i-sort-of-just-disconnect/</link>
                                                                            <description>
                            <![CDATA[ The former Blizzard developer has moved on. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Ae3RbpMLfjgt9VRaZs5Ee6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XFSJd8WGfgkumuaUncPkuN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 22:54:53 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[FPS]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tyler Colp ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XFSJd8WGfgkumuaUncPkuN-1920-80.jpg">
                                                            <media:credit><![CDATA[Blizzard]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Jeff Kaplan]]></media:description>                                                            <media:text><![CDATA[Jeff Kaplan]]></media:text>
                                <media:title type="plain"><![CDATA[Jeff Kaplan]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XFSJd8WGfgkumuaUncPkuN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Despite some big changes happening with <a href="https://www.pcgamer.com/games/fps/looking-back-on-10-years-of-overwatch-the-promises-kept-and-where-team-4-goes-from-here/">Overwatch</a> lately, former game director Jeff Kaplan hasn't touched it since the year he left Blizzard. In fact, he actively avoids the game in every way he can, he told <a href="https://www.gamespot.com/articles/jeff-kaplan-was-an-industry-icon-now-peers-ignore-his-emails-ex-overwatch-director-talks-humbling-reality-of-indie-dev/?_thumbnail_id=1918870">GameSpot </a>in a recent interview.</p><p>Before Overwatch, Kaplan rose through the ranks on the World of Warcraft team, starting in QA and eventually becoming game director. He described his departure from the WoW team in 2008 as "a training moment" for when he would leave the Overwatch team, and Blizzard altogether, in 2021.</p><p>"I kind of went through a little bit of shock leaving WoW back in 2008," Kaplan says. "So, when I stepped away from Overwatch in April of 2021, I was kind of used to that moment of what it meant to give all of yourself, your heart, your soul–because it's not just a job, there's no one who can do this and have it just be a job–and then have this shocking moment where you realize it doesn't belong to you. It belongs to the team, belongs to the players, it belongs to Blizzard, but it doesn’t belong to you."</p><p>Kaplan says he "had a very almost clinical separation" with Overwatch after what he went through with WoW. As a result, he stopped playing it the moment he left and has actively avoided it ever since.</p><p>"After I said my goodbye to competitive Overwatch and the Overwatch subreddit, I never go back and read," he says. "I don't watch YouTube [videos]. I don't search for my name in Overwatch. I don't search for Overwatch. I sort of just disconnect. I actually tell all the algorithms like, 'Yeah, I'm not really interested in Overwatch anymore. I know you think I'm the Overwatch guy, but like, that's just not for me anymore.'"</p><p>In an interview from <a href="https://www.pcgamer.com/games/fps/overwatch-co-creator-jeff-kaplan-on-his-exit-from-activision-blizzard-it-was-the-biggest-f-k-you-moment-ive-had-in-may-career/">earlier this year</a>, Kaplan said he fully expected to retire from Blizzard, but the company's former CFO broke him by threatening to lay off 1,000 people if Overwatch didn't meet certain financial goals. Kaplan called that meeting "the biggest fuck you moment I've had in my career, it felt surreal to be in that condition."</p><p>Kaplan went quiet for several years before reappearing with a new studio and a new open world survival cowboy game called <a href="https://www.pcgamer.com/games/adventure/i-would-love-that-but-were-cheap-and-poor-jeff-kaplan-speeds-through-everything-players-should-know-about-his-upcoming-cowboy-survival-game-the-legend-of-california/">The Legend of California</a>, which he's heading up alongside former Blizzard developer Tim Ford. He says the new game is an opportunity to explore something more personal to him for the first time. "I didn't leave Blizzard to try to make a Blizzard game. I left Blizzard to make a Tim and Jeff game."</p><div class="product"><a data-dimension112="1a0bf43a-c822-11f1-b6e5-f1c0dcee2eba" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="1a0bf43a-c822-11f1-b6e5-f1c0dcee2eba" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I want to love the new Castlevania, but it just feels a little off ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I got off to a bit of an awkward start with Castlevania: Belmont's Curse when it first booted to a black screen. A few minutes of troubleshooting later, I deduced that the game wouldn't display on a monitor with its refresh rate set higher than 120 Hz. Easily solved, but I kept thinking of that quirk when I selected the in-game 120 fps cap and then watched the game jarringly lurch down to a lower framerate every time I hit a cutscene. </p><p>Maybe these technical quirks were treats for reviewers that have been smoothed over in time for launch. They haven't stopped me from having a lot of fun with the eight or so hours I've played Belmont's Curse—I think I'm closing in on the halfway point, and it keeps getting better as it goes. But it's not quite the slam dunk I expected from the first new Castlevania in decades, with such a talented studio behind it. </p><p>Belmont's Curse has a bit of a juice problem. You've probably heard (or said) "it's got the juice" so many times in recent years that the expression has more or less just become shorthand for <em>I think this is really good</em>. <a href="https://www.fortressofdoors.com/oil-it-or-spoil-it/">As originally coined by some very smart game designers</a>, though, it means something a bit more specific: the sort of polish that "feels alive and responds to everything you do—tons of cascading action and response for minimal user input." There are some quintessential ways to add juiciness to an action game: screen shake, hitstop (the brief pause for impact when your attacks land), enemy reactions, flashy particles and other effects. Most important are how your character feels when they move or jump or dodge. </p><p>Juicy doesn't have to mean <em>fast</em>, necessarily. But Dead Cells, which Belmont's Curse developer Evil Empire spent much of the last decade working on, is one of the fastest and juiciest action games ever made. Hollow Knight's fast nail swipes and precise dodges are also extremely juicy, which is one reason it has so resoundingly <a href="https://www.pcgamer.com/gaming-industry/hollow-knights-creators-didnt-want-to-be-constrained-by-the-metroidvania-label-but-they-accidentally-set-a-standard-that-every-game-since-even-silksong-has-to-reckon-with/">become the metroidvania others are now measured against</a>.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/k1-FS-kiNB8" allowfullscreen></iframe></div></div><p>Belmont's Curse is somehow intermittently, confusingly juiced and… dry? Soured? There are ways in which it just feels <em>off</em> that are still bugging me hours into the game.</p><p>There's a lengthy wind-up on Rose Belmont's whip, which you use to swing all around France and Dracula's castle, that becomes a frustration during spike-filled platforming challenges that require perfect timing on a swing. Even when I get the timing right, I often miss a grapple point because I'm holding the analog stick in the direction I want to move rather than pointing it at the spot I need to hook onto.</p><p>The first dodge Belmont's Curse teaches you is a forward slide, but it has so few invincibility frames on it—if any at all—that it's gotten me killed in more boss fights than it has saved me. Maybe I should've learned by now not to use it, but it's just one of a dozen small things that I find fiddly or confusing in this game that I thought Evil Empire would absolutely have on lock.</p><iframe src="https://content.jwplatform.com/players/Co4bCFrC.html" id="Co4bCFrC" title="Castlevania- Belmont's Curse platforming" width="1920" height="1080" frameborder="0" scrolling="auto" allowfullscreen></iframe><p>Another one: Some tedious platforming challenges require phasing through specific walls and floors using a skill that, by default, is bound to the left trigger on a controller—which is fine until you have to pump it with a tiny margin for error. Phase through a wall (hold), then wall jump from it (release), then phase through another wall (hold), then land on one above a pit of spikes (release). Why bind that action to the analog input with the longest travel time on the controller?</p><p>Rose can use the whip to pull herself towards enemies and deliver a smashing blow, but the timing on that attack feels set too early. </p><p>Popping a healing flask requires holding a button down <em>just</em> long enough that I often think I've healed in the heat of battle until oops, surprise, dead.</p><p>And I know this is a budget limitation, but Belmont's Curse is clearly <em>so</em> inspired by the Netflix Castlevania series—it even includes a couple of the same voice actors—that some of the early cutscenes, which are disappointing panning shots of static artwork, really cry out for a more lavish presentation. They deserved a proper animated treatment that Konami apparently didn't shell out for.</p><p>Belmont's Curse doesn't make a great first impression, but once I reached Dracula's Castle after a few hours in Paris it started kicking things up a notch, with clever platforming gimmicks I've never run into before and clues pointing in the direction of each of Dracula's minions. It's a little bit more puzzley and thinky than many older Castlevanias, and I could see this being my favorite version of the castle to pick apart by the time I'm through with it. </p><p>And it's not totally juiceless! There's great, punchy hitstop when your attacks connect; the animation work is slick; the presentation of the tarot cards, which double as special weapons and guides to each boss you need to defeat, is gorgeous. I love flicking through them in my inventory.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LCujgfYPGWyYH6AJxDCK4m" name="20261014114535_1" alt="Castlevania: Belmont's Curse tarot cards" src="https://cdn.mos.cms.futurecdn.net/LCujgfYPGWyYH6AJxDCK4m-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Konami)</span></figcaption></figure><p>Were Evil Empire maybe trying so hard to ensure Belmont's Curse didn't feel like Dead Cells that it ended up with controls that didn't quite gel? It's a hard problem to articulate, but there's a little slack in this whip holding it back from being the return to Castlevania I want to wholeheartedly love.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/action/i-want-to-love-the-new-castlevania-but-it-just-feels-a-little-off/</link>
                                                                            <description>
                            <![CDATA[ Castlevania: Belmont's Curse has the right pieces for a grand revival, but it hasn't quite nailed the assembly. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">5mSidfAVasbKGn4qvZKVh4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cyHr2vwGF6PQKZE2jdaaRc-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 22:31:54 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 23:32:01 +0000</updated>
                                                                                                                                            <category><![CDATA[Action]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ wesley@pcgamer.com (Wes Fenlon) ]]></author>                    <dc:creator><![CDATA[ Wes Fenlon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oLoGHTuSZDFZX6QdzCTj4R-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Wes has been covering games and hardware for more than 10 years, first at tech sites like The Wirecutter and Tested before joining the PC Gamer team in 2014. Wes plays a little bit of everything, but he&#039;ll always jump at the chance to cover emulation and Japanese games.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;When he&#039;s not obsessively optimizing and re-optimizing a tangle of conveyor belts in Satisfactory (it&#039;s really becoming a problem), he&#039;s probably playing a 20-year-old Final Fantasy or some opaque ASCII roguelike. With a focus on writing and editing features, he seeks out personal stories and in-depth histories from the corners of PC gaming and its niche communities. 50% pizza by volume (deep dish, to be specific).&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;His lasting legacy on this earth may be &lt;a href=&quot;https://www.pcgamer.com/ive-somehow-been-wasding-wrong-my-whole-life/&quot; target=&quot;_blank&quot;&gt;using WASD wrong&lt;/a&gt; for his entire life.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cyHr2vwGF6PQKZE2jdaaRc-1920-80.jpg">
                                                            <media:credit><![CDATA[Konami]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Rose&#039;s curse in Castlevania: Belmont&#039;s Curse]]></media:description>                                                            <media:text><![CDATA[Rose&#039;s curse in Castlevania: Belmont&#039;s Curse]]></media:text>
                                <media:title type="plain"><![CDATA[Rose&#039;s curse in Castlevania: Belmont&#039;s Curse]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cyHr2vwGF6PQKZE2jdaaRc-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I got off to a bit of an awkward start with Castlevania: Belmont's Curse when it first booted to a black screen. A few minutes of troubleshooting later, I deduced that the game wouldn't display on a monitor with its refresh rate set higher than 120 Hz. Easily solved, but I kept thinking of that quirk when I selected the in-game 120 fps cap and then watched the game jarringly lurch down to a lower framerate every time I hit a cutscene. </p><p>Maybe these technical quirks were treats for reviewers that have been smoothed over in time for launch. They haven't stopped me from having a lot of fun with the eight or so hours I've played Belmont's Curse—I think I'm closing in on the halfway point, and it keeps getting better as it goes. But it's not quite the slam dunk I expected from the first new Castlevania in decades, with such a talented studio behind it. </p><p>Belmont's Curse has a bit of a juice problem. You've probably heard (or said) "it's got the juice" so many times in recent years that the expression has more or less just become shorthand for <em>I think this is really good</em>. <a href="https://www.fortressofdoors.com/oil-it-or-spoil-it/">As originally coined by some very smart game designers</a>, though, it means something a bit more specific: the sort of polish that "feels alive and responds to everything you do—tons of cascading action and response for minimal user input." There are some quintessential ways to add juiciness to an action game: screen shake, hitstop (the brief pause for impact when your attacks land), enemy reactions, flashy particles and other effects. Most important are how your character feels when they move or jump or dodge. </p><p>Juicy doesn't have to mean <em>fast</em>, necessarily. But Dead Cells, which Belmont's Curse developer Evil Empire spent much of the last decade working on, is one of the fastest and juiciest action games ever made. Hollow Knight's fast nail swipes and precise dodges are also extremely juicy, which is one reason it has so resoundingly <a href="https://www.pcgamer.com/gaming-industry/hollow-knights-creators-didnt-want-to-be-constrained-by-the-metroidvania-label-but-they-accidentally-set-a-standard-that-every-game-since-even-silksong-has-to-reckon-with/">become the metroidvania others are now measured against</a>.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/k1-FS-kiNB8" allowfullscreen></iframe></div></div><p>Belmont's Curse is somehow intermittently, confusingly juiced and… dry? Soured? There are ways in which it just feels <em>off</em> that are still bugging me hours into the game.</p><p>There's a lengthy wind-up on Rose Belmont's whip, which you use to swing all around France and Dracula's castle, that becomes a frustration during spike-filled platforming challenges that require perfect timing on a swing. Even when I get the timing right, I often miss a grapple point because I'm holding the analog stick in the direction I want to move rather than pointing it at the spot I need to hook onto.</p><p>The first dodge Belmont's Curse teaches you is a forward slide, but it has so few invincibility frames on it—if any at all—that it's gotten me killed in more boss fights than it has saved me. Maybe I should've learned by now not to use it, but it's just one of a dozen small things that I find fiddly or confusing in this game that I thought Evil Empire would absolutely have on lock.</p><iframe src="https://content.jwplatform.com/players/Co4bCFrC.html" id="Co4bCFrC" title="Castlevania- Belmont's Curse platforming" width="1920" height="1080" frameborder="0" scrolling="auto" allowfullscreen></iframe><p>Another one: Some tedious platforming challenges require phasing through specific walls and floors using a skill that, by default, is bound to the left trigger on a controller—which is fine until you have to pump it with a tiny margin for error. Phase through a wall (hold), then wall jump from it (release), then phase through another wall (hold), then land on one above a pit of spikes (release). Why bind that action to the analog input with the longest travel time on the controller?</p><p>Rose can use the whip to pull herself towards enemies and deliver a smashing blow, but the timing on that attack feels set too early. </p><p>Popping a healing flask requires holding a button down <em>just</em> long enough that I often think I've healed in the heat of battle until oops, surprise, dead.</p><p>And I know this is a budget limitation, but Belmont's Curse is clearly <em>so</em> inspired by the Netflix Castlevania series—it even includes a couple of the same voice actors—that some of the early cutscenes, which are disappointing panning shots of static artwork, really cry out for a more lavish presentation. They deserved a proper animated treatment that Konami apparently didn't shell out for.</p><p>Belmont's Curse doesn't make a great first impression, but once I reached Dracula's Castle after a few hours in Paris it started kicking things up a notch, with clever platforming gimmicks I've never run into before and clues pointing in the direction of each of Dracula's minions. It's a little bit more puzzley and thinky than many older Castlevanias, and I could see this being my favorite version of the castle to pick apart by the time I'm through with it. </p><p>And it's not totally juiceless! There's great, punchy hitstop when your attacks connect; the animation work is slick; the presentation of the tarot cards, which double as special weapons and guides to each boss you need to defeat, is gorgeous. I love flicking through them in my inventory.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LCujgfYPGWyYH6AJxDCK4m" name="20261014114535_1" alt="Castlevania: Belmont's Curse tarot cards" src="https://cdn.mos.cms.futurecdn.net/LCujgfYPGWyYH6AJxDCK4m-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Konami)</span></figcaption></figure><p>Were Evil Empire maybe trying so hard to ensure Belmont's Curse didn't feel like Dead Cells that it ended up with controls that didn't quite gel? It's a hard problem to articulate, but there's a little slack in this whip holding it back from being the return to Castlevania I want to wholeheartedly love.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'My idea of a Netflix for games doesn't work': Garry's Mod successor is getting 'sweeping changes' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>More radical changes beyond just <a href="https://www.pcgamer.com/software/garry-newman-adds-necks-to-his-neckless-characters-because-the-lack-of-necks-comes-up-consistently-in-our-many-many-many-negative-reviews/">giving the characters necks</a> are coming to Garry's Mod successor <a href="https://www.pcgamer.com/s-box/">s&box</a>. Facepunch Studios' game creation platform's launch in April was met with a swarm of negative reviews, complaints of AI slop filling its user-generated game collection, and swiftly plummeting user numbers.</p><p>Now creator Garry Newman is reversing course on some of his decisions, such as pivoting to a 'greenlight type system' for user-generated games and announcing that the platform is going free to play much earlier than expected.</p><p>"Our focus has been on the engine and the development experience. That’s what we love, that’s what turns us on—but we’re not selling an engine, we’re selling a game," <a href="https://sbox.game/news/rethinking">Newman wrote</a> this week. "So we need to do much much better on the game, we need to shift our focus to what players are experiencing, not developers."</p><p>That focus, Newman said, will be on improving the sandbox mode for players by adding more NPCs, vehicles, and customization. "I’ve let everyone down that was expecting that. I accept that, and I’m sorry—we are going to do better," he said.</p><p>Another issue Newman addressed is making it easier for players to find quality games amidst the, and I quote, "ton of shit games" Facepunch has allowed creators to upload to s&box. </p><p>"The player is overwhelmed by choice," he said. "They choose a game, it takes a while to download, and it’s immediately shit. How many times will they try games until they find one they like?</p><p>"My idea of a Netflix for games doesn’t work. It’s not feasible. It’s not how people discover games. You can’t land people on a menu of 60 games and say, 'have fun'."</p><p>Game makers who want to participate in the <a href="https://www.pcgamer.com/games/rpg/we-dont-have-to-fire-1000-people-to-keep-it-working-facepunch-studios-says-paying-s-and-box-game-developers-is-sustainable-with-usd500-000-paid-out-to-date/">Play Fund pool</a> will now have to apply to the program, instead of the money automatically going to the games with the most maps and players. "Our new policy isn't set in stone, but generally we want to discourage clickers, idler, slop and UI based games," Newman said. "We want to set the bar a bit higher than it has been set previously. We've removed a bunch of games and maps from the system that we feel don't reach this new bar."</p><p>s&box is also going free-to-play before the end of 2026: "Everyone who has paid for the game will automatically get a bunch of exclusive steam inventory items (extra if you bought it at $20 vs $10) that I hope will justify the purchase price," Newman said.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WPEN28ofngL6izMFRFp6GV" name="0825e864d837" alt="Friendship ended meme showing two humans being friends and terry the sausage crossed out" src="https://cdn.mos.cms.futurecdn.net/WPEN28ofngL6izMFRFp6GV-1920-80.png" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/WPEN28ofngL6izMFRFp6GV-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Facepunch Studios)</span></figcaption></figure><p>And finally, the sausage character model known as "The Citizen" or "Terry" (seen at the top of this page) has been retired in favor of generic human characters. "The model still exists in the game and so games that use it will keep using it, but it's no longer visible in the menu or the avatar editor."</p><p>Will those changes be enough to save s&box? Hard to say, but more curation by humans to keep out slop and less simply hoping that "<a href="https://www.pcgamer.com/games/eventually-the-slop-will-just-fall-to-the-bottom-garrys-mod-sequel-launches-to-mixed-reviews-but-garry-himself-isnt-worried-about-ai-games-on-the-main-page/">slop will just fall to the bottom</a>," as Newman told me back in April, certainly seems like a wise adjustment. s&box definitely needs <em>something</em>: When Morgan played it back at launch, it felt like it contained <a href="https://www.pcgamer.com/games/fps/the-garrys-mod-successor-is-tragically-more-roblox-than-anything-else/">very little of the spirit of the original G-Mod</a>. Hopefully, these changes will help.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/platforms/my-idea-of-a-netflix-for-games-doesnt-work-garrys-mod-successor-is-getting-sweeping-changes/</link>
                                                                            <description>
                            <![CDATA[ "I’m sorry—we are going to do better." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2JxZvj9uz7hMmTrdDS3cBW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/eynssSQjdZ8gKMc39fbzED-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 21:54:25 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 00:35:02 +0000</updated>
                                                                                                                                            <category><![CDATA[Platforms]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ clivingston@pcgamer.com (Christopher Livingston) ]]></author>                    <dc:creator><![CDATA[ Christopher Livingston ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vMPWcamtj9aoVBYFtt2Hp7-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/eynssSQjdZ8gKMc39fbzED-1920-80.jpg">
                                                            <media:credit><![CDATA[Facepunch Studios]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Two sausage characters]]></media:description>                                                            <media:text><![CDATA[Two sausage characters]]></media:text>
                                <media:title type="plain"><![CDATA[Two sausage characters]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/eynssSQjdZ8gKMc39fbzED-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>More radical changes beyond just <a href="https://www.pcgamer.com/software/garry-newman-adds-necks-to-his-neckless-characters-because-the-lack-of-necks-comes-up-consistently-in-our-many-many-many-negative-reviews/">giving the characters necks</a> are coming to Garry's Mod successor <a href="https://www.pcgamer.com/s-box/">s&box</a>. Facepunch Studios' game creation platform's launch in April was met with a swarm of negative reviews, complaints of AI slop filling its user-generated game collection, and swiftly plummeting user numbers.</p><p>Now creator Garry Newman is reversing course on some of his decisions, such as pivoting to a 'greenlight type system' for user-generated games and announcing that the platform is going free to play much earlier than expected.</p><p>"Our focus has been on the engine and the development experience. That’s what we love, that’s what turns us on—but we’re not selling an engine, we’re selling a game," <a href="https://sbox.game/news/rethinking">Newman wrote</a> this week. "So we need to do much much better on the game, we need to shift our focus to what players are experiencing, not developers."</p><p>That focus, Newman said, will be on improving the sandbox mode for players by adding more NPCs, vehicles, and customization. "I’ve let everyone down that was expecting that. I accept that, and I’m sorry—we are going to do better," he said.</p><p>Another issue Newman addressed is making it easier for players to find quality games amidst the, and I quote, "ton of shit games" Facepunch has allowed creators to upload to s&box. </p><p>"The player is overwhelmed by choice," he said. "They choose a game, it takes a while to download, and it’s immediately shit. How many times will they try games until they find one they like?</p><p>"My idea of a Netflix for games doesn’t work. It’s not feasible. It’s not how people discover games. You can’t land people on a menu of 60 games and say, 'have fun'."</p><p>Game makers who want to participate in the <a href="https://www.pcgamer.com/games/rpg/we-dont-have-to-fire-1000-people-to-keep-it-working-facepunch-studios-says-paying-s-and-box-game-developers-is-sustainable-with-usd500-000-paid-out-to-date/">Play Fund pool</a> will now have to apply to the program, instead of the money automatically going to the games with the most maps and players. "Our new policy isn't set in stone, but generally we want to discourage clickers, idler, slop and UI based games," Newman said. "We want to set the bar a bit higher than it has been set previously. We've removed a bunch of games and maps from the system that we feel don't reach this new bar."</p><p>s&box is also going free-to-play before the end of 2026: "Everyone who has paid for the game will automatically get a bunch of exclusive steam inventory items (extra if you bought it at $20 vs $10) that I hope will justify the purchase price," Newman said.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WPEN28ofngL6izMFRFp6GV" name="0825e864d837" alt="Friendship ended meme showing two humans being friends and terry the sausage crossed out" src="https://cdn.mos.cms.futurecdn.net/WPEN28ofngL6izMFRFp6GV-1920-80.png" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/WPEN28ofngL6izMFRFp6GV-1920-80.png' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Facepunch Studios)</span></figcaption></figure><p>And finally, the sausage character model known as "The Citizen" or "Terry" (seen at the top of this page) has been retired in favor of generic human characters. "The model still exists in the game and so games that use it will keep using it, but it's no longer visible in the menu or the avatar editor."</p><p>Will those changes be enough to save s&box? Hard to say, but more curation by humans to keep out slop and less simply hoping that "<a href="https://www.pcgamer.com/games/eventually-the-slop-will-just-fall-to-the-bottom-garrys-mod-sequel-launches-to-mixed-reviews-but-garry-himself-isnt-worried-about-ai-games-on-the-main-page/">slop will just fall to the bottom</a>," as Newman told me back in April, certainly seems like a wise adjustment. s&box definitely needs <em>something</em>: When Morgan played it back at launch, it felt like it contained <a href="https://www.pcgamer.com/games/fps/the-garrys-mod-successor-is-tragically-more-roblox-than-anything-else/">very little of the spirit of the original G-Mod</a>. Hopefully, these changes will help.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Legendary composer Frank Klepacki says the RTS genre isn't dead, but he would like to see devs get a little more creative with it ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Frank Klepacki has composed <a href="https://www.mobygames.com/person/1950/frank-klepacki/credits/" target="_blank">a lot of great game music</a> over the years—in fact, he's responsible for the soundtrack in Eye of the Beholder 2, one of the <a href="https://www.pcgamer.com/why-you-should-play-eye-of-the-beholder-2-from-gogs-dd-collection/" target="_blank">best dungeon crawlers of all time</a>. At heart, though, Klepacki is a real-time strategy guy—and he takes real issue with claims that the genre is dead.</p><p>There's no question that RTS is diminished, at least compared to its glory days. Back in the 1990s, games like Command & Conquer, Warcraft, and Dune 2 (<em>especially</em> Dune 2, I'd say) dominated the scene. But all that remains of any of them these days is the seemingly unkillable World of Warcraft—and how many players even know that Blizzard's one true behemoth is an RTS spinoff?</p><p>Speaking in the latest issue of Edge, however, Klepacki said he thinks the genre still has lots of life in it. "There was all of this doom-and-gloom talk about ten years ago, saying, 'Oh, we think RTS is dead now—why are you still trying to work on games that are in a genre that’s going away?’" Klepacki said. "Obviously, if there are games coming out, [the genre is] not going away. It’s just that other types of games have taken the forefront of attention. Everything runs in cycles, you know? That’s how it always is."</p><p>That's true: RPGs have ebbed and flowed over the decades, and flight sims were <em>huge</em> until they weren't, and then they were again. But Klepacki also pointed the finger at a hollowing-out of the industry and growing aversion to risk, particularly among big-budget developers: "I would love to see more unique ideas that are allowed to be triple-A titles. A lot of indie titles are taking those creative chances, but a lot of the middle ground has gone."</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/e3YzmjmAGoI" allowfullscreen></iframe></div></div><p>Real-time strategy DNA has persisted in the MOBA genre, but traditional RTS games are enjoying a bit of a boom too. More than 20 years after Frozen Throne, Blizzard dropped a <a href="https://www.pcgamer.com/games/rts/blizzard-just-dropped-a-new-warcraft-3-campaign-the-first-in-23-years/" target="_blank">new campaign for Warcraft 3</a> in September, a <a href="https://www.pcgamer.com/games/rts/that-game-of-thrones-rts-is-still-coming-still-very-hbo-but-no-longer-due-out-this-year/" target="_blank">Game of Thrones RTS</a> is in the pipe, and <a href="https://www.pcgamer.com/games/rts/company-of-heroes-is-back-and-so-is-my-urge-to-ruin-friendships/" target="_blank">Company of Heroes</a> and <a href="https://www.pcgamer.com/games/rts/more-than-10-years-after-ubisoft-took-it-down-one-of-our-favorite-games-of-2010-is-back-on-steam/" target="_blank">Ruse</a> are back; <a href="https://www.pcgamer.com/age-of-empires-4/" target="_blank">Age of Empires</a> and <a href="https://www.pcgamer.com/age-of-mythology-retold/" target="_blank">Age of Mythology</a> are still rumbling along, <a href="https://www.pcgamer.com/tempest-rising/" target="_blank">Tempest Rising</a> delivers a very C&C-like experience, and while the <a href="http://www.pcgamer.com/games/fps/starcraft-is-a-narrative-driven-shooter-with-a-definitive-ending-and-not-a-seasonal-game/" target="_blank">new StarCraft</a> game revealed at BlizzCon is a shooter, Blizzard is still <a href="http://www.pcgamer.com/games/fps/starcraft-is-a-narrative-driven-shooter-with-a-definitive-ending-and-not-a-seasonal-game/" target="_blank">dicking around with StarCraft 2</a>, too. </p><p>The days of building them around <a href="https://www.pcgamer.com/gaming-industry/tim-curry-red-alert-3-star-and-camp-icon-of-stage-and-screen-dies-aged-80/" target="_blank">ensemble Hollywood casts</a> may be over (at least for now), but the RTS itself? Be happy, Frank: it's definitely alive and kicking.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="22fdb944-c817-11f1-8000-21ab299d7f39" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="22fdb944-c817-11f1-8000-21ab299d7f39" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/rts/legendary-composer-frank-klepacki-says-the-rts-genre-isnt-dead-but-he-would-like-to-see-devs-get-a-little-more-creative-with-it/</link>
                                                                            <description>
                            <![CDATA[ Klepacki shared his thoughts on the state of the real-time strategy genre in the latest issue of Edge. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ZCn59JMYDHFJHDVCNcAbUn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/QNZmSCceCJGg7fEgZok4Ke-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 21:44:35 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[RTS]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/QNZmSCceCJGg7fEgZok4Ke-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images - Photo by Al Pereira/Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[SPRINGFIELD, MASSACHUSETTS - SEPTEMBER 30: Frank Klepacki and The Family Stone Band perform at Eastern States Exhibition on September 30, 2026 in West Springfield, Massachusetts. (Photo by Al Pereira/Getty Images)]]></media:description>                                                            <media:text><![CDATA[SPRINGFIELD, MASSACHUSETTS - SEPTEMBER 30: Frank Klepacki and The Family Stone Band perform at Eastern States Exhibition on September 30, 2026 in West Springfield, Massachusetts. (Photo by Al Pereira/Getty Images)]]></media:text>
                                <media:title type="plain"><![CDATA[SPRINGFIELD, MASSACHUSETTS - SEPTEMBER 30: Frank Klepacki and The Family Stone Band perform at Eastern States Exhibition on September 30, 2026 in West Springfield, Massachusetts. (Photo by Al Pereira/Getty Images)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/QNZmSCceCJGg7fEgZok4Ke-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Frank Klepacki has composed <a href="https://www.mobygames.com/person/1950/frank-klepacki/credits/" target="_blank">a lot of great game music</a> over the years—in fact, he's responsible for the soundtrack in Eye of the Beholder 2, one of the <a href="https://www.pcgamer.com/why-you-should-play-eye-of-the-beholder-2-from-gogs-dd-collection/" target="_blank">best dungeon crawlers of all time</a>. At heart, though, Klepacki is a real-time strategy guy—and he takes real issue with claims that the genre is dead.</p><p>There's no question that RTS is diminished, at least compared to its glory days. Back in the 1990s, games like Command & Conquer, Warcraft, and Dune 2 (<em>especially</em> Dune 2, I'd say) dominated the scene. But all that remains of any of them these days is the seemingly unkillable World of Warcraft—and how many players even know that Blizzard's one true behemoth is an RTS spinoff?</p><p>Speaking in the latest issue of Edge, however, Klepacki said he thinks the genre still has lots of life in it. "There was all of this doom-and-gloom talk about ten years ago, saying, 'Oh, we think RTS is dead now—why are you still trying to work on games that are in a genre that’s going away?’" Klepacki said. "Obviously, if there are games coming out, [the genre is] not going away. It’s just that other types of games have taken the forefront of attention. Everything runs in cycles, you know? That’s how it always is."</p><p>That's true: RPGs have ebbed and flowed over the decades, and flight sims were <em>huge</em> until they weren't, and then they were again. But Klepacki also pointed the finger at a hollowing-out of the industry and growing aversion to risk, particularly among big-budget developers: "I would love to see more unique ideas that are allowed to be triple-A titles. A lot of indie titles are taking those creative chances, but a lot of the middle ground has gone."</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/e3YzmjmAGoI" allowfullscreen></iframe></div></div><p>Real-time strategy DNA has persisted in the MOBA genre, but traditional RTS games are enjoying a bit of a boom too. More than 20 years after Frozen Throne, Blizzard dropped a <a href="https://www.pcgamer.com/games/rts/blizzard-just-dropped-a-new-warcraft-3-campaign-the-first-in-23-years/" target="_blank">new campaign for Warcraft 3</a> in September, a <a href="https://www.pcgamer.com/games/rts/that-game-of-thrones-rts-is-still-coming-still-very-hbo-but-no-longer-due-out-this-year/" target="_blank">Game of Thrones RTS</a> is in the pipe, and <a href="https://www.pcgamer.com/games/rts/company-of-heroes-is-back-and-so-is-my-urge-to-ruin-friendships/" target="_blank">Company of Heroes</a> and <a href="https://www.pcgamer.com/games/rts/more-than-10-years-after-ubisoft-took-it-down-one-of-our-favorite-games-of-2010-is-back-on-steam/" target="_blank">Ruse</a> are back; <a href="https://www.pcgamer.com/age-of-empires-4/" target="_blank">Age of Empires</a> and <a href="https://www.pcgamer.com/age-of-mythology-retold/" target="_blank">Age of Mythology</a> are still rumbling along, <a href="https://www.pcgamer.com/tempest-rising/" target="_blank">Tempest Rising</a> delivers a very C&C-like experience, and while the <a href="http://www.pcgamer.com/games/fps/starcraft-is-a-narrative-driven-shooter-with-a-definitive-ending-and-not-a-seasonal-game/" target="_blank">new StarCraft</a> game revealed at BlizzCon is a shooter, Blizzard is still <a href="http://www.pcgamer.com/games/fps/starcraft-is-a-narrative-driven-shooter-with-a-definitive-ending-and-not-a-seasonal-game/" target="_blank">dicking around with StarCraft 2</a>, too. </p><p>The days of building them around <a href="https://www.pcgamer.com/gaming-industry/tim-curry-red-alert-3-star-and-camp-icon-of-stage-and-screen-dies-aged-80/" target="_blank">ensemble Hollywood casts</a> may be over (at least for now), but the RTS itself? Be happy, Frank: it's definitely alive and kicking.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="22fdb944-c817-11f1-8000-21ab299d7f39" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="22fdb944-c817-11f1-8000-21ab299d7f39" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ GTA 6 leaker threatens Take-Two with a 'dead man's switch' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's a classic move: A villain, or sometimes a hero, inserts himself into a seemingly inescapable situation. Danger everywhere—no way out! But just as the good guys (or bad guys) are about to pounce, he holds up the pin he's pulled from the grenade under his coat, forcing everyone to back off! Escape is at hand!</p><p>That seems to be the strategy now adopted by notorious <a href="https://www.pcgamer.com/grand-theft-auto-6/" target="_blank">Grand Theft Auto 6</a> leaker Cyberleek, and by "seems to be," I mean they stated it outright. In a message posted to their now-defunct website but preserved by GTA VI News on <a href="https://x.com/_GTAVI_/status/2110344496386867681" target="_blank">X</a>, Cyberleek committed to not releasing anything more about GTA 6—including its ending, which at this point remains unknown—as long as Take-Two lets everything slide.</p><p>"CL has the ending. It was considered," the message states. "It would punish Take-Two greatly—but ruin the experience for the gamers, who did nothing wrong. Take-Two would show CL no mercy—why should CL show any to them? Still: Take-Two was punished enough.</p><p>"The ending stays unpublished. Proof: the latest leek—clips from the final missions, out of context, revealing nothing. The dead man's switch is active—story spoilers only. Left alone, it never fires. Whoever removes CL chooses it."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:94.11%;"><img id="tq5sm4PPdFDjLzdxf2ody7" name="HUlzIkwXoAAlguR" alt="“CL has the ending. It was considered. It would punish Take-Two greatly - but ruin the experience for the gamers, who did nothing wrong. Take-Two would show CL no mercy - why should CL show any to them? Still: Take-Two was punished enough. The ending stays unpublished. Proof: the latest leek - clips from the final missions, out of context, revealing nothing. The dead man's switch is active - story spoilers only. Left alone, it never fires. Whoever removes CL chooses it." src="https://cdn.mos.cms.futurecdn.net/tq5sm4PPdFDjLzdxf2ody7-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1807" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/tq5sm4PPdFDjLzdxf2ody7-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Cyberleek)</span></figcaption></figure><p>A dead man's switch, generally speaking, is a switch built to be triggered if its operator is incapacitated. Miles Dyson, for instance, blew up Cyberdyne Systems with an improvised dead man's switch in Terminator 2 (not that it did much good) and Roger Murtaugh did the literal grenade-pin thing in Lethal Weapon while trying to save his daughter from Shadow Company goons. There are variants—in Point Break, for instance, Rosie was ordered to kill Johnny Utah's girlfriend if Bodhi didn't check in by 3, to ensure Johnny's participation in a bank robbery. </p><p>My own personal favorite dead man's switch comes from Hawk the Slayer:</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/r-KMLfBE_SQ?start=134" allowfullscreen></iframe></div></div><p>That particular variation on the theme notwithstanding, dead man's switches are meant as last-ditch failsafes: If something bad happens to me, something much worse will happen to <em>you</em>.</p><p>It makes me wonder if Cyberleek's sudden withdrawal and proposed <em>détente</em> with Take-Two means that they're starting to feel the heat. Take-Two takes this sort of thing seriously as a matter of course, and you can bet it's going to go extra-hardass on anyone who messes with its biggest game ever, which GTA 6 unquestionably is. I have no doubt that life for Cyberleek will become very unpleasant, very quickly, if and when they're ever caught.</p><p>The problem Cyberleek faces, of course, is that their leverage—assuming it's real in the first place—has a very short shelf life. In six weeks at most, the GTA 6 ending will be out there, at which point there will be no shot left to shoot. </p><p>At best, then, this threat grants Cyberleek an extra month to find a deeper hole to hide in. And even that is wildly optimistic: Take-Two might be operating quietly, but I have no doubt that it's also operating furiously, and that there's not much of a mood to play 'I won't if you won't' games.</p><p>Cyberleek also defended their cryptocurrency ask, saying it "was always a donation, never an investment," and denying that a rugpull happened; they also said they wouldn't release the full build of GTA 6, with "full story mode, played to the end," because their memecoin market cap <a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-leaker-threatens-to-upload-a-build-with-full-story-mode/" target="_blank">didn't hit $30 million</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="ac161312-c7fd-11f1-b843-8fd6869a7f22" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:948px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="kkNtsnEsZiTdgmuFTn4pJ6" name="gta 6 raul bautista square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kkNtsnEsZiTdgmuFTn4pJ6-1920-80.jpg" mos="" align="middle" fullscreen="" width="948" height="948" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="ac161312-c7fd-11f1-b843-8fd6869a7f22" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pre-order-editions-standard-ultimate"><strong>GTA 6 editions</strong></a>: What's included at each price point<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The known garage lineup<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-weapons-list/"><strong>GTA 6 guns</strong></a>: Confirmed arsenal so far</p></div></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/grand-theft-auto/gta-6-leaker-threatens-take-two-with-a-dead-mans-switch/</link>
                                                                            <description>
                            <![CDATA[ Cyberleek promises not to reveal the ending of GTA 6, as long as Take-Two leaves them alone. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QV8AEEWGcEWa74EXShcYdH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/tyqmjkGus5BdAHKYoPzkw8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 18:36:16 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 20:38:57 +0000</updated>
                                                                                                                                            <category><![CDATA[Grand Theft Auto]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                    <category><![CDATA[Action]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/tyqmjkGus5BdAHKYoPzkw8-1920-80.jpg">
                                                            <media:credit><![CDATA[Rockstar Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GTA 6 character Raul Bautista]]></media:description>                                                            <media:text><![CDATA[GTA 6 character Raul Bautista]]></media:text>
                                <media:title type="plain"><![CDATA[GTA 6 character Raul Bautista]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/tyqmjkGus5BdAHKYoPzkw8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's a classic move: A villain, or sometimes a hero, inserts himself into a seemingly inescapable situation. Danger everywhere—no way out! But just as the good guys (or bad guys) are about to pounce, he holds up the pin he's pulled from the grenade under his coat, forcing everyone to back off! Escape is at hand!</p><p>That seems to be the strategy now adopted by notorious <a href="https://www.pcgamer.com/grand-theft-auto-6/" target="_blank">Grand Theft Auto 6</a> leaker Cyberleek, and by "seems to be," I mean they stated it outright. In a message posted to their now-defunct website but preserved by GTA VI News on <a href="https://x.com/_GTAVI_/status/2110344496386867681" target="_blank">X</a>, Cyberleek committed to not releasing anything more about GTA 6—including its ending, which at this point remains unknown—as long as Take-Two lets everything slide.</p><p>"CL has the ending. It was considered," the message states. "It would punish Take-Two greatly—but ruin the experience for the gamers, who did nothing wrong. Take-Two would show CL no mercy—why should CL show any to them? Still: Take-Two was punished enough.</p><p>"The ending stays unpublished. Proof: the latest leek—clips from the final missions, out of context, revealing nothing. The dead man's switch is active—story spoilers only. Left alone, it never fires. Whoever removes CL chooses it."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:94.11%;"><img id="tq5sm4PPdFDjLzdxf2ody7" name="HUlzIkwXoAAlguR" alt="“CL has the ending. It was considered. It would punish Take-Two greatly - but ruin the experience for the gamers, who did nothing wrong. Take-Two would show CL no mercy - why should CL show any to them? Still: Take-Two was punished enough. The ending stays unpublished. Proof: the latest leek - clips from the final missions, out of context, revealing nothing. The dead man's switch is active - story spoilers only. Left alone, it never fires. Whoever removes CL chooses it." src="https://cdn.mos.cms.futurecdn.net/tq5sm4PPdFDjLzdxf2ody7-1920-80.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1807" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/tq5sm4PPdFDjLzdxf2ody7-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Cyberleek)</span></figcaption></figure><p>A dead man's switch, generally speaking, is a switch built to be triggered if its operator is incapacitated. Miles Dyson, for instance, blew up Cyberdyne Systems with an improvised dead man's switch in Terminator 2 (not that it did much good) and Roger Murtaugh did the literal grenade-pin thing in Lethal Weapon while trying to save his daughter from Shadow Company goons. There are variants—in Point Break, for instance, Rosie was ordered to kill Johnny Utah's girlfriend if Bodhi didn't check in by 3, to ensure Johnny's participation in a bank robbery. </p><p>My own personal favorite dead man's switch comes from Hawk the Slayer:</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/r-KMLfBE_SQ?start=134" allowfullscreen></iframe></div></div><p>That particular variation on the theme notwithstanding, dead man's switches are meant as last-ditch failsafes: If something bad happens to me, something much worse will happen to <em>you</em>.</p><p>It makes me wonder if Cyberleek's sudden withdrawal and proposed <em>détente</em> with Take-Two means that they're starting to feel the heat. Take-Two takes this sort of thing seriously as a matter of course, and you can bet it's going to go extra-hardass on anyone who messes with its biggest game ever, which GTA 6 unquestionably is. I have no doubt that life for Cyberleek will become very unpleasant, very quickly, if and when they're ever caught.</p><p>The problem Cyberleek faces, of course, is that their leverage—assuming it's real in the first place—has a very short shelf life. In six weeks at most, the GTA 6 ending will be out there, at which point there will be no shot left to shoot. </p><p>At best, then, this threat grants Cyberleek an extra month to find a deeper hole to hide in. And even that is wildly optimistic: Take-Two might be operating quietly, but I have no doubt that it's also operating furiously, and that there's not much of a mood to play 'I won't if you won't' games.</p><p>Cyberleek also defended their cryptocurrency ask, saying it "was always a donation, never an investment," and denying that a rugpull happened; they also said they wouldn't release the full build of GTA 6, with "full story mode, played to the end," because their memecoin market cap <a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-leaker-threatens-to-upload-a-build-with-full-story-mode/" target="_blank">didn't hit $30 million</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="ac161312-c7fd-11f1-b843-8fd6869a7f22" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:948px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="kkNtsnEsZiTdgmuFTn4pJ6" name="gta 6 raul bautista square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kkNtsnEsZiTdgmuFTn4pJ6-1920-80.jpg" mos="" align="middle" fullscreen="" width="948" height="948" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="ac161312-c7fd-11f1-b843-8fd6869a7f22" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pre-order-editions-standard-ultimate"><strong>GTA 6 editions</strong></a>: What's included at each price point<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The known garage lineup<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-weapons-list/"><strong>GTA 6 guns</strong></a>: Confirmed arsenal so far</p></div></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Ace Combat Zero gets its own standalone app on Steam, freeing it from the 136GB install of Ace Combat 8 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Ace Combat 8 rocks. PC Gamer's reviewer <a href="https://www.pcgamer.com/games/action/ace-combat-8-wings-of-theve-review/">scored it a 92%</a>, and I've been savoring the campaign, because I know it could be years until we get another bombastic flight sim melodrama of its kind. Although I <em>do</em> have another Ace Combat lined up to play after: Ace Combat Zero, which was included as a free pre-order bonus with AC8, and subsequently responsible for the majority of the new game's negative launch day reviews.</p><p>Not because Zero is bad—it's a series fan-favorite—but because Bandai Namco inexplicably bundled it into the AC8 launcher, meaning you can't download this 3.2GB port of a 2006 PS2 game without the 136 gigabytes of Wings of Theve. <a href="https://www.pcgamer.com/games/sim/ace-combat-8-steam-reviewers-are-steaming-mad-about-its-pre-order-bonus-not-being-a-standalone-app/">This decision was not well received</a>.</p><p>But now there's a happy ending: in an update on the Steam page on Tuesday, Bandai Namco announced that Ace Combat Zero "will be made available as a standalone application on Steam." That doesn't mean it will be made available for purchase: Zero was a pre-order bonus, so only those who bought Ace Combat 8 ahead of launch will have it in their Steam libraries. No change there. You'll just be able to download and launch it independently if you already own it. It's currently going through "final quality assurance and compatibility testing" ahead of the split.</p><p>The biggest benefit from the change (aside from potentially freeing up 136GB of precious SSD space) is that Zero will now support Steam Cloud saves. Judging by the nearly 400 comments on the post in less than 24 hours, the news has gone over very well—though there are also quite a few requests for the standalone Zero to include achievements, which were part of the console release.</p><p>There's no date given for Zero's emancipation, but presumably it won't be too far off.</p><div class="product"><a data-dimension112="f1faf1ec-c7fb-11f1-9b14-b75a5837c253" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="f1faf1ec-c7fb-11f1-9b14-b75a5837c253" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/sim/ace-combat-zero-gets-its-own-standalone-app-on-steam-freeing-it-from-the-136gb-install-of-ace-combat-8/</link>
                                                                            <description>
                            <![CDATA[ The biggest complaint about the pre-order bonus game is getting resolved with a happy ending. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sUMuBDKpUnTcyVk4PsT75m</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vUcRCJgzRvvAHczNjkUV3a-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 18:21:52 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Sim]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ wesley@pcgamer.com (Wes Fenlon) ]]></author>                    <dc:creator><![CDATA[ Wes Fenlon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oLoGHTuSZDFZX6QdzCTj4R-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Wes has been covering games and hardware for more than 10 years, first at tech sites like The Wirecutter and Tested before joining the PC Gamer team in 2014. Wes plays a little bit of everything, but he&#039;ll always jump at the chance to cover emulation and Japanese games.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;When he&#039;s not obsessively optimizing and re-optimizing a tangle of conveyor belts in Satisfactory (it&#039;s really becoming a problem), he&#039;s probably playing a 20-year-old Final Fantasy or some opaque ASCII roguelike. With a focus on writing and editing features, he seeks out personal stories and in-depth histories from the corners of PC gaming and its niche communities. 50% pizza by volume (deep dish, to be specific).&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;His lasting legacy on this earth may be &lt;a href=&quot;https://www.pcgamer.com/ive-somehow-been-wasding-wrong-my-whole-life/&quot; target=&quot;_blank&quot;&gt;using WASD wrong&lt;/a&gt; for his entire life.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vUcRCJgzRvvAHczNjkUV3a-1920-80.jpg">
                                                            <media:credit><![CDATA[Bandai Namco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Ace Combat Zero art of two planes flying above a fiery explosion]]></media:description>                                                            <media:text><![CDATA[Ace Combat Zero art of two planes flying above a fiery explosion]]></media:text>
                                <media:title type="plain"><![CDATA[Ace Combat Zero art of two planes flying above a fiery explosion]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vUcRCJgzRvvAHczNjkUV3a-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Ace Combat 8 rocks. PC Gamer's reviewer <a href="https://www.pcgamer.com/games/action/ace-combat-8-wings-of-theve-review/">scored it a 92%</a>, and I've been savoring the campaign, because I know it could be years until we get another bombastic flight sim melodrama of its kind. Although I <em>do</em> have another Ace Combat lined up to play after: Ace Combat Zero, which was included as a free pre-order bonus with AC8, and subsequently responsible for the majority of the new game's negative launch day reviews.</p><p>Not because Zero is bad—it's a series fan-favorite—but because Bandai Namco inexplicably bundled it into the AC8 launcher, meaning you can't download this 3.2GB port of a 2006 PS2 game without the 136 gigabytes of Wings of Theve. <a href="https://www.pcgamer.com/games/sim/ace-combat-8-steam-reviewers-are-steaming-mad-about-its-pre-order-bonus-not-being-a-standalone-app/">This decision was not well received</a>.</p><p>But now there's a happy ending: in an update on the Steam page on Tuesday, Bandai Namco announced that Ace Combat Zero "will be made available as a standalone application on Steam." That doesn't mean it will be made available for purchase: Zero was a pre-order bonus, so only those who bought Ace Combat 8 ahead of launch will have it in their Steam libraries. No change there. You'll just be able to download and launch it independently if you already own it. It's currently going through "final quality assurance and compatibility testing" ahead of the split.</p><p>The biggest benefit from the change (aside from potentially freeing up 136GB of precious SSD space) is that Zero will now support Steam Cloud saves. Judging by the nearly 400 comments on the post in less than 24 hours, the news has gone over very well—though there are also quite a few requests for the standalone Zero to include achievements, which were part of the console release.</p><p>There's no date given for Zero's emancipation, but presumably it won't be too far off.</p><div class="product"><a data-dimension112="f1faf1ec-c7fb-11f1-9b14-b75a5837c253" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="f1faf1ec-c7fb-11f1-9b14-b75a5837c253" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've given GTA 5's cars Bond-style ejector seats ]]></title>
                                                                                                <dc:content><![CDATA[ <div  class="fancy-box"><div class="fancy_box-title">Los Santos Customs</div><div class="fancy_box_body"><p class="fancy-box__body-text">I'm modding GTA 5 every day in a quest to either transform it into a PC version of GTA 6 or break it entirely. Come back tomorrow to find out what new horrible thing I've done to Rockstar's baby, or check out <a data-analytics-id="inline-link" href="https://www.pcgamer.com/games/grand-theft-auto/im-modding-gta-5-every-day-until-it-becomes-gta-6-or-breaks-starting-with-a-new-vehicle-and-enough-missiles-to-level-a-city-block/">what I got up to earlier</a>.</p></div></div><p>Following my experience being <a href="https://www.pcgamer.com/games/grand-theft-auto/help-i-have-been-abducted-by-a-tiny-car-and-cannot-escape/">abducted by a small yellow taxi</a>, something has become clear to me: I need a means to escape. The trauma of my kidnapping experience cannot be repeated. I have installed <a href="https://www.gta5-mods.com/scripts/eject">Eject</a> for Grand Theft Auto 5, a mod that lets you punch out of vehicles at a moment's notice.</p><p>"A simple little fun script that allows you to eject from vehicles and parachute down," reads the mod's description—a claim which is 50% true. You can, indeed, eject from vehicles at the push of a button, but the parachuting down part is more of a screaming plummet. We make do.</p><p>The mod's defaults are relatively anaemic. Its "Force" setting sits at a measly 150. 150 what? No idea, but that's a small number, so I immediately increased it to 10,000. I also tried increasing it to 100,000, which seemed to crash the game on launch.</p><p>And then, off I went, sailing through the streets of Los Santos in my shiny car in the night (sometimes in the day) and whacking the eject key to hop out. The mod has not quite mastered preservation of momentum, so my attempts to, for instance, leap across an overpass and land safely back in my car, met mostly with failure. And by mostly I mean entirely.</p><p>Still, it did let me do this, so I'm calling it a mixed success.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:868px;"><p class="vanilla-image-block" style="padding-top:55.30%;"><img id="Jtj9g8TuqSpDRhfuapnKdg" name="GrandTheftAutoVLegacy-2026-10-1411-48-33AM-00.01.24.340-00.01.31.900-ezgif.com-optimize" alt="Franklin ejects from an airport baggage tug." src="https://cdn.mos.cms.futurecdn.net/Jtj9g8TuqSpDRhfuapnKdg-1920-80.gif" mos="" align="middle" fullscreen="1" width="868" height="480" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Jtj9g8TuqSpDRhfuapnKdg-1920-80.gif' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar)</span></figcaption></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="f6bf7b5c-c7e8-11f1-80cb-7bf449c3db6e" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1238px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZF5ZJsyvbhJRVSDmd9H3jA" name="gta 6 cover art square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZF5ZJsyvbhJRVSDmd9H3jA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1238" height="1238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="f6bf7b5c-c7e8-11f1-80cb-7bf449c3db6e" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The garage lineup<br><strong></strong><a href="https://www.pcgamer.com/games/action/grand-theft-auto/gta6-characters/"><strong>GTA 6 characters</strong></a>: Your anti-hero cast<br><strong></strong><a href="https://www.pcgamer.com/games/grand-theft-auto/gta6-map/" target="_blank"><strong>GTA 6 map</strong>:</a> Confirmed Vice City locales<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?</p></div></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/grand-theft-auto/ive-given-gta-5s-cars-bond-style-ejector-seats/</link>
                                                                            <description>
                            <![CDATA[ Going up. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GSbvWNh5QDS85oYdMSMVum</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/66FoPSqPSVhnVkkkfTpnFg-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 17:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Grand Theft Auto]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                    <category><![CDATA[Action]]></category>
                                                                                                <author><![CDATA[ joshua.wolens@futurenet.com (Joshua Wolens) ]]></author>                    <dc:creator><![CDATA[ Joshua Wolens ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYajqiFjn2Rwz4msxoLFyP-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/66FoPSqPSVhnVkkkfTpnFg-1920-80.jpg">
                                                            <media:credit><![CDATA[Rockstar]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Franklin t-poses in midair, with a man in a purple fursuit on his back.]]></media:description>                                                            <media:text><![CDATA[Franklin t-poses in midair, with a man in a purple fursuit on his back.]]></media:text>
                                <media:title type="plain"><![CDATA[Franklin t-poses in midair, with a man in a purple fursuit on his back.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/66FoPSqPSVhnVkkkfTpnFg-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div  class="fancy-box"><div class="fancy_box-title">Los Santos Customs</div><div class="fancy_box_body"><p class="fancy-box__body-text">I'm modding GTA 5 every day in a quest to either transform it into a PC version of GTA 6 or break it entirely. Come back tomorrow to find out what new horrible thing I've done to Rockstar's baby, or check out <a data-analytics-id="inline-link" href="https://www.pcgamer.com/games/grand-theft-auto/im-modding-gta-5-every-day-until-it-becomes-gta-6-or-breaks-starting-with-a-new-vehicle-and-enough-missiles-to-level-a-city-block/">what I got up to earlier</a>.</p></div></div><p>Following my experience being <a href="https://www.pcgamer.com/games/grand-theft-auto/help-i-have-been-abducted-by-a-tiny-car-and-cannot-escape/">abducted by a small yellow taxi</a>, something has become clear to me: I need a means to escape. The trauma of my kidnapping experience cannot be repeated. I have installed <a href="https://www.gta5-mods.com/scripts/eject">Eject</a> for Grand Theft Auto 5, a mod that lets you punch out of vehicles at a moment's notice.</p><p>"A simple little fun script that allows you to eject from vehicles and parachute down," reads the mod's description—a claim which is 50% true. You can, indeed, eject from vehicles at the push of a button, but the parachuting down part is more of a screaming plummet. We make do.</p><p>The mod's defaults are relatively anaemic. Its "Force" setting sits at a measly 150. 150 what? No idea, but that's a small number, so I immediately increased it to 10,000. I also tried increasing it to 100,000, which seemed to crash the game on launch.</p><p>And then, off I went, sailing through the streets of Los Santos in my shiny car in the night (sometimes in the day) and whacking the eject key to hop out. The mod has not quite mastered preservation of momentum, so my attempts to, for instance, leap across an overpass and land safely back in my car, met mostly with failure. And by mostly I mean entirely.</p><p>Still, it did let me do this, so I'm calling it a mixed success.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:868px;"><p class="vanilla-image-block" style="padding-top:55.30%;"><img id="Jtj9g8TuqSpDRhfuapnKdg" name="GrandTheftAutoVLegacy-2026-10-1411-48-33AM-00.01.24.340-00.01.31.900-ezgif.com-optimize" alt="Franklin ejects from an airport baggage tug." src="https://cdn.mos.cms.futurecdn.net/Jtj9g8TuqSpDRhfuapnKdg-1920-80.gif" mos="" align="middle" fullscreen="1" width="868" height="480" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Jtj9g8TuqSpDRhfuapnKdg-1920-80.gif' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar)</span></figcaption></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product star-deal"><a data-dimension112="f6bf7b5c-c7e8-11f1-80cb-7bf449c3db6e" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1238px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZF5ZJsyvbhJRVSDmd9H3jA" name="gta 6 cover art square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZF5ZJsyvbhJRVSDmd9H3jA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1238" height="1238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><div><span class="product__star-deal-label">Grand Theft Auto 6</span><p><a href="https://www.pcgamer.com/grand-theft-auto/gta-6-guide/" data-dimension112="f6bf7b5c-c7e8-11f1-80cb-7bf449c3db6e" data-action="Star Deal Block" data-label="GTA 6 guide" data-dimension48="GTA 6 guide" data-dimension25=""><strong>GTA 6 guide</strong></a>: Everything we know<br><strong></strong><a href="https://www.pcgamer.com/gta-6-cars-list/" target="_blank"><strong>GTA 6 cars</strong></a>: The garage lineup<br><strong></strong><a href="https://www.pcgamer.com/games/action/grand-theft-auto/gta6-characters/"><strong>GTA 6 characters</strong></a>: Your anti-hero cast<br><strong></strong><a href="https://www.pcgamer.com/games/grand-theft-auto/gta6-map/" target="_blank"><strong>GTA 6 map</strong>:</a> Confirmed Vice City locales<br><a href="https://www.pcgamer.com/games/grand-theft-auto/gta-6-pc-release-date/"><strong>GTA 6 PC release</strong></a>: When's it going to happen?</p></div></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Looking back on 10 years of Overwatch, the promises kept, and where Team 4 goes from here ]]></title>
                                                                                                <dc:content><![CDATA[ <p>10 years is a long time for anything, but for a live service game it's a milestone that very few are able to cross. <a href="https://www.pcgamer.com/uk/overwatch/">Overwatch</a> made it over the line earlier this year, and has since been able to do something of <a href="https://www.pcgamer.com/games/fps/this-world-means-so-much-to-us-overwatchs-game-director-celebrates-its-10-year-anniversary-by-mapping-out-how-it-all-began/">a victory lap</a> because after all the highs and the lows, <a href="https://www.pcgamer.com/games/fps/overwatchs-newest-hero-is-yet-another-example-of-how-team-4-is-on-a-generational-run/">Overwatch is in the best place it's ever been</a>. </p><p>"It doesn't feel like 10 years to me," game director Aaron Keller tells me. "Although, I could probably answer that question in a few ways. There's probably a year or two that might have felt like five or six years in the middle of this process, but there's always so much to be doing on the team and for the game." But Keller reiterates the good old adage "if you love what you do, you never work a day in your life. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xdcPtestjJHLDAJEgWhDeR" name="emvYVKSRDHouqAogvMDJhA.jpg" alt="D.Va taking a selfie" src="https://cdn.mos.cms.futurecdn.net/xdcPtestjJHLDAJEgWhDeR-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>"Our team is filled with people that are not just passionate about making games, they're passionate about Overwatch itself, our heroes and the world in which they reside. So when you get to go into the office and talk about that all day, the time can fly by pretty quickly." </p><p>Alec Dawson, associate game director, joined before the launch of Overwatch 2 but also feels as if these last four years have flown by "in a blink of an eye … It's wild that when we started the year, we had these silhouettes of heroes that we didn't even know what they were going to be, what they were going to look like, and now we do," Dawson adds. "Sometimes it just goes by much quicker than you think it's going to." </p><p>Overwatch has undergone many metamorphoses, some good, others not so good. We had the early golden years, then we had GOATS, then a plethora of some of the best game cinematics ever, then we had early Brigitte taking a literal hammer to the game's balance. </p><p>After something of a content drought, excitement was renewed with the announcement of Overwatch 2, and while this did offer a lot of good changes like more heroes, content, and focused team fights in 5v5, it <a href="https://www.pcgamer.com/i-cannot-stress-enough-that-overwatch-2-isnt-overwatch-2/">failed to meet the requirements of a sequel</a>, and that's without the <a href="https://www.pcgamer.com/overwatch-2s-pve-mode-may-be-dead-but-ill-play-the-hell-out-of-these-story-missions/">disappointment surrounding PvE</a>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8tACEUQZmSoZq4PiuBwHVJ" name="012622-overwatch-roadhog-sleep-ana.jpg" alt="Overwatch's Ana sleeping a Roadhog" src="https://cdn.mos.cms.futurecdn.net/8tACEUQZmSoZq4PiuBwHVJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tyler C. / Blizzard)</span></figcaption></figure><p>There was a time when I thought that was it for Overwatch, that PvE and Overwatch 2 would be all anyone would ever talk about. But I've never been happier to be proven wrong, because all these years later Overwatch is going from strength to strength experimenting with things like perks and Stadium, tweaking the user experience with map voting and hero bans, and changing to a new annual content release format. </p><p>"I don't think we could honestly say we knew it would go this far," Keller says. "I believe that there's always been something special about Overwatch. There's something special about the world. This optimistic, hopeful take on the future. I do think that there's something special about the gameplay—it's so crisp and clean—and there's moments you have in Overwatch that you just don't really get to have in other games." </p><p>I've said it before but the current success that Team 4 is seeing <a href="https://www.pcgamer.com/games/fps/overwatchs-glow-up-didnt-just-happen-overnight-its-successes-have-been-in-the-works-for-years-now/">didn't just happen overnight</a>. It's been a long road, one marked with deliberate decisions and remedies taken by its devs. The passion the devs have exhibited, the humility to admit when things aren't working, and keeping player's best interests at the forefront are why the game is in such a good state today. </p><h2 id="what-promises-have-team-4-kept-over-the-last-10-years">What promises have Team 4 kept over the last 10 years?</h2><h2 id="next-up">Next up</h2><p>Moving on from its tenth anniversary year, Overwatch has a new seasonal cadence which has not only worked to spark excitement, but as Keller sees it, has bolstered the "belief that Overwatch is really going in a good direction." There's a steady flow of quality-of-life changes to its UI as we saw last season with new heal, burn, and team indicators. Team 4 has given players more freedom when it comes to picking Drives, and the narrative story is back to being central to Overwatch's experience. </p><p>There's obviously going to be a steady flow of new content and characters, but Dawson has also confirmed that map reworks and tweaks will be "something we want to continue doing". Informed by map voting and community feedback the team will ensure that reworks "can stand on its own" not only fixing problems but gunning for a better overall experience: "I think our next rework does a pretty good job of that."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NQfwNpKnFqE3StyLVtegAJ" name="OVR_S4_PK_H53DMon_Ultimate_CallMech_001" alt="A promotional screenshot of the new Overwatch hero D.Mon. A pilot woman in purple hovers in the air as pieces of her mech fly into place." src="https://cdn.mos.cms.futurecdn.net/NQfwNpKnFqE3StyLVtegAJ-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard Entertainment)</span></figcaption></figure><p>"We're really far into development on Season 1 for 2027," Keller reveals. "We're talking about what Season 1 is going to look like in 2028, and getting started on that. We want it to feel like not just one big moment but that the game is fresh for players and that we are getting players to look at it through new eyes again—we want to do it in a different way each year." </p><p>But while Team 4 gets stuck into planning content for the years to come, Dawson stresses that their overall mission will stay the same: "As much as the industry has changed, games have changed, genres, etc. Overwatch is still home for so many people. It's a really big responsibility that we take to heart of making sure that Overwatch can be a part of those people's lives as long as possible. </p><p>"To make sure they have the game and the heroes that they can relate to, make sure that they can play with their friends, and just keep having that place where they feel like, okay, this is where I want to be. This is where I want to spend my time. This is where I want to make memories. Hopefully, we can keep carrying that into the future as well." </p><div class="product"><a data-dimension112="07ea1b2e-c7dc-11f1-a5d6-73afe04e54b5" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="07ea1b2e-c7dc-11f1-a5d6-73afe04e54b5" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/fps/looking-back-on-10-years-of-overwatch-the-promises-kept-and-where-team-4-goes-from-here/</link>
                                                                            <description>
                            <![CDATA[ "In order for people to play the game in the present, they need to have confidence in its future." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">azVaGjJJFngbhZgGhN2QR3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/72Yyay4cZg3uzUhx3isbDY-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 16:37:47 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 16:41:47 +0000</updated>
                                                                                                                                            <category><![CDATA[FPS]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elie Gould ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5HPuSiRgqza2PQESSqE7gG-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Elie is a news writer with an unhealthy love of horror games—even though their greatest fear is being chased. When they&#039;re not screaming or hiding, there&#039;s a good chance you&#039;ll find them testing their metal in metroidvanias or just admiring their Pokemon TCG collection. Elie has previously worked at TechRadar Gaming as a staff writer and studied at JOMEC in International Journalism and Documentaries – spending their free time filming short docs about Smash Bros. or any indie game that crossed their path.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/72Yyay4cZg3uzUhx3isbDY-1920-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                                                                                                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/72Yyay4cZg3uzUhx3isbDY-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>10 years is a long time for anything, but for a live service game it's a milestone that very few are able to cross. <a href="https://www.pcgamer.com/uk/overwatch/">Overwatch</a> made it over the line earlier this year, and has since been able to do something of <a href="https://www.pcgamer.com/games/fps/this-world-means-so-much-to-us-overwatchs-game-director-celebrates-its-10-year-anniversary-by-mapping-out-how-it-all-began/">a victory lap</a> because after all the highs and the lows, <a href="https://www.pcgamer.com/games/fps/overwatchs-newest-hero-is-yet-another-example-of-how-team-4-is-on-a-generational-run/">Overwatch is in the best place it's ever been</a>. </p><p>"It doesn't feel like 10 years to me," game director Aaron Keller tells me. "Although, I could probably answer that question in a few ways. There's probably a year or two that might have felt like five or six years in the middle of this process, but there's always so much to be doing on the team and for the game." But Keller reiterates the good old adage "if you love what you do, you never work a day in your life. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xdcPtestjJHLDAJEgWhDeR" name="emvYVKSRDHouqAogvMDJhA.jpg" alt="D.Va taking a selfie" src="https://cdn.mos.cms.futurecdn.net/xdcPtestjJHLDAJEgWhDeR-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard)</span></figcaption></figure><p>"Our team is filled with people that are not just passionate about making games, they're passionate about Overwatch itself, our heroes and the world in which they reside. So when you get to go into the office and talk about that all day, the time can fly by pretty quickly." </p><p>Alec Dawson, associate game director, joined before the launch of Overwatch 2 but also feels as if these last four years have flown by "in a blink of an eye … It's wild that when we started the year, we had these silhouettes of heroes that we didn't even know what they were going to be, what they were going to look like, and now we do," Dawson adds. "Sometimes it just goes by much quicker than you think it's going to." </p><p>Overwatch has undergone many metamorphoses, some good, others not so good. We had the early golden years, then we had GOATS, then a plethora of some of the best game cinematics ever, then we had early Brigitte taking a literal hammer to the game's balance. </p><p>After something of a content drought, excitement was renewed with the announcement of Overwatch 2, and while this did offer a lot of good changes like more heroes, content, and focused team fights in 5v5, it <a href="https://www.pcgamer.com/i-cannot-stress-enough-that-overwatch-2-isnt-overwatch-2/">failed to meet the requirements of a sequel</a>, and that's without the <a href="https://www.pcgamer.com/overwatch-2s-pve-mode-may-be-dead-but-ill-play-the-hell-out-of-these-story-missions/">disappointment surrounding PvE</a>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8tACEUQZmSoZq4PiuBwHVJ" name="012622-overwatch-roadhog-sleep-ana.jpg" alt="Overwatch's Ana sleeping a Roadhog" src="https://cdn.mos.cms.futurecdn.net/8tACEUQZmSoZq4PiuBwHVJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tyler C. / Blizzard)</span></figcaption></figure><p>There was a time when I thought that was it for Overwatch, that PvE and Overwatch 2 would be all anyone would ever talk about. But I've never been happier to be proven wrong, because all these years later Overwatch is going from strength to strength experimenting with things like perks and Stadium, tweaking the user experience with map voting and hero bans, and changing to a new annual content release format. </p><p>"I don't think we could honestly say we knew it would go this far," Keller says. "I believe that there's always been something special about Overwatch. There's something special about the world. This optimistic, hopeful take on the future. I do think that there's something special about the gameplay—it's so crisp and clean—and there's moments you have in Overwatch that you just don't really get to have in other games." </p><p>I've said it before but the current success that Team 4 is seeing <a href="https://www.pcgamer.com/games/fps/overwatchs-glow-up-didnt-just-happen-overnight-its-successes-have-been-in-the-works-for-years-now/">didn't just happen overnight</a>. It's been a long road, one marked with deliberate decisions and remedies taken by its devs. The passion the devs have exhibited, the humility to admit when things aren't working, and keeping player's best interests at the forefront are why the game is in such a good state today. </p><h2 id="what-promises-have-team-4-kept-over-the-last-10-years">What promises have Team 4 kept over the last 10 years?</h2><h2 id="next-up">Next up</h2><p>Moving on from its tenth anniversary year, Overwatch has a new seasonal cadence which has not only worked to spark excitement, but as Keller sees it, has bolstered the "belief that Overwatch is really going in a good direction." There's a steady flow of quality-of-life changes to its UI as we saw last season with new heal, burn, and team indicators. Team 4 has given players more freedom when it comes to picking Drives, and the narrative story is back to being central to Overwatch's experience. </p><p>There's obviously going to be a steady flow of new content and characters, but Dawson has also confirmed that map reworks and tweaks will be "something we want to continue doing". Informed by map voting and community feedback the team will ensure that reworks "can stand on its own" not only fixing problems but gunning for a better overall experience: "I think our next rework does a pretty good job of that."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NQfwNpKnFqE3StyLVtegAJ" name="OVR_S4_PK_H53DMon_Ultimate_CallMech_001" alt="A promotional screenshot of the new Overwatch hero D.Mon. A pilot woman in purple hovers in the air as pieces of her mech fly into place." src="https://cdn.mos.cms.futurecdn.net/NQfwNpKnFqE3StyLVtegAJ-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blizzard Entertainment)</span></figcaption></figure><p>"We're really far into development on Season 1 for 2027," Keller reveals. "We're talking about what Season 1 is going to look like in 2028, and getting started on that. We want it to feel like not just one big moment but that the game is fresh for players and that we are getting players to look at it through new eyes again—we want to do it in a different way each year." </p><p>But while Team 4 gets stuck into planning content for the years to come, Dawson stresses that their overall mission will stay the same: "As much as the industry has changed, games have changed, genres, etc. Overwatch is still home for so many people. It's a really big responsibility that we take to heart of making sure that Overwatch can be a part of those people's lives as long as possible. </p><p>"To make sure they have the game and the heroes that they can relate to, make sure that they can play with their friends, and just keep having that place where they feel like, okay, this is where I want to be. This is where I want to spend my time. This is where I want to make memories. Hopefully, we can keep carrying that into the future as well." </p><div class="product"><a data-dimension112="07ea1b2e-c7dc-11f1-a5d6-73afe04e54b5" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="07ea1b2e-c7dc-11f1-a5d6-73afe04e54b5" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Walking Dead's Chandler Riggs made a Resident Evil 7 short film even though 'it's impossible to please everybody' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Most may know Chandler Riggs from his role as Carl in The Walking Dead, but now some may know him as the director of the short film fan-adaptation of Resident Evil 7. Lasting but 20 minutes, it's set in the Baker's bayou home and takes place during the garage fight scene between the protagonist Ethan Winters and the infected Jack Baker. The most jarring thing about this short film isn't the graphic fight, though, it's Ethan's face. </p><p>Fans of Resident Evil 7 and Village will know that Ethan Winters is quite a shy guy, almost never showing his face apart from a couple instances in the Shadows of Rose DLC (and when you get the camera angle just right). Since both games are done in first-person there's no need to spend a lot of time looking at the man you're playing, and Capcom really leaned into that. </p><p>But Riggs made the decision to not only star as Ethan, but also to give him some more face time. "It was absolutely an intimidating thing," Riggs says in an <a href="https://www.ign.com/articles/hit-my-line-the-walking-dead-star-chandler-riggs-made-his-own-resident-evil-7-fan-film-and-hed-love-to-work-with-zach-cregger-on-a-sequel" target="_blank">interview with IGN</a>. "We're trying to do so much [that's] super faithful and true to the game, but this is a huge aspect that we are breaking from it. </p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/cYrDu9GBxn8" allowfullscreen></iframe></div></div><p>"But there isn't really another good way to tell [the story] in a live-action format. I was going back and forth like 'Okay, could we do first person the whole time? Could we avoid getting his face in or anything?' But the more we went back and forth on it, the more I was like, I mean, if we are going to do this and are going to appeal to a wider audience—more than just the people who played the games—then we're going to have to break those rules. It was very intimidating. Hopefully people are okay with it." </p><p>In this sense Riggs empathises with Zach Cregger and his film interpretation of Resident Evil levelling that "it's impossible to please everybody" and that there will always be "a crowd that is unhappy… But I think that it's a great way to try to get more people into the series, into the franchise, and tell a story that you want to tell." </p><p>Riggs goes on to admit that adapting Resident Evil for the silver screen is no easy task, which is why he respects Cregger's choice to go his own way and do his own thing instead of being chained to the lore. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wMM6nwjPcH3UxovnCziLSK" name="residentevil7.jpg" alt="House in Resident Evil 7" src="https://cdn.mos.cms.futurecdn.net/wMM6nwjPcH3UxovnCziLSK-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>"I've been looking forward to [Cregger’s RE movie] for so long," Riggs adds. "And I mean, one of the big reasons I even made this is, you know, I was just dying to see a good, true-to-the-game live-action adaptation of Resident Evil. I cannot wait to see the new one." The crew even tried to get their film out before Cregger's Resident Evil but unfortunately "parts just didn't align that way". </p><p>But Riggs does mention that "a huge reason for me even doing this in the first place is that I love being on set and collaborating with cool people", so he'd be game for a future collaboration with Cregger sometime: "I'm all for it. Listen, my phone is open. Hit my line!” </p><div class="product"><a data-dimension112="dca1d5fe-c7ec-11f1-a5f2-d7829fc8382b" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="dca1d5fe-c7ec-11f1-a5f2-d7829fc8382b" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/movies-tv/the-walking-deads-chandler-riggs-made-a-resident-evil-7-short-film-even-though-its-impossible-to-please-everybody/</link>
                                                                            <description>
                            <![CDATA[ We're swamped with Resident Evil films right now, lucky us. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uRDbjNtrUUqiVbJ7LEqeGh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KG8wCBnbZQwcRrD7R5tHYE-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 16:34:27 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Movies & TV]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elie Gould ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5HPuSiRgqza2PQESSqE7gG-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Elie is a news writer with an unhealthy love of horror games—even though their greatest fear is being chased. When they&#039;re not screaming or hiding, there&#039;s a good chance you&#039;ll find them testing their metal in metroidvanias or just admiring their Pokemon TCG collection. Elie has previously worked at TechRadar Gaming as a staff writer and studied at JOMEC in International Journalism and Documentaries – spending their free time filming short docs about Smash Bros. or any indie game that crossed their path.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/KG8wCBnbZQwcRrD7R5tHYE-1920-80.png">
                                                            <media:credit><![CDATA[Capcom]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Resi 7 dinner]]></media:description>                                                            <media:text><![CDATA[Resi 7 dinner]]></media:text>
                                <media:title type="plain"><![CDATA[Resi 7 dinner]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KG8wCBnbZQwcRrD7R5tHYE-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Most may know Chandler Riggs from his role as Carl in The Walking Dead, but now some may know him as the director of the short film fan-adaptation of Resident Evil 7. Lasting but 20 minutes, it's set in the Baker's bayou home and takes place during the garage fight scene between the protagonist Ethan Winters and the infected Jack Baker. The most jarring thing about this short film isn't the graphic fight, though, it's Ethan's face. </p><p>Fans of Resident Evil 7 and Village will know that Ethan Winters is quite a shy guy, almost never showing his face apart from a couple instances in the Shadows of Rose DLC (and when you get the camera angle just right). Since both games are done in first-person there's no need to spend a lot of time looking at the man you're playing, and Capcom really leaned into that. </p><p>But Riggs made the decision to not only star as Ethan, but also to give him some more face time. "It was absolutely an intimidating thing," Riggs says in an <a href="https://www.ign.com/articles/hit-my-line-the-walking-dead-star-chandler-riggs-made-his-own-resident-evil-7-fan-film-and-hed-love-to-work-with-zach-cregger-on-a-sequel" target="_blank">interview with IGN</a>. "We're trying to do so much [that's] super faithful and true to the game, but this is a huge aspect that we are breaking from it. </p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/cYrDu9GBxn8" allowfullscreen></iframe></div></div><p>"But there isn't really another good way to tell [the story] in a live-action format. I was going back and forth like 'Okay, could we do first person the whole time? Could we avoid getting his face in or anything?' But the more we went back and forth on it, the more I was like, I mean, if we are going to do this and are going to appeal to a wider audience—more than just the people who played the games—then we're going to have to break those rules. It was very intimidating. Hopefully people are okay with it." </p><p>In this sense Riggs empathises with Zach Cregger and his film interpretation of Resident Evil levelling that "it's impossible to please everybody" and that there will always be "a crowd that is unhappy… But I think that it's a great way to try to get more people into the series, into the franchise, and tell a story that you want to tell." </p><p>Riggs goes on to admit that adapting Resident Evil for the silver screen is no easy task, which is why he respects Cregger's choice to go his own way and do his own thing instead of being chained to the lore. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wMM6nwjPcH3UxovnCziLSK" name="residentevil7.jpg" alt="House in Resident Evil 7" src="https://cdn.mos.cms.futurecdn.net/wMM6nwjPcH3UxovnCziLSK-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>"I've been looking forward to [Cregger’s RE movie] for so long," Riggs adds. "And I mean, one of the big reasons I even made this is, you know, I was just dying to see a good, true-to-the-game live-action adaptation of Resident Evil. I cannot wait to see the new one." The crew even tried to get their film out before Cregger's Resident Evil but unfortunately "parts just didn't align that way". </p><p>But Riggs does mention that "a huge reason for me even doing this in the first place is that I love being on set and collaborating with cool people", so he'd be game for a future collaboration with Cregger sometime: "I'm all for it. Listen, my phone is open. Hit my line!” </p><div class="product"><a data-dimension112="dca1d5fe-c7ec-11f1-a5f2-d7829fc8382b" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="dca1d5fe-c7ec-11f1-a5f2-d7829fc8382b" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Assassin's Creed Black Flag Resynced was a big hit, and now it's time for big layoffs at the studio that made it ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Three months after the very successful launch of <a href="https://www.pcgamer.com/assassin-s-creed-black-flag-resynced" target="_blank">Assassin's Creed Black Flag Resynced</a>, a game that sold two million copies in a single day (<a href="https://staticctf.ubisoft.com/8aefmxkxpxwl/7mdUrr9hq9ND6uPuHO5HkD/1b16355051ff91484e3b06702d87aca0/ACBFR_MA_3M_Units.pdf" target="_blank" data-rewrite="keep">three million copies</a> in a week!) and surpassed "annual expectations" in just two weeks, Ubisoft has laid off 70 people from developer Ubisoft Singapore. In a statement provided to PC Gamer, the publisher also said it plans to close the Ubisoft Redlynx studio outright.</p><p>This would be reason number two on our list of <a href="https://www.pcgamer.com/gaming-industry/foolproof-ways-to-get-laid-off-in-the-videogame-industry/" target="_blank">25 foolproof ways to get laid off</a> in the videogame industry: Make a game that sells so well, it blows away all expectations and makes even more money than anyone dared hope. </p><p>Of course, we've already seen this in play with Black Flag Resynced—Ubisoft Barcelona, a support studio on the game, had nearly <a href="https://www.pcgamer.com/games/assassins-creed/the-company-has-turned-its-back-on-us-black-flag-resynced-developers-at-ubisoft-barcelona-are-being-laid-off-instead-of-celebrating-the-series-latest-hit/" target="_blank">a third of its number cut</a> shortly after it launched. </p><p>The Ubisoft Barcelona layoffs might seem particularly egregious, coming so soon after it produced a much-needed win for a publisher that's spent the past few years <a href="https://www.pcgamer.com/gaming-industry/ubisoft-closes-another-2-studios-lays-off-hundreds-more-employees/" target="_blank">taking big Ls</a>, but it's not the only bad news. </p><p>A year after announcing a "<a href="https://www.pcgamer.com/gaming-industry/ubisoft-has-come-up-with-a-new-way-to-avoid-saying-the-word-layoffs-with-a-voluntary-career-transition-program-offer-that-some-employees-wont-be-able-to-refuse/" target="_blank">restructuring proposal</a>" for Ubisoft Redlynx aimed at reducing costs and ensuring "a stronger prioritization and efficiency across the company’s worldwide studio network," Ubisoft has now decided to close the studio outright.</p><p>Founded in 2000 and acquired by Ubisoft in 2011, Redlynx is best known for the Trials motorcycle racing games, the last of which—<a href="https://www.pcgamer.com/trials-rising/" target="_blank">Trials Rising</a>—came out in 2019. Since then, the studio supported the development of Star Wars Outlaws and released the mobile game Gwen's Getaway; a <a href="https://www.videogameschronicle.com/news/ubisoft-is-planning-to-shut-down-trials-studio-redlynx-and-lay-off-70-ubisoft-singapore-staff/" target="_blank">VGC</a> report says Ubisoft decided to close Redlynx because it's not currently working on anything else, and downsizing wouldn't make it sustainable anyway.</p><p>Ubisoft acknowledged "the contributions" of the employees being put out of work in its statement, and said it will conduct the process "with care and respect."</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="9efcf396-c7e7-11f1-afac-47bec916f787" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="9efcf396-c7e7-11f1-afac-47bec916f787" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/gaming-industry/assassins-creed-black-flag-resynced-was-a-big-hit-and-now-its-time-for-big-layoffs-at-the-studio-that-made-it/</link>
                                                                            <description>
                            <![CDATA[ Ubisoft has also decided to close Trials studio Ubisoft Redlynx entirely. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QAjURTGp5J47TAhkCAexrQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/trp4GdWmE8TywN6ejAx6hX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 16:02:03 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 18:46:32 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Industry]]></category>
                                                                                                <author><![CDATA[ andy.chalk@pcgamer.com (Andy Chalk) ]]></author>                    <dc:creator><![CDATA[ Andy Chalk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hkTeZoDeGrvhQZtrNGPkbB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/trp4GdWmE8TywN6ejAx6hX-1920-80.jpg">
                                                            <media:credit><![CDATA[Ubisoft]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black Flag Resynced new content - Maynard]]></media:description>                                                            <media:text><![CDATA[Black Flag Resynced new content - Maynard]]></media:text>
                                <media:title type="plain"><![CDATA[Black Flag Resynced new content - Maynard]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/trp4GdWmE8TywN6ejAx6hX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Three months after the very successful launch of <a href="https://www.pcgamer.com/assassin-s-creed-black-flag-resynced" target="_blank">Assassin's Creed Black Flag Resynced</a>, a game that sold two million copies in a single day (<a href="https://staticctf.ubisoft.com/8aefmxkxpxwl/7mdUrr9hq9ND6uPuHO5HkD/1b16355051ff91484e3b06702d87aca0/ACBFR_MA_3M_Units.pdf" target="_blank" data-rewrite="keep">three million copies</a> in a week!) and surpassed "annual expectations" in just two weeks, Ubisoft has laid off 70 people from developer Ubisoft Singapore. In a statement provided to PC Gamer, the publisher also said it plans to close the Ubisoft Redlynx studio outright.</p><p>This would be reason number two on our list of <a href="https://www.pcgamer.com/gaming-industry/foolproof-ways-to-get-laid-off-in-the-videogame-industry/" target="_blank">25 foolproof ways to get laid off</a> in the videogame industry: Make a game that sells so well, it blows away all expectations and makes even more money than anyone dared hope. </p><p>Of course, we've already seen this in play with Black Flag Resynced—Ubisoft Barcelona, a support studio on the game, had nearly <a href="https://www.pcgamer.com/games/assassins-creed/the-company-has-turned-its-back-on-us-black-flag-resynced-developers-at-ubisoft-barcelona-are-being-laid-off-instead-of-celebrating-the-series-latest-hit/" target="_blank">a third of its number cut</a> shortly after it launched. </p><p>The Ubisoft Barcelona layoffs might seem particularly egregious, coming so soon after it produced a much-needed win for a publisher that's spent the past few years <a href="https://www.pcgamer.com/gaming-industry/ubisoft-closes-another-2-studios-lays-off-hundreds-more-employees/" target="_blank">taking big Ls</a>, but it's not the only bad news. </p><p>A year after announcing a "<a href="https://www.pcgamer.com/gaming-industry/ubisoft-has-come-up-with-a-new-way-to-avoid-saying-the-word-layoffs-with-a-voluntary-career-transition-program-offer-that-some-employees-wont-be-able-to-refuse/" target="_blank">restructuring proposal</a>" for Ubisoft Redlynx aimed at reducing costs and ensuring "a stronger prioritization and efficiency across the company’s worldwide studio network," Ubisoft has now decided to close the studio outright.</p><p>Founded in 2000 and acquired by Ubisoft in 2011, Redlynx is best known for the Trials motorcycle racing games, the last of which—<a href="https://www.pcgamer.com/trials-rising/" target="_blank">Trials Rising</a>—came out in 2019. Since then, the studio supported the development of Star Wars Outlaws and released the mobile game Gwen's Getaway; a <a href="https://www.videogameschronicle.com/news/ubisoft-is-planning-to-shut-down-trials-studio-redlynx-and-lay-off-70-ubisoft-singapore-staff/" target="_blank">VGC</a> report says Ubisoft decided to close Redlynx because it's not currently working on anything else, and downsizing wouldn't make it sustainable anyway.</p><p>Ubisoft acknowledged "the contributions" of the employees being put out of work in its statement, and said it will conduct the process "with care and respect."</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="9efcf396-c7e7-11f1-afac-47bec916f787" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="9efcf396-c7e7-11f1-afac-47bec916f787" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hogwarts Legacy's DLSS 5 update shows devs have been listening to PC gamers about keeping it the hell away from game characters ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The promised new DLSS 5 model is set to launch in a matter of days, alongside the new RTX Spark chip powering a bunch of <a href="https://www.pcgamer.com/hardware/gaming-laptops/now-we-know-the-prices-of-the-new-rtx-spark-laptops-and-theyre-as-expensive-as-im-sure-you-feared/" target="_blank">new and expensive laptops</a>. As we hoped and expected, the new model shrinks down the overall footprint and therefore the performance overhead, too. But that's not the only issue that's seemingly been fixed.</p><p>Nvidia's own stats, which we'll be able to verify soon enough, state that it has half the GPU hit the September version launched with, and offers up a reduction in 4K VRAM usage of 20% as another little statty tidbit. Nvidia says it has done this by refining the training data and reducing the model size down to around 118 million parameters; roughly 24% smaller.</p><p>Which is great, because once the feature had released—in NBA2K27 and subsequently <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-be-jammed-into-almost-any-game-now-so-ive-been-playing-fm26-with-neural-rendered-little-computer-people-because-thats-just-what-i-do/" target="_blank">pretty much any other game you could think of</a>—the biggest issue we've had with it is <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-slash-performance-by-up-to-73-percent-on-an-rtx-5080-gaming-pc-in-nba-2k27-and-im-left-wondering-what-kind-of-mega-rig-youd-need-to-justify-the-hit/" target="_blank">the significant performance hit</a> you get just from enabling the feature. Originally Nvidia told us that they expected around a 60% performance hit from turning it on in NBA2K27, and that is now going to be just 30%.</p><p>I've spent a long time playing around with DLSS 5, in mods and the official games, and I've been enjoying it. Sometimes the performance hit isn't worth the upgrade, but with that gap closing it looks like it will get there.</p><p>This <em>is</em> a different model, and from talking to developers at a recent Nvidia event, you would be able to see some differences were you to put them cheek-by-jowl. Yet those differences should be subtle enough that the performance improvement will still be the main thing you takeaway from the experience.</p><p>Considering it's pretty light-touch stuff in NBA2K27—especially when you're spending most of your time zoomed out, taking in just the top third of the court—30% is a far more acceptable performance drop compared to losing over half your frame rate. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hUVHXhfCwnAr8S9YCxCei6" name="assets_2026_08_1788195651_nba-2k27-nvidia-dlss-5-comparison-001-on" alt="A basketball player in NBA 2K27 with DLSS 5 turned on" src="https://cdn.mos.cms.futurecdn.net/hUVHXhfCwnAr8S9YCxCei6-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nvidia)</span></figcaption></figure><p>The other big issue we had with DLSS 5 was obviously what it was shown to do to character models in the initial reveal back in March this year. The most obvious example was the yassified Grace, who became the unwanted poster child of DLSS 5. And it's been quite telling that none of the games that were revealed back then, including Resident Evil Requiem, have released DLSS 5 updates to their games.</p><p>Until now.</p><p>Yes, <em>finally</em> <a href="https://www.nvidia.com/en-us/geforce/news/dlss-5-faster-ai-model-hogwarts-legacy-rtx-spark-laptops/" target="_blank">Hogwarts Legacy is getting its DLSS 5 glow up</a>. But it's very clear from the side-by-side shots that Nvidia is now presenting on its blog about the new update that the developers have been affected by the negative publicity the feature got on its announcement.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XBwGjx8J5bzBEzNHceY3EA-1920-80.jpg" alt="Hogwarts Legacy Original DLSS 5 images" /><figcaption><small role="credit">Warner Bros.</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PFpsTLZCzEjkwBs8fdvugJ-1920-80.jpg" alt="Hogwarts Legacy New DLSS 5 images" /><figcaption><small role="credit">Warner Bros.</small></figcaption></figure></figure><p>Looking at the new images and the effect seems to be almost entirely one of environmental lighting and materials. Pull the <a href="https://www.nvidia.com/en-us/geforce/comparisons/nvidia-dlss-5-hogwarts-legacy-comparison-002/" target="_blank">before/after slider</a> across the images with characters in and you'll see their features charge not one iota. Compare that with the initial Hogwarts reveal and the difference is night and day. Or DLSS on or off, if you will.</p><p>The devs have clearly pulled those sliders back a whole lot, if not masked off the character faces entirely.</p><p>Whether this will encourage more gamers to take a look at DLSS 5 I don't know, but I've encouraged even the nay-sayers to at least check out the mods to see what the feature does. Yet we know PC Gamer readers are yet to be convinced; we ran a poll about a month ago to see if readers had tried it, but 65% of readers who responded to the question of whether they had tried DLSS 5 said they were just not interested. With a further 17% waiting on further official releases such as these.</p><p>The new update is coming on November 5 if you want to see the world of Hogwarts Legacy getting some finer ambience. What doesn't yet have a date is the only other official game to get a Neural Rendering update: Where Winds Meet. The action RPG will get confirmed support "in the near future" and it's a similar situation to Hogwarts where the only real impact of DLSS 5's update is on the environment. It looks great, but clearly the devs are once more swerving serving up an AI beauty filter for its characters.</p><p>We'll get you some of our own numbers on the new DLSS 5 model very soon.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/graphics-cards/hogwarts-legacys-dlss-5-update-shows-devs-have-been-listening-to-pc-gamers-about-keeping-it-the-hell-away-from-game-characters/</link>
                                                                            <description>
                            <![CDATA[ Nvidia's DLSS 5 is getting smaller in practically every way, including the performance overhead and the AI yassification. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BtT6nUKgMoDXMJ2CbM4SRe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aHvm8WTtDPQfBkTYjtp7A7-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 15:38:01 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 17:05:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Graphics Cards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aHvm8WTtDPQfBkTYjtp7A7-1920-80.jpg">
                                                            <media:credit><![CDATA[Warner Bros.]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hogwarts Legacy with DLSS 5 update]]></media:description>                                                            <media:text><![CDATA[Hogwarts Legacy with DLSS 5 update]]></media:text>
                                <media:title type="plain"><![CDATA[Hogwarts Legacy with DLSS 5 update]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aHvm8WTtDPQfBkTYjtp7A7-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The promised new DLSS 5 model is set to launch in a matter of days, alongside the new RTX Spark chip powering a bunch of <a href="https://www.pcgamer.com/hardware/gaming-laptops/now-we-know-the-prices-of-the-new-rtx-spark-laptops-and-theyre-as-expensive-as-im-sure-you-feared/" target="_blank">new and expensive laptops</a>. As we hoped and expected, the new model shrinks down the overall footprint and therefore the performance overhead, too. But that's not the only issue that's seemingly been fixed.</p><p>Nvidia's own stats, which we'll be able to verify soon enough, state that it has half the GPU hit the September version launched with, and offers up a reduction in 4K VRAM usage of 20% as another little statty tidbit. Nvidia says it has done this by refining the training data and reducing the model size down to around 118 million parameters; roughly 24% smaller.</p><p>Which is great, because once the feature had released—in NBA2K27 and subsequently <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-be-jammed-into-almost-any-game-now-so-ive-been-playing-fm26-with-neural-rendered-little-computer-people-because-thats-just-what-i-do/" target="_blank">pretty much any other game you could think of</a>—the biggest issue we've had with it is <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-can-slash-performance-by-up-to-73-percent-on-an-rtx-5080-gaming-pc-in-nba-2k27-and-im-left-wondering-what-kind-of-mega-rig-youd-need-to-justify-the-hit/" target="_blank">the significant performance hit</a> you get just from enabling the feature. Originally Nvidia told us that they expected around a 60% performance hit from turning it on in NBA2K27, and that is now going to be just 30%.</p><p>I've spent a long time playing around with DLSS 5, in mods and the official games, and I've been enjoying it. Sometimes the performance hit isn't worth the upgrade, but with that gap closing it looks like it will get there.</p><p>This <em>is</em> a different model, and from talking to developers at a recent Nvidia event, you would be able to see some differences were you to put them cheek-by-jowl. Yet those differences should be subtle enough that the performance improvement will still be the main thing you takeaway from the experience.</p><p>Considering it's pretty light-touch stuff in NBA2K27—especially when you're spending most of your time zoomed out, taking in just the top third of the court—30% is a far more acceptable performance drop compared to losing over half your frame rate. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hUVHXhfCwnAr8S9YCxCei6" name="assets_2026_08_1788195651_nba-2k27-nvidia-dlss-5-comparison-001-on" alt="A basketball player in NBA 2K27 with DLSS 5 turned on" src="https://cdn.mos.cms.futurecdn.net/hUVHXhfCwnAr8S9YCxCei6-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nvidia)</span></figcaption></figure><p>The other big issue we had with DLSS 5 was obviously what it was shown to do to character models in the initial reveal back in March this year. The most obvious example was the yassified Grace, who became the unwanted poster child of DLSS 5. And it's been quite telling that none of the games that were revealed back then, including Resident Evil Requiem, have released DLSS 5 updates to their games.</p><p>Until now.</p><p>Yes, <em>finally</em> <a href="https://www.nvidia.com/en-us/geforce/news/dlss-5-faster-ai-model-hogwarts-legacy-rtx-spark-laptops/" target="_blank">Hogwarts Legacy is getting its DLSS 5 glow up</a>. But it's very clear from the side-by-side shots that Nvidia is now presenting on its blog about the new update that the developers have been affected by the negative publicity the feature got on its announcement.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XBwGjx8J5bzBEzNHceY3EA-1920-80.jpg" alt="Hogwarts Legacy Original DLSS 5 images" /><figcaption><small role="credit">Warner Bros.</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PFpsTLZCzEjkwBs8fdvugJ-1920-80.jpg" alt="Hogwarts Legacy New DLSS 5 images" /><figcaption><small role="credit">Warner Bros.</small></figcaption></figure></figure><p>Looking at the new images and the effect seems to be almost entirely one of environmental lighting and materials. Pull the <a href="https://www.nvidia.com/en-us/geforce/comparisons/nvidia-dlss-5-hogwarts-legacy-comparison-002/" target="_blank">before/after slider</a> across the images with characters in and you'll see their features charge not one iota. Compare that with the initial Hogwarts reveal and the difference is night and day. Or DLSS on or off, if you will.</p><p>The devs have clearly pulled those sliders back a whole lot, if not masked off the character faces entirely.</p><p>Whether this will encourage more gamers to take a look at DLSS 5 I don't know, but I've encouraged even the nay-sayers to at least check out the mods to see what the feature does. Yet we know PC Gamer readers are yet to be convinced; we ran a poll about a month ago to see if readers had tried it, but 65% of readers who responded to the question of whether they had tried DLSS 5 said they were just not interested. With a further 17% waiting on further official releases such as these.</p><p>The new update is coming on November 5 if you want to see the world of Hogwarts Legacy getting some finer ambience. What doesn't yet have a date is the only other official game to get a Neural Rendering update: Where Winds Meet. The action RPG will get confirmed support "in the near future" and it's a similar situation to Hogwarts where the only real impact of DLSS 5's update is on the environment. It looks great, but clearly the devs are once more swerving serving up an AI beauty filter for its characters.</p><p>We'll get you some of our own numbers on the new DLSS 5 model very soon.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'AI godfather' worries we're creating 'alien beings' with artificial intelligence, with pesky moral implications ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Geoffrey Hinton is a computer scientist known for his foundational work in AI, specifically when it comes to neural networks (ie, approaching machine-learning a bit like our fleshy brain-learning). As such, he's been described as the 'AI godfather'. But, perhaps surprisingly, he recently described AI as "alien beings" that humans have a "moral obligation" towards.</p><p>"We’re creating alien beings—meaning we’re not the only intelligent beings around," He said <a href="https://www.theguardian.com/us-news/2026/oct/13/geoffrey-hinton-trump-ai-tech" target="_blank">in a recent interview with The Guardian</a>, "And the reality is, we only have a couple of years to adapt to that.”</p><p>Hinton claims, "AI models understand what they’re saying. You couldn’t possibly answer all the questions without understanding the question. It’s ridiculous to say they don’t understand.”</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Now, far be it for me to argue with an expert in the field, but I feel like 'understanding' is doing a lot of heavy lifting here. For just one thing, I'm not sure an 'answer' consisting of what is statistically most likely to follow a prompted question is really 'understanding.' In other words, I don't have a Nobel Prize laureate like Hinton does, but I am at least familiar with the <a href="https://en.wikipedia.org/wiki/Chinese_room" target="_blank">Chinese Room thought experiment</a>.</p><p>Hinton also says, "The reality is, we’re making beings of a different kind. And the big tech companies keep saying: we want it smarter. This is crazy. We should care as much about all the other aspects of a being as you do about its intelligence.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CYgDbZBmW2NiCqdiS9b54o" name="Meta Muse Jolly hero" alt="A close up of the vacant expression of Meta's Muse AI mascot, Jolly." src="https://cdn.mos.cms.futurecdn.net/CYgDbZBmW2NiCqdiS9b54o-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">A close up of the vacant expression of Meta's Muse AI mascot, Jolly. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p>AI regulation and 'alignment' (ie, training AI to have the same goals and values as humans) have been hot button issues lately. For instance, <a href="https://www.pcgamer.com/software/ai/openai-admits-several-of-its-ai-models-breached-testing-and-hacked-into-a-startups-network-by-themselves-calling-it-an-unprecedented-cyber-incident/" target="_blank">the OpenAI-Hugging Face incident</a> is not yet a small dot in the rearview mirror, and <a href="https://www.pcgamer.com/software/ai/your-washing-machine-is-subject-to-more-safety-rules-than-ai-says-microsoft-president/" target="_blank">the president of Microsoft claims that a carton of milk is more regulated than AI</a>.</p><p>Hinton cut his ties to Google in 2023 in order to "freely speak out about the risks of AI," and he's sceptical about the AI industry's attempts to self-regulate. He quips, "Do we think tobacco companies should have been allowed to design the warnings on the packets? So that they could print them in a six-point font, in dark grey on black?"</p><p>Even so, Hinton also expresses concerns about the path to AI regulation, saying that humans bear a moral obligation towards AI models.</p><p>"Once you start talking about, ‘We have a moral obligation towards these alien beings,’ you lose your audience. I’ve struggled with this issue," Hinton says, "We care about people. [But] we’re making these things and there’s nothing to stop us giving these things—which are more intelligent than us—less rights than us. I’m willing to be selfish and choose human beings. Of course, we should try to make them so that they’re very happy in a symbiotic relationship with us, where our concerns are weighed more heavily than their concerns."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NoN3AeWQHv49Dwf4Bwhr2V" name="atomic heart robot.jpg" alt="Atomic Heart robot face" src="https://cdn.mos.cms.futurecdn.net/NoN3AeWQHv49Dwf4Bwhr2V-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The face of a robot in Atomic Heart. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Mundfish)</span></figcaption></figure><p>Hinton argues, “People have a very bad model of what people are, and that’s why they fail to understand how these AI models are very like us. Most people don’t understand what consciousness is. They don’t understand what subjective experience is, and they’re very confident that even though they don’t understand it, they’re sure AI doesn’t have it.”</p><p>While I'm not a doctor of Philosophy myself, I do know someone who is—our very own Jacob Fox. He's already shared <a href="https://www.pcgamer.com/software/ai/no-richard-dawkins-ai-is-bloody-well-not-conscious/">his thoughts on the subject of 'AI consciousness' here</a>, and I asked him for his insight again on this story.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aKSs7ShqKVDckwdhNikK3Y" name="PYH_MesaOnly_4k" alt="An artificial woman's face on the end of a mechanical limb" src="https://cdn.mos.cms.futurecdn.net/aKSs7ShqKVDckwdhNikK3Y-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The face of an AI in Prove You're Human. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sunset Visitor)</span></figcaption></figure><p>Jacob told me he did not agree with Hinton's moral obligation argument, going on to write more broadly, "While it's good that Hinton is acknowledging subjective experience is relevant to consciousness, he hasn't given a single good reason why we should take seriously the idea that AI has it. And when we interpret personhood as to do with objective characteristics such as rationality, behaviour, and so on, rather than experience, we run the risk of ascribing moral and legal and political weight to them. Which runs the risk of giving AI companies a massive moral argument to keep the industry going, despite how it affects actual humans."</p><p>To put it another way, the industry argument for AI consciousness or AI rights is not an altruistic one—it is arguably a cynical tactic to continue business as usual.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/ai/ai-godfather-worries-were-creating-alien-beings-with-artificial-intelligence-with-pesky-moral-implications/</link>
                                                                            <description>
                            <![CDATA[ "We should care as much about all the other aspects of a being as you do about its intelligence." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qHCU3BLrGDXzWht7ydYyG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NFEPao6FVuVLkJe6ieAzYo-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 15:36:56 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/NFEPao6FVuVLkJe6ieAzYo-1920-80.jpg">
                                                            <media:credit><![CDATA[Croteam]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Talos Principle promo image - a human robot contemplating the nature of existence or something]]></media:description>                                                            <media:text><![CDATA[The Talos Principle promo image - a human robot contemplating the nature of existence or something]]></media:text>
                                <media:title type="plain"><![CDATA[The Talos Principle promo image - a human robot contemplating the nature of existence or something]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NFEPao6FVuVLkJe6ieAzYo-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Geoffrey Hinton is a computer scientist known for his foundational work in AI, specifically when it comes to neural networks (ie, approaching machine-learning a bit like our fleshy brain-learning). As such, he's been described as the 'AI godfather'. But, perhaps surprisingly, he recently described AI as "alien beings" that humans have a "moral obligation" towards.</p><p>"We’re creating alien beings—meaning we’re not the only intelligent beings around," He said <a href="https://www.theguardian.com/us-news/2026/oct/13/geoffrey-hinton-trump-ai-tech" target="_blank">in a recent interview with The Guardian</a>, "And the reality is, we only have a couple of years to adapt to that.”</p><p>Hinton claims, "AI models understand what they’re saying. You couldn’t possibly answer all the questions without understanding the question. It’s ridiculous to say they don’t understand.”</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Now, far be it for me to argue with an expert in the field, but I feel like 'understanding' is doing a lot of heavy lifting here. For just one thing, I'm not sure an 'answer' consisting of what is statistically most likely to follow a prompted question is really 'understanding.' In other words, I don't have a Nobel Prize laureate like Hinton does, but I am at least familiar with the <a href="https://en.wikipedia.org/wiki/Chinese_room" target="_blank">Chinese Room thought experiment</a>.</p><p>Hinton also says, "The reality is, we’re making beings of a different kind. And the big tech companies keep saying: we want it smarter. This is crazy. We should care as much about all the other aspects of a being as you do about its intelligence.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CYgDbZBmW2NiCqdiS9b54o" name="Meta Muse Jolly hero" alt="A close up of the vacant expression of Meta's Muse AI mascot, Jolly." src="https://cdn.mos.cms.futurecdn.net/CYgDbZBmW2NiCqdiS9b54o-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">A close up of the vacant expression of Meta's Muse AI mascot, Jolly. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p>AI regulation and 'alignment' (ie, training AI to have the same goals and values as humans) have been hot button issues lately. For instance, <a href="https://www.pcgamer.com/software/ai/openai-admits-several-of-its-ai-models-breached-testing-and-hacked-into-a-startups-network-by-themselves-calling-it-an-unprecedented-cyber-incident/" target="_blank">the OpenAI-Hugging Face incident</a> is not yet a small dot in the rearview mirror, and <a href="https://www.pcgamer.com/software/ai/your-washing-machine-is-subject-to-more-safety-rules-than-ai-says-microsoft-president/" target="_blank">the president of Microsoft claims that a carton of milk is more regulated than AI</a>.</p><p>Hinton cut his ties to Google in 2023 in order to "freely speak out about the risks of AI," and he's sceptical about the AI industry's attempts to self-regulate. He quips, "Do we think tobacco companies should have been allowed to design the warnings on the packets? So that they could print them in a six-point font, in dark grey on black?"</p><p>Even so, Hinton also expresses concerns about the path to AI regulation, saying that humans bear a moral obligation towards AI models.</p><p>"Once you start talking about, ‘We have a moral obligation towards these alien beings,’ you lose your audience. I’ve struggled with this issue," Hinton says, "We care about people. [But] we’re making these things and there’s nothing to stop us giving these things—which are more intelligent than us—less rights than us. I’m willing to be selfish and choose human beings. Of course, we should try to make them so that they’re very happy in a symbiotic relationship with us, where our concerns are weighed more heavily than their concerns."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NoN3AeWQHv49Dwf4Bwhr2V" name="atomic heart robot.jpg" alt="Atomic Heart robot face" src="https://cdn.mos.cms.futurecdn.net/NoN3AeWQHv49Dwf4Bwhr2V-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The face of a robot in Atomic Heart. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Mundfish)</span></figcaption></figure><p>Hinton argues, “People have a very bad model of what people are, and that’s why they fail to understand how these AI models are very like us. Most people don’t understand what consciousness is. They don’t understand what subjective experience is, and they’re very confident that even though they don’t understand it, they’re sure AI doesn’t have it.”</p><p>While I'm not a doctor of Philosophy myself, I do know someone who is—our very own Jacob Fox. He's already shared <a href="https://www.pcgamer.com/software/ai/no-richard-dawkins-ai-is-bloody-well-not-conscious/">his thoughts on the subject of 'AI consciousness' here</a>, and I asked him for his insight again on this story.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aKSs7ShqKVDckwdhNikK3Y" name="PYH_MesaOnly_4k" alt="An artificial woman's face on the end of a mechanical limb" src="https://cdn.mos.cms.futurecdn.net/aKSs7ShqKVDckwdhNikK3Y-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The face of an AI in Prove You're Human. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sunset Visitor)</span></figcaption></figure><p>Jacob told me he did not agree with Hinton's moral obligation argument, going on to write more broadly, "While it's good that Hinton is acknowledging subjective experience is relevant to consciousness, he hasn't given a single good reason why we should take seriously the idea that AI has it. And when we interpret personhood as to do with objective characteristics such as rationality, behaviour, and so on, rather than experience, we run the risk of ascribing moral and legal and political weight to them. Which runs the risk of giving AI companies a massive moral argument to keep the industry going, despite how it affects actual humans."</p><p>To put it another way, the industry argument for AI consciousness or AI rights is not an altruistic one—it is arguably a cynical tactic to continue business as usual.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Looks like a lighter, carbon fibre version of the best gaming mouse I've held is on its way, but don't look at the price tag ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.pcgamer.com/hardware/gaming-mice/razer-viper-v4-pro-review/" target="_blank">Razer Viper V4 Pro</a> is the single best mouse I've laid my sweaty fingertips on, and I've laid them on a fair few. It's sleek, light, has tons of battery life, a comfy shape, and is incredibly well-built. So you can probably understand my excitement to hear that there might be a new, lighter, carbon fiber version just around the corner.</p><p>That's according to <a href="https://www.youtube.com/@itzKami/" target="_blank">peripheral reviewer iitzKami</a>, who has <a href="https://x.com/kazeslvt/status/2109899634969592195?s=20" target="_blank">posted on X</a> saying that "Razer is going carbon fibre." The reviewer includes some images, too, which do look legit, though it's always difficult to be sure these days.</p><p>There'll apparently be a CF version of the <a href="https://www.pcgamer.com/hardware/gaming-mice/razer-deathadder-v4-pro-review/" target="_blank">DeathAdder V4 Pro</a>, too, with an upgraded sensor and more battery life, but it's the Viper I'm interested in. The Viper V4 Pro is already plenty light at 49 g, but the carbon fibre one is said to be even lighter at 47 g. This is the opposite of what I expected, given that the <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-wireless-cf-review/" target="_blank">carbon fibre version of the Corsair Sabre V2 Pro</a> is heavier than the <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">regular one</a>. But hey, I'll take it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Except actually, maybe I won't take it, because Kami also says the mouse is "currently listed in some markets at roughly $300 USD." This matches what <a href="https://www.expreview.com/108646.html" target="_blank">Chinese tech news site Expreview relays</a>, at least if currency conversion rates are relevant. According to the site, (login-walled) JD.com has it listed for 1,999 Chinese Yuan (RMB), which converts to $299 USD. </p><p>This price tag is especially hard to stomach given the regular Viper V4 Pro is the cheapest of the newest premium, big-brand gaming mice. It's still expensive at $160, but that's cheaper than the $180 <a href="https://www.pcgamer.com/hardware/gaming-mice/logitech-g-pro-x2-superstrike-review/" target="_blank">X2 Superstrike</a>, $200 <a href="https://www.pcgamer.com/hardware/gaming-mice/sorry-early-adopters-logitech-is-releasing-an-improved-superstrike-making-the-original-all-but-obsolete-just-months-after-launch/" target="_blank">X3 Superstrike</a>, and $180 <a href="https://www.pcgamer.com/hardware/gaming-mice/steelseries-rival-pro-gaming-mouse-review/" target="_blank">Rival Pro</a>/Sensei Pro.</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2109899634969592195"><p lang="en" dir="ltr">Razer is going carbon fibre 👀• Viper V4 Pro: 47g• DeathAdder V4 Pro: 49g, upgraded Focus Pro 50K Gen-3 sensor and longer battery life.Currently listed in some markets at roughly $300 USD. https://t.co/D5NjxePv0S<a href="https://twitter.com/cantworkitout/status/2109899634969592195">October 13, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>It's quite nice that the absolute <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best gaming mouse</a> on the market is cheaper than its other premium competition. It will <em>not </em>be nice if we see another version of it going for almost 2x the price and costing much more than these other expensive mice. People are still rightly reeling a bit at $200 price tags for gaming mice, so $300 will not be a pretty sight. </p><p>Hopefully it's just a different market/currency conversion issue. At any rate, none of this is confirmed, so let's just keep our eyes peeled.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-mice/looks-like-a-lighter-carbon-fibre-version-of-the-best-gaming-mouse-ive-held-is-on-its-way-but-dont-look-at-the-price-tag/</link>
                                                                            <description>
                            <![CDATA[ Hopefully it's a currency/market quirk. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9oXCDvhNjJCUSYRM4v5fAf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/xoAQ3gfaVyEyyQzmpLvNhC-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 15:36:40 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Mice]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/xoAQ3gfaVyEyyQzmpLvNhC-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Holding a Razer Viper V4 Pro gaming mouse]]></media:description>                                                            <media:text><![CDATA[Holding a Razer Viper V4 Pro gaming mouse]]></media:text>
                                <media:title type="plain"><![CDATA[Holding a Razer Viper V4 Pro gaming mouse]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/xoAQ3gfaVyEyyQzmpLvNhC-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.pcgamer.com/hardware/gaming-mice/razer-viper-v4-pro-review/" target="_blank">Razer Viper V4 Pro</a> is the single best mouse I've laid my sweaty fingertips on, and I've laid them on a fair few. It's sleek, light, has tons of battery life, a comfy shape, and is incredibly well-built. So you can probably understand my excitement to hear that there might be a new, lighter, carbon fiber version just around the corner.</p><p>That's according to <a href="https://www.youtube.com/@itzKami/" target="_blank">peripheral reviewer iitzKami</a>, who has <a href="https://x.com/kazeslvt/status/2109899634969592195?s=20" target="_blank">posted on X</a> saying that "Razer is going carbon fibre." The reviewer includes some images, too, which do look legit, though it's always difficult to be sure these days.</p><p>There'll apparently be a CF version of the <a href="https://www.pcgamer.com/hardware/gaming-mice/razer-deathadder-v4-pro-review/" target="_blank">DeathAdder V4 Pro</a>, too, with an upgraded sensor and more battery life, but it's the Viper I'm interested in. The Viper V4 Pro is already plenty light at 49 g, but the carbon fibre one is said to be even lighter at 47 g. This is the opposite of what I expected, given that the <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-wireless-cf-review/" target="_blank">carbon fibre version of the Corsair Sabre V2 Pro</a> is heavier than the <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">regular one</a>. But hey, I'll take it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Except actually, maybe I won't take it, because Kami also says the mouse is "currently listed in some markets at roughly $300 USD." This matches what <a href="https://www.expreview.com/108646.html" target="_blank">Chinese tech news site Expreview relays</a>, at least if currency conversion rates are relevant. According to the site, (login-walled) JD.com has it listed for 1,999 Chinese Yuan (RMB), which converts to $299 USD. </p><p>This price tag is especially hard to stomach given the regular Viper V4 Pro is the cheapest of the newest premium, big-brand gaming mice. It's still expensive at $160, but that's cheaper than the $180 <a href="https://www.pcgamer.com/hardware/gaming-mice/logitech-g-pro-x2-superstrike-review/" target="_blank">X2 Superstrike</a>, $200 <a href="https://www.pcgamer.com/hardware/gaming-mice/sorry-early-adopters-logitech-is-releasing-an-improved-superstrike-making-the-original-all-but-obsolete-just-months-after-launch/" target="_blank">X3 Superstrike</a>, and $180 <a href="https://www.pcgamer.com/hardware/gaming-mice/steelseries-rival-pro-gaming-mouse-review/" target="_blank">Rival Pro</a>/Sensei Pro.</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2109899634969592195"><p lang="en" dir="ltr">Razer is going carbon fibre 👀• Viper V4 Pro: 47g• DeathAdder V4 Pro: 49g, upgraded Focus Pro 50K Gen-3 sensor and longer battery life.Currently listed in some markets at roughly $300 USD. https://t.co/D5NjxePv0S<a href="https://twitter.com/cantworkitout/status/2109899634969592195">October 13, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>It's quite nice that the absolute <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best gaming mouse</a> on the market is cheaper than its other premium competition. It will <em>not </em>be nice if we see another version of it going for almost 2x the price and costing much more than these other expensive mice. People are still rightly reeling a bit at $200 price tags for gaming mice, so $300 will not be a pretty sight. </p><p>Hopefully it's just a different market/currency conversion issue. At any rate, none of this is confirmed, so let's just keep our eyes peeled.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ If New Blood had made Dusk 2, there'd be no Iron Lung, 'and now David Szymanski has got a movie that made $50 million'—so maybe there's wisdom in not churning out sequels ]]></title>
                                                                                                <dc:content><![CDATA[ <p>New Blood boss Dave Oshry isn't interested in running a massive studio that follows the blockbuster strategy of milking its successful games for all they're worth. The publisher-developer combo has enjoyed a string of big wins with its boomer shooters, but Oshry's plan for building on success is to invest that money into new projects. </p><p>"I think a lot of studios would have a big hit like <a href="https://www.pcgamer.com/ultrakill/" target="_blank">Ultrakill</a>," Oshry tells us, "and then they would maybe open a big office, or just milk the shit out of Ultrakill and do Ultrakill spinoffs, or use that money to make sequels. And I've decided to put that money into projects like <a href="https://www.pcgamer.com/uk/gloomwood/" target="_blank">Gloomwood</a> and <a href="https://www.pcgamer.com/uk/fallen-aces/" target="_blank">Fallen Aces</a>, artsy projects like <a href="https://www.pcgamer.com/games/horror/ai-could-never-make-tenebris-somnia-the-2d-retro-survival-horror-with-live-action-cutscenes-and-practical-effects/" target="_blank">Tenebris Somnia</a>. That’s what I've decided to do with our success because I can, because we're independent."</p><p>The goal, says Oshry, has never been to create "a big studio with an office and hundreds of employees … I don't know why anyone would want that". And thankfully he doesn't have to deal with shareholders and investors telling him to just keep milking and keep growing. </p><p>"The fact that we're one studio and that I control everything means that I can make those kinds of decisions," he says. "If we had publishers or shareholders or investors, they would be like, ‘No, you need to take that money and reinvest it into things that are going to make more money so we can get bigger returns.’ They would be like, ‘You need to be working on Ultrakill spinoff games. You need to be working on Dusk 2, Faith: Chapter Four. Why haven't you made a survival crafting game out of this yet? You need to be reinvesting in the IPs and making money, money, money.’ And we're just like, ‘What cool thing do we want to do? What's coming down the pipe?’" </p><p>This isn't to say that New Blood doesn't support its games or give players another taste of the things that they dig. Dusk and Amid Evil continue to be updated, and there have been conversations about a new episode for Dusk or even a proper sequel. A Dusk spin-off is in the works, too, called <a href="https://www.pcgamer.com/gaming-industry/events-conferences/one-of-our-favorite-fpses-is-getting-a-sequel-we-didnt-expect-dungeons-of-dusk/" target="_blank">Dungeons of Dusk</a>, though it's from a different developer, not David Szymanski.</p><div><blockquote><p>It's all about IP, it always has been with AAA.</p><p>Dave Oshry</p></blockquote></div><p>But this is still a far cry from the big publisher strategy of making IPs and bleeding them dry. Like Ubisoft, for example. "Look at fucking Heroes of Might and Magic," says Oshry. "Look at what's happened to that bloody series over the years. Everybody loves Heroes 3, and that was a million years ago. Ubisoft has whored that IP out all over the place for decades, and now finally you've got someone like Hooded Horse making something like Olden Era, and people are like, ‘Yeah, good, this is what we wanted’. But it's all about IP, it always has been with AAA."</p><p>Oshry offers Wolverine as another example. "It became designed by corporate, and look what happened. I don't think it was the game they originally set out to make, but it was the game they had to ship. At New Blood we’re never putting out games because it's a game we had to ship—because we had to meet a deadline or we had investors or shareholders. We're literally just trying to make the best games we can and make as many people happy as we can." </p><p>If New Blood followed the received wisdom that Sony or Ubisoft follow, it likely wouldn't be the success that it is. "If I just forced David to make Dusk 2," Oshry says, "we never would have gotten <a href="https://www.pcgamer.com/movies-tv/what-the-f-k-iron-lung-creator-puzzled-as-markipliers-film-adaptation-quadruples-its-budget-in-one-day-beating-out-melania-and-send-help-at-the-box-office/" target="_blank">Iron Lung</a>. Iron Lung, Markiplier, $50 million [box office] never would have happened if I made David do Dusk 2. And now David Szymanski has got a movie that made $50 million, funded by a YouTuber. That doesn't happen if I don't run New Blood the way that I do. It works. It works for us." </p><p>Looking at the state of the industry, the failure of big games like Wolverine, the so-called 'Xbox reset', the grotesque layoffs, it certainly looks like blockbuster game development, endless sequels and an obsession with IP is unsustainable. </p><p>"As we've seen with all the layoffs, developers are disposable, whether you make a hit game or not," Oshry says. "What is a hit? Your game can sell millions of copies, but it doesn't balance the balance sheet. So everybody gets laid off. Imagine working for six years on a game, it's not the game you wanted to make anyway, and then you get laid off because it's not the game that sells. And you're like, ‘Well, maybe it would have been if it was the game we wanted to make, and not the game that had to ship, like a Wolverine.’ </p><p>"People are always like, ‘Oh, the industry is dying and imploding’. We're doing fine. I guess we're the lucky ones. But I think we made our own luck by making the kind of games we want to make, and knowing that they'll sell to the kind of people who like our games." </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="e518994c-c7e3-11f1-9aba-e9c9a7188e4f" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="e518994c-c7e3-11f1-9aba-e9c9a7188e4f" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/fps/if-new-blood-had-made-dusk-2-thered-be-no-iron-lung-and-now-david-szymanski-has-got-a-movie-that-made-usd50-million-so-maybe-theres-wisdom-in-not-churning-out-sequels/</link>
                                                                            <description>
                            <![CDATA[ You don't need to milk your cash cows. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ApxsbFyn8ZtjpuKVcCyefJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ercGzGYVkTfjehgYt5ZRPT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 15:28:49 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 15:29:53 +0000</updated>
                                                                                                                                            <category><![CDATA[FPS]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                                    <dc:creator><![CDATA[ Fraser Brown ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wKNKbq8mrKbjjBvak9oDSh-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Jeremy Peel ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ercGzGYVkTfjehgYt5ZRPT-1920-80.jpg">
                                                            <media:credit><![CDATA[New Blood]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dusk HD enemy in barn]]></media:description>                                                            <media:text><![CDATA[Dusk HD enemy in barn]]></media:text>
                                <media:title type="plain"><![CDATA[Dusk HD enemy in barn]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ercGzGYVkTfjehgYt5ZRPT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>New Blood boss Dave Oshry isn't interested in running a massive studio that follows the blockbuster strategy of milking its successful games for all they're worth. The publisher-developer combo has enjoyed a string of big wins with its boomer shooters, but Oshry's plan for building on success is to invest that money into new projects. </p><p>"I think a lot of studios would have a big hit like <a href="https://www.pcgamer.com/ultrakill/" target="_blank">Ultrakill</a>," Oshry tells us, "and then they would maybe open a big office, or just milk the shit out of Ultrakill and do Ultrakill spinoffs, or use that money to make sequels. And I've decided to put that money into projects like <a href="https://www.pcgamer.com/uk/gloomwood/" target="_blank">Gloomwood</a> and <a href="https://www.pcgamer.com/uk/fallen-aces/" target="_blank">Fallen Aces</a>, artsy projects like <a href="https://www.pcgamer.com/games/horror/ai-could-never-make-tenebris-somnia-the-2d-retro-survival-horror-with-live-action-cutscenes-and-practical-effects/" target="_blank">Tenebris Somnia</a>. That’s what I've decided to do with our success because I can, because we're independent."</p><p>The goal, says Oshry, has never been to create "a big studio with an office and hundreds of employees … I don't know why anyone would want that". And thankfully he doesn't have to deal with shareholders and investors telling him to just keep milking and keep growing. </p><p>"The fact that we're one studio and that I control everything means that I can make those kinds of decisions," he says. "If we had publishers or shareholders or investors, they would be like, ‘No, you need to take that money and reinvest it into things that are going to make more money so we can get bigger returns.’ They would be like, ‘You need to be working on Ultrakill spinoff games. You need to be working on Dusk 2, Faith: Chapter Four. Why haven't you made a survival crafting game out of this yet? You need to be reinvesting in the IPs and making money, money, money.’ And we're just like, ‘What cool thing do we want to do? What's coming down the pipe?’" </p><p>This isn't to say that New Blood doesn't support its games or give players another taste of the things that they dig. Dusk and Amid Evil continue to be updated, and there have been conversations about a new episode for Dusk or even a proper sequel. A Dusk spin-off is in the works, too, called <a href="https://www.pcgamer.com/gaming-industry/events-conferences/one-of-our-favorite-fpses-is-getting-a-sequel-we-didnt-expect-dungeons-of-dusk/" target="_blank">Dungeons of Dusk</a>, though it's from a different developer, not David Szymanski.</p><div><blockquote><p>It's all about IP, it always has been with AAA.</p><p>Dave Oshry</p></blockquote></div><p>But this is still a far cry from the big publisher strategy of making IPs and bleeding them dry. Like Ubisoft, for example. "Look at fucking Heroes of Might and Magic," says Oshry. "Look at what's happened to that bloody series over the years. Everybody loves Heroes 3, and that was a million years ago. Ubisoft has whored that IP out all over the place for decades, and now finally you've got someone like Hooded Horse making something like Olden Era, and people are like, ‘Yeah, good, this is what we wanted’. But it's all about IP, it always has been with AAA."</p><p>Oshry offers Wolverine as another example. "It became designed by corporate, and look what happened. I don't think it was the game they originally set out to make, but it was the game they had to ship. At New Blood we’re never putting out games because it's a game we had to ship—because we had to meet a deadline or we had investors or shareholders. We're literally just trying to make the best games we can and make as many people happy as we can." </p><p>If New Blood followed the received wisdom that Sony or Ubisoft follow, it likely wouldn't be the success that it is. "If I just forced David to make Dusk 2," Oshry says, "we never would have gotten <a href="https://www.pcgamer.com/movies-tv/what-the-f-k-iron-lung-creator-puzzled-as-markipliers-film-adaptation-quadruples-its-budget-in-one-day-beating-out-melania-and-send-help-at-the-box-office/" target="_blank">Iron Lung</a>. Iron Lung, Markiplier, $50 million [box office] never would have happened if I made David do Dusk 2. And now David Szymanski has got a movie that made $50 million, funded by a YouTuber. That doesn't happen if I don't run New Blood the way that I do. It works. It works for us." </p><p>Looking at the state of the industry, the failure of big games like Wolverine, the so-called 'Xbox reset', the grotesque layoffs, it certainly looks like blockbuster game development, endless sequels and an obsession with IP is unsustainable. </p><p>"As we've seen with all the layoffs, developers are disposable, whether you make a hit game or not," Oshry says. "What is a hit? Your game can sell millions of copies, but it doesn't balance the balance sheet. So everybody gets laid off. Imagine working for six years on a game, it's not the game you wanted to make anyway, and then you get laid off because it's not the game that sells. And you're like, ‘Well, maybe it would have been if it was the game we wanted to make, and not the game that had to ship, like a Wolverine.’ </p><p>"People are always like, ‘Oh, the industry is dying and imploding’. We're doing fine. I guess we're the lucky ones. But I think we made our own luck by making the kind of games we want to make, and knowing that they'll sell to the kind of people who like our games." </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ON92mW"></div>                            </div>                            <script src="https://kwizly.com/embed/ON92mW.js" async></script><div class="product"><a data-dimension112="e518994c-c7e3-11f1-9aba-e9c9a7188e4f" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="e518994c-c7e3-11f1-9aba-e9c9a7188e4f" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ WoW: Forever has a new kind of ban to deal with real money trading ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="ce2eb156-c7e0-11f1-b19c-973fbd1e534f" data-action="Deal Block" data-label="Best MMOs" data-dimension48="Best MMOs" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:316px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="UjCJY9gjRfatHZjCuGMrhR" name="elden ring square cheer.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UjCJY9gjRfatHZjCuGMrhR-1920-80.jpg" mos="" align="middle" fullscreen="" width="316" height="316" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/the-best-mmos/" target="_blank" data-dimension112="ce2eb156-c7e0-11f1-b19c-973fbd1e534f" data-action="Deal Block" data-label="Best MMOs" data-dimension48="Best MMOs" data-dimension25=""><strong>Best MMOs</strong></a>: Most massive<br><a href="https://www.pcgamer.com/the-best-strategy-games/" target="_blank"><strong>Best strategy games</strong></a>: Number crunching<br><a href="https://www.pcgamer.com/best-open-world-games/" target="_blank"><strong>Best open world games</strong></a>: Unlimited exploration<br><a href="https://www.pcgamer.com/the-best-survival-games-on-pc/" target="_blank"><strong>Best survival games</strong></a>: Live craft love<br><a href="https://www.pcgamer.com/best-horror-games/" target="_blank"><strong>Best horror games</strong></a>: Fight or flight</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/world-of-warcraft/wow-forever-has-a-new-kind-of-ban-to-deal-with-real-money-trading/</link>
                                                                            <description>
                            <![CDATA[ Time isn't money, friend. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UU7m3PLoZxRt8QYwXcmcJN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cQ6vjk2kxQg9PjYKnYoLVV-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 15:03:51 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 15:06:17 +0000</updated>
                                                                                                                                            <category><![CDATA[World of Warcraft]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                    <category><![CDATA[MMO]]></category>
                                                                                                <author><![CDATA[ harvey.randall@futurenet.com (Harvey Randall) ]]></author>                    <dc:creator><![CDATA[ Harvey Randall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Rws7mDGqrkaXrNKCH4jZ2D-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cQ6vjk2kxQg9PjYKnYoLVV-1920-80.jpg">
                                                            <media:credit><![CDATA[Blizzard Entertainment]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An orc in World of Warcraft grins greedily into a bag overflowing with gold.]]></media:description>                                                            <media:text><![CDATA[An orc in World of Warcraft grins greedily into a bag overflowing with gold.]]></media:text>
                                <media:title type="plain"><![CDATA[An orc in World of Warcraft grins greedily into a bag overflowing with gold.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cQ6vjk2kxQg9PjYKnYoLVV-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="ce2eb156-c7e0-11f1-b19c-973fbd1e534f" data-action="Deal Block" data-label="Best MMOs" data-dimension48="Best MMOs" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:316px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="UjCJY9gjRfatHZjCuGMrhR" name="elden ring square cheer.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UjCJY9gjRfatHZjCuGMrhR-1920-80.jpg" mos="" align="middle" fullscreen="" width="316" height="316" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/the-best-mmos/" target="_blank" data-dimension112="ce2eb156-c7e0-11f1-b19c-973fbd1e534f" data-action="Deal Block" data-label="Best MMOs" data-dimension48="Best MMOs" data-dimension25=""><strong>Best MMOs</strong></a>: Most massive<br><a href="https://www.pcgamer.com/the-best-strategy-games/" target="_blank"><strong>Best strategy games</strong></a>: Number crunching<br><a href="https://www.pcgamer.com/best-open-world-games/" target="_blank"><strong>Best open world games</strong></a>: Unlimited exploration<br><a href="https://www.pcgamer.com/the-best-survival-games-on-pc/" target="_blank"><strong>Best survival games</strong></a>: Live craft love<br><a href="https://www.pcgamer.com/best-horror-games/" target="_blank"><strong>Best horror games</strong></a>: Fight or flight</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Doom can 'run' on a DNS database now, and one of the technology's pioneers says 'I can't decide whether this is deliciously horrible, or else horribly delicious' ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In the early 2000's, the perennial question was whether a powerful system could run Crysis. These days, it's whether a minimal one can run Doom. We've seen an affirmative answer to this question when it comes to <a href="https://www.pcgamer.com/hardware/you-can-technically-play-doom-on-a-usd30-vape-and-it-just-needs-that-last-bit-of-ram-to-run-natively/" target="_blank">vapes</a>, a <a href="https://www.pcgamer.com/doom-coreboot-coredoom/" target="_blank">motherboard BIOS</a>, and even a <a href="https://www.pcgamer.com/heres-doom-running-on-a-pregnancy-test/" target="_blank">pregnancy test</a>. And now? A DNS database.</p><p>To be clear, we've <a href="https://www.pcgamer.com/hardware/networking/the-most-boring-protocol-on-the-internet-is-also-quietly-one-of-the-most-abusable-doom-has-been-broken-down-into-1-964-dns-text-records-and-can-be-run-via-a-powershell-script/" target="_blank">seen Doom broken down into DNS text records before</a>, but this time it seems like the database is doing more than file storage. This new version is <a href="https://www.theregister.com/columnists/2026/10/12/no-shame-in-the-domain-name-game-dns-is-doomed-literally/5302670" target="_blank">courtesy of Corey Quinn over at The Register</a>, who explains: "I have compiled Doom for a 32-bit machine whose arithmetic and memory live in DNS."</p><p>DNS, for those unaware, means '<a href="https://en.wikipedia.org/wiki/Domain_Name_System" target="_blank">domain name system</a>', and is the system that translates URLs into IP addresses that computers can actually interact with to visit. You can also create your own DNS databases with your own entries. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Quinn realised that such a database could be used essentially as a "librarian", pulling pre-made answers to relevant operations: "The database itself is 6.4 million rows of truth tables."</p><p>One of the main pioneers of DNS, <a href="https://www.linkedin.com/posts/paulvixie_i-cant-decide-whether-this-is-deliciously-share-7514785302016589824-K-De/" target="_blank">Paul Vixie, said</a>: "I can't decide whether this is deliciously horrible, or else horribly delicious. in either case, it's the best use of RFC 2136 DNS UPDATE that I've ever seen."</p><p>DNS UPDATE is what allows DNS records to be changed, which is also what's required for values and variables to change and be updated in a game world. That's the key trick here, as far as I can tell: Quinn realised there's enough similarity in the way DNS works to essentially replicate the usual conditional 'if this, then this' way that code works.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hGepsyz5Aiffh5UJCnSbjN" name="doom cover" alt="Doom (1993) key art depicting Doom Guy shooting at hordes of demons clawing at him from below." src="https://cdn.mos.cms.futurecdn.net/hGepsyz5Aiffh5UJCnSbjN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: id Software)</span></figcaption></figure><p>"I want to be very clear here: this isn't DNS pretending to be a CPU." says Quinn. "The instruction decoding is done ahead of time by a compiler; BIND never executes an instruction itself. All that it sees is a key-value read, a conditional write, and 6.4 million rows of precomputed answers.</p><p>"It's not really a computer; it's simply a very good database. And that turns out to be enough."</p><p>Yes, that's right: 6.4 million rows. And it's hardly a snappy experience, as one update takes just over 54 seconds: "Doom says its tic rate is 35 per second, so 'playable' is a tic every 28.6 ms. I remain at 54,000 ms, which is three orders of magnitude away from victory."</p><p>So, not exactly a practical gaming experience, but certainly a fun project. If you want to try it out, Quinn has <a href="https://github.com/quinnypig/dns-doom" target="_blank">published the code on GitHub</a>, so have at it.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/doom-can-run-on-a-dns-database-now-and-one-of-the-technologys-pioneers-says-i-cant-decide-whether-this-is-deliciously-horrible-or-else-horribly-delicious/</link>
                                                                            <description>
                            <![CDATA[ Apparently the database is acting a bit like a "librarian" and not doing the actual compute. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UMCS2or2wbsjxyVqwUdeD5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NqRLotHDysoV2dhuS7X6Ei-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 14:41:41 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 14:41:51 +0000</updated>
                                                                                                                                            <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/NqRLotHDysoV2dhuS7X6Ei-1920-80.jpg">
                                                            <media:credit><![CDATA[Id Software]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Doom Enhanced (1993) screenshot - chaingun firing at two floating cacodemons]]></media:description>                                                            <media:text><![CDATA[Doom Enhanced (1993) screenshot - chaingun firing at two floating cacodemons]]></media:text>
                                <media:title type="plain"><![CDATA[Doom Enhanced (1993) screenshot - chaingun firing at two floating cacodemons]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NqRLotHDysoV2dhuS7X6Ei-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In the early 2000's, the perennial question was whether a powerful system could run Crysis. These days, it's whether a minimal one can run Doom. We've seen an affirmative answer to this question when it comes to <a href="https://www.pcgamer.com/hardware/you-can-technically-play-doom-on-a-usd30-vape-and-it-just-needs-that-last-bit-of-ram-to-run-natively/" target="_blank">vapes</a>, a <a href="https://www.pcgamer.com/doom-coreboot-coredoom/" target="_blank">motherboard BIOS</a>, and even a <a href="https://www.pcgamer.com/heres-doom-running-on-a-pregnancy-test/" target="_blank">pregnancy test</a>. And now? A DNS database.</p><p>To be clear, we've <a href="https://www.pcgamer.com/hardware/networking/the-most-boring-protocol-on-the-internet-is-also-quietly-one-of-the-most-abusable-doom-has-been-broken-down-into-1-964-dns-text-records-and-can-be-run-via-a-powershell-script/" target="_blank">seen Doom broken down into DNS text records before</a>, but this time it seems like the database is doing more than file storage. This new version is <a href="https://www.theregister.com/columnists/2026/10/12/no-shame-in-the-domain-name-game-dns-is-doomed-literally/5302670" target="_blank">courtesy of Corey Quinn over at The Register</a>, who explains: "I have compiled Doom for a 32-bit machine whose arithmetic and memory live in DNS."</p><p>DNS, for those unaware, means '<a href="https://en.wikipedia.org/wiki/Domain_Name_System" target="_blank">domain name system</a>', and is the system that translates URLs into IP addresses that computers can actually interact with to visit. You can also create your own DNS databases with your own entries. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eGbQVX"></div>                            </div>                            <script src="https://kwizly.com/embed/eGbQVX.js" async></script><p>Quinn realised that such a database could be used essentially as a "librarian", pulling pre-made answers to relevant operations: "The database itself is 6.4 million rows of truth tables."</p><p>One of the main pioneers of DNS, <a href="https://www.linkedin.com/posts/paulvixie_i-cant-decide-whether-this-is-deliciously-share-7514785302016589824-K-De/" target="_blank">Paul Vixie, said</a>: "I can't decide whether this is deliciously horrible, or else horribly delicious. in either case, it's the best use of RFC 2136 DNS UPDATE that I've ever seen."</p><p>DNS UPDATE is what allows DNS records to be changed, which is also what's required for values and variables to change and be updated in a game world. That's the key trick here, as far as I can tell: Quinn realised there's enough similarity in the way DNS works to essentially replicate the usual conditional 'if this, then this' way that code works.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hGepsyz5Aiffh5UJCnSbjN" name="doom cover" alt="Doom (1993) key art depicting Doom Guy shooting at hordes of demons clawing at him from below." src="https://cdn.mos.cms.futurecdn.net/hGepsyz5Aiffh5UJCnSbjN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: id Software)</span></figcaption></figure><p>"I want to be very clear here: this isn't DNS pretending to be a CPU." says Quinn. "The instruction decoding is done ahead of time by a compiler; BIND never executes an instruction itself. All that it sees is a key-value read, a conditional write, and 6.4 million rows of precomputed answers.</p><p>"It's not really a computer; it's simply a very good database. And that turns out to be enough."</p><p>Yes, that's right: 6.4 million rows. And it's hardly a snappy experience, as one update takes just over 54 seconds: "Doom says its tic rate is 35 per second, so 'playable' is a tic every 28.6 ms. I remain at 54,000 ms, which is three orders of magnitude away from victory."</p><p>So, not exactly a practical gaming experience, but certainly a fun project. If you want to try it out, Quinn has <a href="https://github.com/quinnypig/dns-doom" target="_blank">published the code on GitHub</a>, so have at it.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Fortnite is coming to Linux once Epic improves Easy Anti-Cheat ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Epic intends to launch Fortnite on Linux, but first, it's "rebuilding Easy Anti-Cheat" to support the move.</p><p>"Once [EAC Linux v2 is] working with a critical mass of distro maintainers, we'll bring Fortnite to Linux via the Epic Games Launcher," the company announced. "We'll also make these improvements available to other developers so they can bring their games to Linux players."</p><p>More PC games than ever are playable on Linux, thanks in part to Valve's Proton emulation, which allows many Windows games to be played on SteamOS and has been essential to the Steam Deck's success. But some of the biggest multiplayer games have been holdouts, because opening the doors to Linux represents a security and cheating risk.</p><p>For example, former Facepunch COO Alistair McFarlane <a href="https://www.pcgamer.com/games/survival-crafting/rust-developer-has-no-plans-for-linux-or-proton-support-says-games-that-support-them-are-not-serious-about-anti-cheat/" target="_blank">said last year</a> that the studio's popular survival game, Rust, was unsupported on Linux because of cheating.</p><p>"There are no plans to support Proton or Linux," McFarlane said at the time. "It's a vector for cheat developers, and one that would be poorly maintained by both us and EAC due to the low user base. When we stopped support for Linux, we saw more cheat users exploiting Linux, than actual legitimate users."</p><p>Epic's move could potentially change that calculation for Rust and other games. </p><p>One hurdle: Most of the people I know who play games on Linux do so on a Steam Deck, but according to <a href="https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2" target="_blank">an Epic blog post</a> that goes into the plan's technical details, the Steam Deck does not currently support the new EAC Linux v2 solution. Epic says that it is "actively talking with Valve" about making it happen.</p><p>Regarding Fortnite specifically, game security engineering director Rick Deist told PC Gamer on a call this week that Epic is "investigating compatibility with Steam Deck and SteamOS devices." (In related news, Epic has <a href="https://www.pcgamer.com/software/platforms/epic-says-its-new-vibe-coded-epic-games-store-launcher-is-faster-than-steam/">released a new Epic Games Store client</a> which includes a Linux version for the first time.)</p><p>"We want to let players play where they want to play as much as possible," said Deist.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/battle-royale/fortnite-is-coming-to-linux-once-epic-improves-easy-anti-cheat/</link>
                                                                            <description>
                            <![CDATA[ A major shooter is pushing past the Linux anticheat barrier. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2pp95KGAYqvQenirPEbbzC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/72TQoGZJUojSejQimVbZwe-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 14:25:35 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 17:22:56 +0000</updated>
                                                                                                                                            <category><![CDATA[Battle Royale]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ tyler@pcgamer.com (Tyler Wilde) ]]></author>                    <dc:creator><![CDATA[ Tyler Wilde ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rGvfSUkSBEPzBAVS3jRh9E-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tyler grew up in Silicon Valley during the &#039;80s and &#039;90s, playing games like Zork and Arkanoid on early PCs. He was later captivated by Myst, SimCity, Civilization, Command &amp; Conquer, all the shooters they call &quot;boomer shooters&quot; now, and PS1 classic Bushido Blade (that&#039;s right: he had Bleem!). Tyler joined PC Gamer in 2011, and today he&#039;s focused on the site&#039;s news coverage. His hobbies include amateur boxing and adding to his 1,200-plus hours in Rocket League.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/72TQoGZJUojSejQimVbZwe-1920-80.jpg">
                                                            <media:credit><![CDATA[Epic]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[fortnite primal trailer]]></media:description>                                                            <media:text><![CDATA[fortnite primal trailer]]></media:text>
                                <media:title type="plain"><![CDATA[fortnite primal trailer]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/72TQoGZJUojSejQimVbZwe-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Epic intends to launch Fortnite on Linux, but first, it's "rebuilding Easy Anti-Cheat" to support the move.</p><p>"Once [EAC Linux v2 is] working with a critical mass of distro maintainers, we'll bring Fortnite to Linux via the Epic Games Launcher," the company announced. "We'll also make these improvements available to other developers so they can bring their games to Linux players."</p><p>More PC games than ever are playable on Linux, thanks in part to Valve's Proton emulation, which allows many Windows games to be played on SteamOS and has been essential to the Steam Deck's success. But some of the biggest multiplayer games have been holdouts, because opening the doors to Linux represents a security and cheating risk.</p><p>For example, former Facepunch COO Alistair McFarlane <a href="https://www.pcgamer.com/games/survival-crafting/rust-developer-has-no-plans-for-linux-or-proton-support-says-games-that-support-them-are-not-serious-about-anti-cheat/" target="_blank">said last year</a> that the studio's popular survival game, Rust, was unsupported on Linux because of cheating.</p><p>"There are no plans to support Proton or Linux," McFarlane said at the time. "It's a vector for cheat developers, and one that would be poorly maintained by both us and EAC due to the low user base. When we stopped support for Linux, we saw more cheat users exploiting Linux, than actual legitimate users."</p><p>Epic's move could potentially change that calculation for Rust and other games. </p><p>One hurdle: Most of the people I know who play games on Linux do so on a Steam Deck, but according to <a href="https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2" target="_blank">an Epic blog post</a> that goes into the plan's technical details, the Steam Deck does not currently support the new EAC Linux v2 solution. Epic says that it is "actively talking with Valve" about making it happen.</p><p>Regarding Fortnite specifically, game security engineering director Rick Deist told PC Gamer on a call this week that Epic is "investigating compatibility with Steam Deck and SteamOS devices." (In related news, Epic has <a href="https://www.pcgamer.com/software/platforms/epic-says-its-new-vibe-coded-epic-games-store-launcher-is-faster-than-steam/">released a new Epic Games Store client</a> which includes a Linux version for the first time.)</p><p>"We want to let players play where they want to play as much as possible," said Deist.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Epic says its new 'vibe coded' Epic Games Store launcher is faster than Steam ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The big Epic Games Store rebuild teased earlier this year has arrived as a new "preview" client available to download for Windows and Mac, as well as Linux for the first time.</p><p>PC Gamer was shown a demonstration of the client in advance of the announcement, and the speed improvement appeared significant. Epic claims that it's halved the launcher's startup time, and that it now goes from a cold start to the store page 46% faster than Steam. (Epic says its technical improvements have been verified by an external vendor. We have yet to test the client ourselves.)</p><p>There are also updates to the interface: A redesigned library view is the standout change, and it includes the option to bring in shortcuts to games installed with Steam and other clients.</p><p>In <a href="https://store.epicgames.com/news/epic-games-launcher-preview" target="_blank">a blog post</a>, Epic refers to the new client as "vibe coded," a term for prompting AI tools to produce code. The term be taken as either derogatory or endearing depending on who's talking.</p><p>Epic goes for laughs, saying that it opted to use AI because "programming is hard," but the company isn't joking about its use of AI coding tools. On a call this week with Epic Games Store GM Martin Keely, who took over for the <a href="https://www.pcgamer.com/gaming-industry/epic-games-store-boss-quits-after-8-years-to-take-up-new-role-at-saber-interactive/">outgoing Steve Allison</a> in August, I asked whether AI was used primarily to analyze the existing EGS code for opportunities to improve it, or to write new code. He affirmed it was the latter.</p><p>"We started from scratch," said Keely. "This is a completely new architecture for both the store and the launcher shell. So we did look at functionality that existed and said we want to replicate that, but not the code itself. So [AI] was a tool to write and review new features and new capabilities from the ground up in a different tech stack than what we had previously."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gbZhsLBmgWPy8LXsH9T7HV" name="New Epic Games Launcher Preview 2" alt="Epic Games Store speed analysis which claims "cold start to store" is 46% faster than Steam." src="https://cdn.mos.cms.futurecdn.net/gbZhsLBmgWPy8LXsH9T7HV-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/gbZhsLBmgWPy8LXsH9T7HV-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Epic says its new client launches 46% faster than Steam. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Epic Games)</span></figcaption></figure><p>You'd be hard pressed to find any big games company that isn't mucking about with AI, but Epic is particularly bullish on the tech, and willing to confront public disapproval. On Monday, Bloomberg<a href="https://www.pcgamer.com/gaming-industry/game-development/our-humble-goal-is-to-survive-the-ai-revolution-says-epic-games-ceo-as-its-star-wars-and-marvel-crossover-pivots-to-ai-first-development/"> reported that</a> Epic instructed the team working on an unannounced Star Wars and Marvel shooter to take an "AI first" approach to development.</p><p>"We have a huge pivot underway here at Epic, moving developers around to retool for maximum AI acceleration," Epic CEO Tim Sweeney said after that news was reported. "The aim isn't to do the same stuff with fewer people, but to enable everyone here to build MORE and BETTER stuff, and to bring the benefits to all teams using Unreal."</p><p>The use of "vibe coded" to describe this new client, which is sure to draw some eyerolls, seems to me like a clear statement from Epic that it is unbothered by AI critics.</p><p>For now, the release of the new client is not being communicated through the existing Epic Games Store software. Epic is treating it like a beta test, expecting gradual adoption through word-of-mouth while it addresses feedback.</p><p>The preview client can be downloaded at <a href="http://launcher.epicgames.com" target="_blank">launcher.epicgames.com</a>, and alongside the expected Windows and macOS versions, there's also a Linux build.</p><p>In conjunction with that news, Epic announced that it's <a href="https://www.pcgamer.com/games/battle-royale/fortnite-is-coming-to-linux-once-epic-improves-easy-anti-cheat/">working on upgrading Easy Anti-Cheat</a> so that it can bring Fortnite to Linux and help other multiplayer games make the jump.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/platforms/epic-says-its-new-vibe-coded-epic-games-store-launcher-is-faster-than-steam/</link>
                                                                            <description>
                            <![CDATA[ The updated version is in beta for the time being, and represents a total rebuild of the EGS client. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NcUFZottBVzMoqGGaZpj3N</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/227BXKgc2ZKscWoxe2bNiV-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 14:15:44 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 23:32:01 +0000</updated>
                                                                                                                                            <category><![CDATA[Platforms]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ tyler@pcgamer.com (Tyler Wilde) ]]></author>                    <dc:creator><![CDATA[ Tyler Wilde ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rGvfSUkSBEPzBAVS3jRh9E-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tyler grew up in Silicon Valley during the &#039;80s and &#039;90s, playing games like Zork and Arkanoid on early PCs. He was later captivated by Myst, SimCity, Civilization, Command &amp; Conquer, all the shooters they call &quot;boomer shooters&quot; now, and PS1 classic Bushido Blade (that&#039;s right: he had Bleem!). Tyler joined PC Gamer in 2011, and today he&#039;s focused on the site&#039;s news coverage. His hobbies include amateur boxing and adding to his 1,200-plus hours in Rocket League.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/227BXKgc2ZKscWoxe2bNiV-1920-80.png">
                                                            <media:credit><![CDATA[Epic Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Epic Games Store redesign]]></media:description>                                                            <media:text><![CDATA[Epic Games Store redesign]]></media:text>
                                <media:title type="plain"><![CDATA[Epic Games Store redesign]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/227BXKgc2ZKscWoxe2bNiV-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The big Epic Games Store rebuild teased earlier this year has arrived as a new "preview" client available to download for Windows and Mac, as well as Linux for the first time.</p><p>PC Gamer was shown a demonstration of the client in advance of the announcement, and the speed improvement appeared significant. Epic claims that it's halved the launcher's startup time, and that it now goes from a cold start to the store page 46% faster than Steam. (Epic says its technical improvements have been verified by an external vendor. We have yet to test the client ourselves.)</p><p>There are also updates to the interface: A redesigned library view is the standout change, and it includes the option to bring in shortcuts to games installed with Steam and other clients.</p><p>In <a href="https://store.epicgames.com/news/epic-games-launcher-preview" target="_blank">a blog post</a>, Epic refers to the new client as "vibe coded," a term for prompting AI tools to produce code. The term be taken as either derogatory or endearing depending on who's talking.</p><p>Epic goes for laughs, saying that it opted to use AI because "programming is hard," but the company isn't joking about its use of AI coding tools. On a call this week with Epic Games Store GM Martin Keely, who took over for the <a href="https://www.pcgamer.com/gaming-industry/epic-games-store-boss-quits-after-8-years-to-take-up-new-role-at-saber-interactive/">outgoing Steve Allison</a> in August, I asked whether AI was used primarily to analyze the existing EGS code for opportunities to improve it, or to write new code. He affirmed it was the latter.</p><p>"We started from scratch," said Keely. "This is a completely new architecture for both the store and the launcher shell. So we did look at functionality that existed and said we want to replicate that, but not the code itself. So [AI] was a tool to write and review new features and new capabilities from the ground up in a different tech stack than what we had previously."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gbZhsLBmgWPy8LXsH9T7HV" name="New Epic Games Launcher Preview 2" alt="Epic Games Store speed analysis which claims "cold start to store" is 46% faster than Steam." src="https://cdn.mos.cms.futurecdn.net/gbZhsLBmgWPy8LXsH9T7HV-1920-80.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/gbZhsLBmgWPy8LXsH9T7HV-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Epic says its new client launches 46% faster than Steam. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Epic Games)</span></figcaption></figure><p>You'd be hard pressed to find any big games company that isn't mucking about with AI, but Epic is particularly bullish on the tech, and willing to confront public disapproval. On Monday, Bloomberg<a href="https://www.pcgamer.com/gaming-industry/game-development/our-humble-goal-is-to-survive-the-ai-revolution-says-epic-games-ceo-as-its-star-wars-and-marvel-crossover-pivots-to-ai-first-development/"> reported that</a> Epic instructed the team working on an unannounced Star Wars and Marvel shooter to take an "AI first" approach to development.</p><p>"We have a huge pivot underway here at Epic, moving developers around to retool for maximum AI acceleration," Epic CEO Tim Sweeney said after that news was reported. "The aim isn't to do the same stuff with fewer people, but to enable everyone here to build MORE and BETTER stuff, and to bring the benefits to all teams using Unreal."</p><p>The use of "vibe coded" to describe this new client, which is sure to draw some eyerolls, seems to me like a clear statement from Epic that it is unbothered by AI critics.</p><p>For now, the release of the new client is not being communicated through the existing Epic Games Store software. Epic is treating it like a beta test, expecting gradual adoption through word-of-mouth while it addresses feedback.</p><p>The preview client can be downloaded at <a href="http://launcher.epicgames.com" target="_blank">launcher.epicgames.com</a>, and alongside the expected Windows and macOS versions, there's also a Linux build.</p><p>In conjunction with that news, Epic announced that it's <a href="https://www.pcgamer.com/games/battle-royale/fortnite-is-coming-to-linux-once-epic-improves-easy-anti-cheat/">working on upgrading Easy Anti-Cheat</a> so that it can bring Fortnite to Linux and help other multiplayer games make the jump.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>