<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>GDExtension on Pavel Guzenfeld</title><link>https://pavelguzenfeld.com/tags/gdextension/</link><description>Recent content in GDExtension on Pavel Guzenfeld</description><image><title>Pavel Guzenfeld</title><url>https://pavelguzenfeld.com/images/og-default.png</url><link>https://pavelguzenfeld.com/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://pavelguzenfeld.com/tags/gdextension/index.xml" rel="self" type="application/rss+xml"/><item><title>From Unity to Godot: Multi-Camera Streaming at 50 FPS with Async GPU Readback</title><link>https://pavelguzenfeld.com/posts/godot-multi-camera-streaming-async-readback/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://pavelguzenfeld.com/posts/godot-multi-camera-streaming-async-readback/</guid><description>After O3DE&amp;rsquo;s 18 ms frame-graph readback made 30 FPS streaming impossible, we tried Godot. It got us there — eventually. This is the full path from 105 FPS on nothing to 50 FPS per camera with three live RTP streams, including every wrong turn and every underdocumented Godot behavior we hit on the way.</description></item></channel></rss>