<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fps | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/fps/feed/" rel="self" type="application/rss+xml" />
	<link>https://learncgames.com</link>
	<description>A blog about C, programming games and my ebook(s).</description>
	<lastBuildDate>Wed, 18 Feb 2026 13:48:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://learncgames.com/wp-content/uploads/2020/03/cropped-favicon-32x32.png</url>
	<title>fps | Learn C Games Programming Blog</title>
	<link>https://learncgames.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">181446779</site>	<item>
		<title>Tiled is the clear winner</title>
		<link>https://learncgames.com/tiled-is-the-clear-winner/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tiled-is-the-clear-winner</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Wed, 18 Feb 2026 13:48:00 +0000</pubDate>
				<category><![CDATA[Dart]]></category>
		<category><![CDATA[Flutter]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[fps]]></category>
		<category><![CDATA[frame rate]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=3516</guid>

					<description><![CDATA[<p>I thought maybe the non-tiled hex map program mentioned in my last blog entry would be easier to work with and as fast but just to be on the safe side, I measured the frame rate of both programs. I did this with a nifty bit of Flutter code ceated by an AI that I&#8217;ve [&#8230;]</p>
The post <a href="https://learncgames.com/tiled-is-the-clear-winner/">Tiled is the clear winner</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:837,&quot;href&quot;:&quot;https:\/\/al-e-shevelev.medium.com\/flutter-flame-tiled-a-simple-game-field-prototype-for-a-strategy-game-46518d9c3adc&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20231201064019\/https:\/\/al-e-shevelev.medium.com\/flutter-flame-tiled-a-simple-game-field-prototype-for-a-strategy-game-46518d9c3adc&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-18 13:48:28&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-21 22:45:39&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-25 11:44:03&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-28 22:21:14&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-04 04:16:04&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-07 12:47:53&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-10 16:51:08&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-13 20:06:45&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-16 22:46:46&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-20 02:27:00&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-23 13:14:03&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-26 15:24:46&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-29 21:06:57&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-01 21:47:11&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-05 00:09:44&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-08 08:47:36&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-11 09:31:25&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-14 18:36:42&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-17 22:45:47&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-21 08:09:25&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-21 08:09:25&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;}]'></div>
<p><img fetchpriority="high" decoding="async" class="alignleft size-full wp-image-3517" src="https://learncgames.com/wp-content/uploads/2026/02/tiled_framerate.png" alt="Tiled frame rate program (link in article)" width="979" height="915" srcset="https://learncgames.com/wp-content/uploads/2026/02/tiled_framerate.png 979w, https://learncgames.com/wp-content/uploads/2026/02/tiled_framerate-300x280.png 300w, https://learncgames.com/wp-content/uploads/2026/02/tiled_framerate-768x718.png 768w" sizes="(max-width: 979px) 100vw, 979px" />I thought maybe the non-tiled hex map program mentioned in my last blog entry would be easier to work with and as fast but just to be on the safe side, I measured the frame rate of both programs.</p>
<p>I did this with a nifty bit of Flutter code ceated by an AI that I&#8217;ve included below. I added it to the program created by <a href="https://al-e-shevelev.medium.com/flutter-flame-tiled-a-simple-game-field-prototype-for-a-strategy-game-46518d9c3adc">Alexander Shevelev</a> who wrote a Medium article about using Flutter + Flame + Tiled. That&#8217;s his program running.</p>
<pre><code class="language-c" data-line="">
import &#039;dart:math&#039; as math;
import &#039;dart:ui&#039;;
import &#039;package:flame/components.dart&#039;;
import &#039;package:flame/events.dart&#039;;
import &#039;package:flame/game.dart&#039;;
import &#039;package:flame/input.dart&#039;;
import &#039;package:flame_tiled/flame_tiled.dart&#039;;
import &#039;package:flame_tiled_example/background.dart&#039;;
import &#039;package:flame_tiled_example/tile_info.dart&#039;;
import &#039;package:flutter/foundation.dart&#039; show kIsWeb;
import &#039;package:flutter/scheduler.dart&#039;;
import &#039;package:flutter/widgets.dart&#039; hide Animation, Image;
import &#039;package:web/web.dart&#039; as web;

class FpsCounter {
  // Singleton instance
  static final FpsCounter _instance = FpsCounter._internal();

  factory FpsCounter() =&gt; _instance;

  FpsCounter._internal();

  bool _running = false;
  int _frameCount = 0;
  double _elapsedMs = 0;

  double fps = 0;

  /// Start measuring FPS
  void start() {
    if (_running) return; // avoid double registration

    _running = true;
    SchedulerBinding.instance.addTimingsCallback(_onTimings);
  }

  /// Stop measuring FPS and remove the global callback
  void stop() {
    if (!_running) return;

    SchedulerBinding.instance.removeTimingsCallback(_onTimings);
    _running = false;
    _frameCount = 0;
    _elapsedMs = 0;
    fps = 0;
  }

  /// Internal callback fired for every frame timing
  void _onTimings(List&lt;FrameTiming&gt; timings) {
    if (!_running) {
      return;
    }

    for (final t in timings) {
      _frameCount++;
      _elapsedMs += t.totalSpan.inMicroseconds / 1000.0;
    }

    // Update about 4 times per second
    if (_elapsedMs &gt;= 250) {
      fps = _frameCount / (_elapsedMs / 1000.0);

      if (kIsWeb) {
        web.document.title = &quot;Hex Map — ${fps.toStringAsFixed(1)} FPS&quot;;
      }

      _frameCount = 0;
      _elapsedMs = 0;
    }
  }
}
void main() { 
    WidgetsFlutterBinding.ensureInitialized(); 
    FpsCounter().start(); // &#x1f448; start measuring FPS 
    runApp( Background( child: GameWidget(game: TiledGame()), 
    ), 
  ); 
}</code></pre>
<p>That puts the FrameRate in the caption. My 40 x 40 hex frame rate was between 6 and 10 FPS,</p>
<p>The Tiled program displayed a 30 x 30 hex grid at just between 250 and 400 FPS! A clear and deserved winner.</p>The post <a href="https://learncgames.com/tiled-is-the-clear-winner/">Tiled is the clear winner</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3516</post-id>	</item>
	</channel>
</rss>
