<?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>PNG vs KTX on File Format Blog</title>
    <link>https://blog.fileformat.com/cs/tag/png-vs-ktx/</link>
    <description>Recent content in PNG vs KTX on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>cs</language>
    <lastBuildDate>Mon, 21 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/cs/tag/png-vs-ktx/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Formáty obrazových souborů pro vývojáře her DDS, TGA, PNG a KTX</title>
      <link>https://blog.fileformat.com/cs/image/image-file-formats-for-gamevdevelopers-dds-tga-png-and-ktx/</link>
      <pubDate>Mon, 21 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/cs/image/image-file-formats-for-gamevdevelopers-dds-tga-png-and-ktx/</guid>
      <description>Objevte rozdíly mezi DDS, TGA, PNG a KTX. Zjistěte, jak komprese GPU, nároky na VRAM a pracovní postupy pipeline ovlivňují výkon hry.</description>
      <content:encoded><![CDATA[<p><strong>Poslední aktualizace</strong>: 21. září 2026</p>
<figure class="align-center ">
    <img loading="lazy" src="images/image-file-formats-for-gamevdevelopers-dds-tga-png-and-ktx.png#center"
         alt="Image File Formats for Game Developers: DDS, TGA, PNG, and KTX Compared"/> 
</figure>

<h2 id="formáty-souborů-obrázků-pro-vývojáře-her-dds-tga-png-a-ktx">Formáty souborů obrázků pro vývojáře her: DDS, TGA, PNG a KTX</h2>
<p>Ve vývoji her představují textury největší podíl jak na spotřebě paměti během běhu, tak na velikosti instalace. Ať už vytváříte indie stylizovaný plošinovku nebo usilujete o fotorealismus v AAA otevřeném světě RPG, způsob, jakým ukládáte, zpracováváte a načítáte data textur, přímo určuje vaše snímkové rychlosti, časy načítání a kompatibilitu s hardwarem.</p>
<p>Běžnou chybou začátečníků je zacházet s herními texturami jako s webovou grafikou – předpokládat, že lehký soubor na disku se přeloží na lehký výkon ve vašem herním enginu. Ve světě GPU je realita během běhu naprosto odlišná.</p>
<p>V tomto podrobném rozboru rozebíráme čtyři nejdůležitější formáty souborů textur a obrázků v moderním vývoji her: <strong>DDS, TGA, PNG a KTX</strong>. Prozkoumáme, jak fungují, kde zapadají do pipeline assetů a kdy je použít.</p>
<h2 id="zlaté-pravidlo-úložiště-na-disku-vs-video-ram-vram">Zlaté pravidlo: úložiště na disku vs. video RAM (VRAM)</h2>
<p>Před rozborem jednotlivých formátů musí vývojáři pochopit základní rozdíl mezi <strong>kompresí úložiště na disku</strong> a <strong>blokovou kompresí hardwaru GPU</strong>.</p>
<h3 id="1-komprese-disku-png12-jpeg9-webp10">1. Komprese disku (<a href="https://docs.fileformat.com/image/png/">PNG</a>, <a href="https://docs.fileformat.com/image/jpeg/">JPEG</a>, <a href="https://docs.fileformat.com/image/webp/">WebP</a>)</h3>
<p>Formáty jako PNG používají bezztrátové kódování entropie (DEFLATE). Zatímco PNG ušetří obrovské množství místa na SSD nebo stahovacím serveru, moderní GPU <strong>nemohou přímo vzorkovat PNG soubory</strong>. Když váš herní engine načte PNG:</p>
<ul>
<li>CPU musí rozbalit soubor do surových, nekomprimovaných 32bitových RGBA pixelů v systémové paměti.</li>
<li>Nekomprimovaná bitmapa je nahrána do VRAM.</li>
<li>Textura 2048×2048 zabírá přibližně <strong>16 MB VRAM</strong>, bez ohledu na to, zda PNG byl na disku 1 MB nebo 3 MB.</li>
</ul>
<h3 id="2-bloková-komprese-gpu-bcn-astc-etc2">2. Bloková komprese GPU (BCn, ASTC, ETC2)</h3>
<p>Vyhrazené formáty GPU komprimují pevné bloky pixelů (typicky bloky 4×4 pixelů) do menších bitových reprezentací. Grafický hardware čte tyto bloky přímo ve VRAM bez dekomprese na straně CPU:</p>
<ul>
<li>Přímý náhodný přístup do VRAM bez jakéhokoli režijního zatížení dekompresí během běhu.</li>
<li>Stejná textura 2048×2048 používající BC7/ASTC zabírá pouze <strong>přibližně 4 MB VRAM</strong> (snížení o 75 %).</li>
<li>Mipmapy lze vložit přímo do souboru kontejneru.</li>
</ul>
<p>Kontejnery jako <strong>DDS</strong> a <strong>KTX</strong> jsou vytvořeny speciálně pro zabalení těchto nativních formátů GPU, zatímco <strong>PNG</strong> a <strong>TGA</strong> plní odlišné role dříve v pipeline.</p>
<h2 id="1-dds14-directdraw-surface">1. <a href="https://docs.fileformat.com/image/dds/">DDS</a> (DirectDraw Surface)</h2>
<p>Představený společností Microsoft spolu s DirectX 7 je formát <strong>DirectDraw Surface (.dds)</strong> nepopiratelným pracovním koněm průmyslu pro vývoj her na PC, Xbox a konzolích.</p>
<h3 id="technické-charakteristiky">Technické charakteristiky</h3>
<ul>
<li><strong>Typ kontejneru:</strong> Nativní kontejner textur GPU.</li>
<li><strong>Podporovaná komprese:</strong> BC1 až BC7 (Block Compression / rodina DXT), nekomprimované RGBA, formáty s plovoucí desetinnou čárkou (BC6H pro HDR).</li>
<li><strong>Klíčové schopnosti:</strong> Předpřipravené mipmapy, cube mapy, pole textur, objemové (3D) textury.</li>
</ul>
<h3 id="proč-vývojáři-používají-dds">Proč vývojáři používají DDS</h3>
<p>DDS je v podstatě přímý výpis paměti toho, co grafický hardware potřebuje. Při načítání DDS textury s předgenerovanými mipmapami engine zcela vynechává dekompresi CPU a provádí přímou kopii paměti Direct3D nebo Vulkan na GPU. To eliminuje úzká místa CPU během streamování a načítání úrovní.</p>
<h3 id="výhody">Výhody</h3>
<ul>
<li><strong>Bleskově rychlé načítání:</strong> V runtime nejsou vyžadovány žádné cykly CPU na dekompresi.</li>
<li><strong>Předpřipravené mipmapy:</strong> Offline generování mipmap umožňuje umělecky řízené filtrování, zaostřování a normalizaci normálových map napříč LODy.</li>
<li><strong>Efektivita VRAM:</strong> Nativně používá průmyslové standardní algoritmy BC komprese.</li>
</ul>
<h3 id="nevýhody">Nevýhody</h3>
<ul>
<li><strong>DirectX/Windows Bias:</strong> Historicky spjatý s ekosystémy Microsoftu, ačkoliv je široce podporován na moderních desktopových enginech.</li>
<li><strong>Lossy Compression Artifacts:</strong> Bloková komprese (zejména BC1 na normálových mapách) může způsobit blokování, pokud se nepoužijí BC5/BC7.</li>
<li><strong>Limited Mobile Support:</strong> Mobilní GPU typicky upřednostňují ASTC nebo ETC2 před desktopovými BC formáty.</li>
</ul>
<h2 id="2-tga16-truevision-targa">2. <a href="https://docs.fileformat.com/image/tga/">TGA</a> (Truevision Targa)</h2>
<p>Vytvořen v roce 1984, <strong>TGA (.tga)</strong> je nekomprimovaný nebo běhově kódovaný (RLE) rastrový grafický souborový formát, který zůstává pevnou součástí pipeline již více než tři desetiletí.</p>
<h3 id="technické-charakteristiky-1">Technické charakteristiky</h3>
<ul>
<li><strong>Container Type:</strong> Nezkomprimovaná bitmapa pro tvorbu / výměnu.</li>
<li><strong>Bit Depths:</strong> 8, 16, 24 a 32 bitů na pixel (RGB + dedikovaný 8‑bitový alfa kanál).</li>
<li><strong>Compression:</strong> Žádná nebo základní RLE (Run-Length Encoding).</li>
</ul>
<h3 id="proč-vývojáři-používají-tga">Proč vývojáři používají TGA</h3>
<p>TGA je preferována technickými umělci a programátory engineů pro svou naprostou architektonickou jednoduchost. Na rozdíl od PNG, který vkládá alfa kanál do složitých filtrujících matic, TGA udržuje barevná data a alfa kanály zcela oddělené a nedotčené.</p>
<p>Při vytváření vlastních masek (např. zabalení drsnosti do červené, kovovosti do zelené, ambientní okluze do modré a výšky do alfa kanálu) formát TGA zajišťuje, že mezi kanály nedochází k žádnému jemnému algoritmickému míchání ani k úniku barev.</p>
<h3 id="výhody-1">Výhody</h3>
<ul>
<li><strong>Dokonalá věrnost dat:</strong> Bitově přesná zachování hodnot kanálů; ideální pro textury s kanálově zabaleným ORM (Okluze‑Drsnost‑Kovovost).</li>
<li><strong>Jednoduché parsování:</strong> Interní nástroje pipeline, vlastní exportéry a automatizované skripty mohou číst a zapisovat soubory TGA s minimálním počtem řádků kódu.</li>
<li><strong>Univerzální podpora DCC:</strong> Maya, 3ds Max, Blender, Substance 3D a Photoshop nabízejí nativní, bezproblémový export TGA.</li>
</ul>
<h3 id="nevýhody-1">Nevýhody</h3>
<ul>
<li><strong>Obrovské velikosti souborů:</strong> Velký objem v repozitářích Git/Perforce a pomalé rychlosti stahování v distribuovaných týmech.</li>
<li><strong>Nevhodné pro runtime:</strong> Nelze jej přímo použít GPU jako komprimovaný formát; musí být převáděn enginem během přípravy (cook time).</li>
</ul>
<h2 id="3-png12-portable-network-graphics">3. <a href="https://docs.fileformat.com/image/png/">PNG</a> (Portable Network Graphics)</h2>
<p><strong>PNG (.png)</strong> je nejrozpoznatelnější bezztrátový formát obrázků na světě, využívající kompresi zlib/DEFLATE k zabalení bohatých 24‑bitových a 32‑bitových obrázků do pozoruhodně malých souborů.</p>
<h3 id="technické-charakteristiky-2">Technické charakteristiky</h3>
<ul>
<li><strong>Typ kontejneru:</strong> Bezztrátový formát pro tvorbu i distribuci.</li>
<li><strong>Hloubka bitů:</strong> Až 16 bitů na kanál (48-bit RGB, 64-bit RGBA).</li>
<li><strong>Komprese:</strong> Bezeztrátový algoritmus DEFLATE.</li>
</ul>
<h3 id="proč-vývojáři-používají-png">Proč vývojáři používají PNG</h3>
<p>PNG slouží jako primární distribuční formát pro UI assety, sprity, propagační materiály a mezilehlé zdrojové textury. Pro 2D hry vytvořené v Unity, Godotu nebo Unreal Engine poskytuje PNG ostrou pixelovou věrnost s dokonalými maskami průhlednosti.</p>
<h3 id="výhody-2">Výhody</h3>
<ul>
<li><strong>Kompaktní stopa repozitáře:</strong> Výrazně snižuje velikost stažení projektu ve srovnání s nekomprimovaným TGA.</li>
<li><strong>Bezeztrátová kvalita barev:</strong> Žádné artefakty komprese na hranách s vysokým kontrastem a vektorových ilustracích.</li>
<li><strong>Nativní alfa průhlednost:</strong> Čistá podpora 8bitového alfa kanálu pro složité průsvitné UI prvky a částicové listy.</li>
</ul>
<h3 id="nevýhody-2">Nevýhody</h3>
<ul>
<li><strong>Náročné dekódování CPU:</strong> Rozbalování velkých PNG souborů za běhu zpomaluje snímkovou frekvenci a zvyšuje využití paměti před nahráním na GPU.</li>
<li><strong>Problémy s přednásobenou alfu:</strong> Některé editory obrázků zahazují RGB data v úplně průhledných pixelech, což poškozuje rozšíření textury a způsobuje tmavé obrysy kolem spritů.</li>
<li><strong>Žádná úspora VRAM:</strong> Rozbalí se do plné 32‑bitové surové paměti uvnitř GPU, pokud není vstřebáno texturovým kuchařem enginu.</li>
</ul>
<h2 id="4-ktx-khronos-texture-a-ktx-20">4. KTX (Khronos Texture) a KTX 2.0</h2>
<p>Vyvinuto skupinou Khronos—správním orgánem za Vulkan, OpenGL a glTF—<strong>KTX (.ktx)</strong> a <strong>KTX 2.0</strong> představují moderní otevřený standard pro multiplatformní GPU textury.</p>
<h3 id="technické-charakteristiky-3">Technické charakteristiky</h3>
<ul>
<li><strong>Typ kontejneru:</strong> Standardizovaný otevřený GPU texturový kontejner.</li>
<li><strong>Podpora komprese:</strong> Basis Universal (ETC1S a UASTC), ASTC, BCn, ETC2.</li>
<li><strong>Klíčové schopnosti:</strong> Univerzální převod textur, mipmapy, kubemapy, pole textur, integrace s glTF.</li>
</ul>
<h3 id="proč-vývojáři-používají-ktx">Proč vývojáři používají KTX</h3>
<p>KTX 2.0 řeší roztříštěný problém komprese napříč platformami. Tradičně vývojáři museli distribuovat DDS (BCn) pro desktop/konsoly a ASTC/ETC2 pro mobilní zařízení/tablety.</p>
<p>S KTX 2.0 a <strong>Basis Universal</strong>:</p>
<ol>
<li>Ukládáte textury v kompaktním, univerzálně komprimovatelném formátu.</li>
<li>Za běhu hardware klienta překládá soubor přímo do libovolného blokového formátu, který upřednostňuje místní GPU (např. BC7 na GeForce RTX, ASTC na iPhonu, ETC2 na starším zařízení Android).</li>
<li>Superkomprese (Zstandard) vytváří soubory menší než JPEG na disku, které se během milisekund překládají do nativních bloků VRAM.</li>
</ol>
<h3 id="výhody-3">Výhody</h3>
<ul>
<li><strong>Skutečný multiplatformní standard:</strong> Běží hladce na Vulkan, WebGL, WebGPU a mobilních zařízeních.</li>
<li><strong>Basis Universal Transcoding:</strong> Jedna jediná sestava assetu cílí na desktop, mobil a prohlížeč bez duplicitních exportů textur.</li>
<li><strong>Prvotřídní doprovodný glTF:</strong> Nezbytný pro moderní 3D webové zážitky, metaverzové enginy a otevřené renderovací pipeline.</li>
</ul>
<h3 id="nevýhody-3">Nevýhody</h3>
<ul>
<li><strong>Zralost nástrojů pipeline:</strong> Vyžaduje moderní build řetězce (např. <code>toktx</code> ze sady KTX-Software); starší proprietární enginy mohou postrádat integraci bez úprav.</li>
<li><strong>Překladová zátěž:</strong> Mírná latence při překladu za běhu (ačkoliv je řády rychlejší než úplné softwarové dekódování PNG).</li>
</ul>
<h2 id="srovnání-hlava-v-hlavě">Srovnání hlava v hlavě</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Funkce / Kritéria</th>
<th style="text-align:left"><a href="https://docs.fileformat.com/image/dds/">DDS</a></th>
<th style="text-align:left"><a href="https://docs.fileformat.com/image/tga/">TGA</a></th>
<th style="text-align:left"><a href="https://docs.fileformat.com/image/png/">PNG</a></th>
<th style="text-align:left">KTX / KTX 2.0</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>Primární případ použití</strong></td>
<td style="text-align:left">Runtime pro PC/konzole</td>
<td style="text-align:left">Tvorba zdrojů a masky</td>
<td style="text-align:left">2D Sprity a zdrojová grafika</td>
<td style="text-align:left">Cross-platform a webové runtime</td>
</tr>
<tr>
<td style="text-align:left"><strong>Přímé vzorkování GPU</strong></td>
<td style="text-align:left">Ano (Native)</td>
<td style="text-align:left">Ne</td>
<td style="text-align:left">Ne</td>
<td style="text-align:left">Ano (Native nebo Transkódováno)</td>
</tr>
<tr>
<td style="text-align:left"><strong>Komprese VRAM</strong></td>
<td style="text-align:left">Ano (BC1–BC7)</td>
<td style="text-align:left">Ne (Nezkomprimováno)</td>
<td style="text-align:left">Ne (Nezkomprimováno)</td>
<td style="text-align:left">Ano (ASTC, BCn, Basis)</td>
</tr>
<tr>
<td style="text-align:left"><strong>Předpřipravené mipmapy</strong></td>
<td style="text-align:left">Ano</td>
<td style="text-align:left">Ne</td>
<td style="text-align:left">Ne</td>
<td style="text-align:left">Ano</td>
</tr>
<tr>
<td style="text-align:left"><strong>Velikost disku</strong></td>
<td style="text-align:left">Střední</td>
<td style="text-align:left">Velmi vysoká</td>
<td style="text-align:left">Malá</td>
<td style="text-align:left">Extrémně malá (Basis + Zstandard)</td>
</tr>
<tr>
<td style="text-align:left"><strong>Ekosystém</strong></td>
<td style="text-align:left">DirectX / Desktopové enginy</td>
<td style="text-align:left">Software DCC / Zdrojové pipeline</td>
<td style="text-align:left">Univerzální webové &amp; 2D enginy</td>
<td style="text-align:left">Vulkan, WebGPU, glTF</td>
</tr>
</tbody>
</table>
<h2 id="praktický-průvodce-vytvoření-ideálního-asset-pipeline">Praktický průvodce: Vytvoření ideálního asset pipeline</h2>
<p>Jak byste měli organizovat těchto čtyři formáty v komerční produkční pipeline? Zde je, jak špičková studia strukturovaně organizují své texturové pipeline:</p>
<pre tabindex="0"><code>[DCC &amp; Authoring]               [Engine Ingestion / Cook]            [Runtime GPU Target]
Substance / Photoshop / Blender           Unreal / Unity / Custom Toolset      VRAM Memory Blocks
 
   • TGA (Clean packed masks)    ──────►  Build Engine Texture Cooker  ──────►  DDS (DirectX / Windows / Xbox)
   • PNG (UI &amp; 2D Sprites)       ──────►  Generates Mipmaps &amp; Block    ──────►  KTX2 (Vulkan / WebGPU / Mobile)
   • PSD / EXR (HDR &amp; masters)   ──────►  Compression Automatically   
</code></pre><ol>
<li><strong>Zdrojová aktiva:</strong> Uložte hlavní soubory a data zabalená do kanálů ve formátech <strong>TGA</strong> nebo <strong>PNG</strong> ve vašich projektových repozitářích, aby byla zajištěna nepoškozená barevná informace.</li>
<li><strong>PC a konzolové sestavení:</strong> Převádějte své zdrojové textury do souborů <strong>DDS</strong> pomocí BC7 pro vysoce detailní albedo/normal mapy a BC4/BC5 pro jednorázové a dvojité kanálové masky.</li>
<li><strong>Cross-platformové, webové a mobilní sestavení:</strong> Zabalte runtime 3D aktiva do <strong>KTX 2.0</strong>, abyste využili univerzální transkódování napříč Androidem, iOS a WebGPU, aniž byste museli udržovat samostatné umělecké větve.</li>
<li><strong>Uživatelská rozhraní:</strong> Uchovávejte runtime UI textury buď v ostrých nekomprimovaných formátech, nebo v bezztrátových engine atlasech odvozených z vysokorozlišovacích <strong>PNG</strong> zdrojových souborů.</li>
</ol>
<h2 id="často-kladené-otázky-faq">Často kladené otázky (FAQ)</h2>
<h3 id="q1-dokáže-herní-engine-načíst-png-přímo-z-video-paměti">Q1. Dokáže herní engine načíst PNG přímo z video paměti?</h3>
<p><strong>A1:</strong> Ne; GPU nedokážou parsovat PNG kompresi, takže enginy musí dekomprimovat PNG soubory do surových 32-bitových bitmap v paměti před jejich nahráním do VRAM.</p>
<h3 id="q2-proč-technickí-umělci-upřednostňují-tga-před-png-pro-balení-masek">Q2. Proč technickí umělci upřednostňují TGA před PNG pro balení masek?</h3>
<p><strong>A2:</strong> TGA ukládá čistá, nekomprimovaná data kanálů bez rozmazání barev nebo destruktivního filtrování průhlednosti okrajů napříč jednotlivými kanály RGB a alfa.</p>
<h3 id="q3-který-algoritmus-blokové-komprese-bych-měl-použít-v-kontejneru-dds-pro-normálové-mapy">Q3. Který algoritmus blokové komprese bych měl použít v kontejneru DDS pro normálové mapy?</h3>
<p><strong>A3:</strong> Použijte <strong>BC5</strong> (komprese dvoukanálového tangentního prostoru) pro normálové mapy, aby se zachovala čistá křivost povrchu bez standardních artefaktů bloků BC1.</p>
<h3 id="q4-co-dělá-ktx-20-lepším-než-dds-pro-multiplatformní-hry">Q4. Co dělá KTX 2.0 lepším než DDS pro multiplatformní hry?</h3>
<p><strong>A4:</strong> KTX 2.0 podporuje Basis Universal, což umožňuje jednomu souboru během běhu převádět do desktopových formátů BCn nebo mobilních formátů ASTC/ETC při spuštění.</p>
<h3 id="q5-zvyšuje-předgenerování-mipmap-v-souborech-dds-nebo-ktx-velikost-disku">Q5. Zvyšuje předgenerování mipmap v souborech DDS nebo KTX velikost disku?</h3>
<p><strong>A5:</strong> Ano, zahrnutí kompletních řetězců mipmap přidá přibližně o 33 % více surových dat do souboru, ale eliminuje během běhu blikání, zlepšuje lokálnost cache a zvyšuje výkon renderování na GPU.</p>
<h2 id="viz-také">Viz také</h2>
<ul>
<li><a href="https://blog.fileformat.com/en/image/webp-vs-avif-vs-jpeg-xl-which-image-format-should-developers-choose-in-2026/">WebP vs AVIF vs JPEG XL: Nejlepší formát obrázku pro vývojáře v roce 2026</a></li>
<li><a href="https://blog.fileformat.com/image/difference-between-bmp-and-png/">Rozdíl mezi BMP a PNG</a></li>
<li><a href="https://blog.fileformat.com/2021/08/19/apng-vs-bmp-which-image-file-format-is-better/">APNG vs BMP: Který formát souboru obrázku je lepší?</a></li>
<li><a href="https://blog.fileformat.com/2021/08/25/raster-vs-vector-images-a-brief-comparison/">Raster vs vektorové obrázky: Stručné srovnání</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
