# GPU

> GPU is a passive in tibo.dog. +1 projectile. Firing builds heat. At full heat, weapons fire at half speed for 3s. Each level adds fire rate and cooling.

Source page: https://www.tibodog.wiki/passives/gpu · Wiki updated 6 Nov 2026, 03:43 UTC · Game version 75 (`main-CSuyb4iv.js`, data synced 5 Nov 2026, 21:45 UTC)

Breadcrumb: [Main page](/) › [Passives](/passives)

| GPU | |
|---|---|
| Stat | Projectiles (amount) (`amount`) |
| Per level | `[1,1,1,1,1]` (value at levels 1–5) |
| Max level | 5 |
| At max level | 1 |
| Extra | Cooldown (`cooldown`) 0.02 per level |
| Offer weight | 40 |
| Catalyst for | [Kettle Cyclone](/weapons/kettle-cyclone), [Spark Corral](/weapons/spark-corral) |

**GPU** is a passive upgrade in tibo.dog. In-game description: “+1 projectile. Firing builds heat. At full heat, weapons fire at half speed for 3s. Each level adds fire rate and cooling.”

## Overview

GPU gives +1 projectile at every level, plus 2% cooldown reduction per level (10% at level 5). The catch is heat: weapons build heat as they fire, and when it fills up they slow to half speed for 3 s. Higher levels raise the heat cap from 20 to 36 and cooling from 2.6 to 2.8 heat per second. The extra projectile does not grow with level; only the cooldown and heat values do.

It is the catalyst for [Kettle Cyclone](/weapons/kettle-cyclone) (from [Chip Shuriken](/weapons/chip-shuriken)) and [Spark Corral](/weapons/spark-corral) (from [Spud Fence](/weapons/spud-fence)). GPU has the lowest offer weight of any passive (40), so it shows up on level-up cards less often than the others.

## How it works

**Heat gain.** Each time a weapon starts an attack, heat rises by that weapon's current cooldown in seconds, at most 6. No heat is added while throttled.[sim-BkfBhQfw.js: `function Pm(e,t){let n=e.loadout.thermal;!n.on||e.player.throttleTicks[e.me]>0||(e.player.heat[e.me]=e.player.heat[e.me]+Math.min(t,n.maxVolleyHeat))}`] Turret shots add heat too.

So a weapon that fires as soon as its cooldown is ready adds about 1 heat per second, whatever its cooldown: a 0.5 s weapon adds 0.5 heat twice a second. This also means cooldown reduction, from GPU itself or [Chives](/passives/chives), does not lower heat per second. Fire-rate boosts that are not cooldown, such as the [Frenzy Fryer](/points-of-interest#frenzy-fryer), do raise it. Weapons with no cooldown, such as [Steam Vent](/weapons/steam-vent), add no heat.

**Cooling.** Heat drops by 2.6–2.8 per second. If heat reaches the cap after cooling, GPU throttles.

**Throttle.** For 3 s, weapon timers run at half speed, and heat drains in a straight line from the cap to 0.[sim-BkfBhQfw.js: `function Mm(e){return(e.player.throttleTicks[e.me]>0?e.loadout.thermal.throttleRate:1)*Nf(e)}`] After the throttle, heat starts again from 0.

**Measured** (build 41 `main-B2gf34bA.js`, headless `tools/play.mjs`, standard mode, normal difficulty; GPU and weapons given with `give`, HP refilled every tick, Tibo standing still, later level-ups taking the first offer):

- With GPU at level 1 or 5 and Peeler, Small Fry, Tot Toss, Chip Shuriken and Starch Chain given once each (seed `s1`, 240 s), the heat cap was 20 and 36, and heat fell by exactly 2.6 and 2.8 per second between attacks. Every throttle (23 and 13) started with heat at the cap and lasted exactly 3 s. Each heat jump was a weapon's base cooldown times the cooldown multiplier, such as 0.49 and 0.98 at ×0.98.
- On seed `s2`, where Peeler is the starting weapon, a lone Peeler added 1.00 heat per second both without Chives (cooldown ×0.98, 1.02 attacks per second) and with Chives at level 5 (×0.63, 1.58 attacks per second), over 180 s.
- With heat forced to the cap so that GPU stayed throttled, the same lone Peeler attacked 0.508 times per second instead of 1.017, exactly half (seed `s2`, 120 s each).

The +1 projectile goes through the normal amount stat, so it does not help `aura`, `cone`, `nuke` or `ring` weapons (see [Sprouting Eyes](/passives/sprouting-eyes#how-it-works)).

## Tips

- Cooling of 2.6–2.8 per second keeps pace with two weapons that fire constantly, but not with three. Measured at GPU level 1 over 180 s with Peeler and Small Fry given once each: Peeler + Small Fry (seed `s2`) added 2.0 heat per second and never throttled. The starting Seeker Sprouts + Peeler + Small Fry (seed `s3`) added 2.9–3.0 heat per second and throttled 3 times, or 2 with Chives at level 5. A full set of fast-firing weapons overheats; weapons that only fire when a target is in range add less.
- Each level raises the heat cap and the cooling rate, so levelling GPU makes throttles rarer. The throttle itself always lasts 3 s.
- GPU's +1 projectile stacks with [Sprouting Eyes](/passives/sprouting-eyes) and [Extra Eye](/items/extra-eye).

## Levels

| Level | Projectiles (amount) (`amount`) total | Cooldown total |
|---|---|---|
| 1 | 1 | 0.02 |
| 2 | 1 | 0.04 |
| 3 | 1 | 0.06 |
| 4 | 1 | 0.08 |
| 5 | 1 | 0.1 |

Totals are added to Tibo's stat sum. How each stat turns into a multiplier (caps and diminishing returns) is on [Stats](/stats).

## Heat

GPU has a heat mechanic (`thermal`). Values by level:

| Level | Heat cap | Cooling per second |
|---|---|---|
| 1 | 20 | 2.6 |
| 2 | 24 | 2.65 |
| 3 | 28 | 2.7 |
| 4 | 32 | 2.75 |
| 5 | 36 | 2.8 |

Max heat per volley: 6. When heat is full, weapons fire at 0.5× rate for 3 s (matches the in-game text “weapons fire at half speed for 3s”).

## Catalyst for

| Result | Also needs |
|---|---|
| [Kettle Cyclone](/weapons/kettle-cyclone) | [Chip Shuriken](/weapons/chip-shuriken) at max level |
| [Spark Corral](/weapons/spark-corral) | [Spud Fence](/weapons/spud-fence) at max level |

## Names in other languages

**Verified**: the name the game shows when another language is selected in Settings, from its translation files. [i18n-ja-content-DO6GrqHt.js: `"content.passive.gpu.name":["GPU"]`] See [Languages](/controls#languages).

<details class="raw"><summary>Show names in 26 languages</summary>

| Language | Code | Name |
|---|---|---|
| 简体中文 · Simplified Chinese | `zh-CN` | GPU |
| 繁體中文 · Traditional Chinese (Taiwan) | `zh-TW` | GPU |
| 日本語 · Japanese | `ja` | GPU |
| 한국어 · Korean | `ko` | GPU |
| Español · Spanish | `es` | GPU |
| हिन्दी · Hindi | `hi` | GPU |
| Deutsch · German | `de` | GPU |
| Français · French | `fr` | GPU |
| Português (Brasil) · Brazilian Portuguese | `pt` | GPU |
| Türkçe · Turkish | `tr` | GPU |
| Bahasa Indonesia · Indonesian | `id` | GPU |
| Русский · Russian | `ru` | GPU |
| Bahasa Melayu · Malay | `ms` | GPU |
| Filipino | `fil` | GPU |
| मराठी · Marathi | `mr` | GPU |
| Tiếng Việt · Vietnamese | `vi` | GPU |
| తెలుగు · Telugu | `te` | GPU |
| தமிழ் · Tamil | `ta` | GPU |
| বাংলা · Bengali | `bn` | GPU |
| ไทย · Thai | `th` | GPU |
| Hausa | `ha` | GPU |
| Naijá · Nigerian Pidgin | `pcm` | GPU |
| <bdi>العربية</bdi> · Arabic | `ar` | <bdi>GPU</bdi> |
| <bdi>فارسی</bdi> · Persian | `fa` | <bdi>GPU</bdi> |
| <bdi>עברית</bdi> · Hebrew | `he` | <bdi>כרטיס מסך</bdi> |
| <bdi>اردو</bdi> · Urdu | `ur` | <bdi>GPU</bdi> |

</details>

## Data

```json
{
  "id": "gpu",
  "stat": "amount",
  "perLevel": [
    1,
    1,
    1,
    1,
    1
  ],
  "extra": {
    "stat": "cooldown",
    "perLevel": 0.02
  },
  "thermal": {
    "cap": [
      20,
      24,
      28,
      32,
      36
    ],
    "coolPerSec": [
      2.6,
      2.65,
      2.7,
      2.75,
      2.8
    ],
    "maxVolleyHeat": 6,
    "throttleSec": 3,
    "throttleRate": 0.5
  },
  "maxLevel": 5,
  "weight": 40
}
```

## Sources

Game version 75: `main-CSuyb4iv.js` / `boot-CPW8VVmR.js` / `sim-BkfBhQfw.js` from https://tibo.dog/, researched 2026-11-05. See [Versions & updates](/versions).
- Content registry exported by `boot-CPW8VVmR.js`; boss definitions and order exported by `sim-BkfBhQfw.js`; lazy endgame definitions from `endgame-content-CyuS5vbP.js` and `catalog.generated-JnyrtBzy.js`
- English names and descriptions from `i18n-en-content--0ALgcKX.js`
- Names in other languages from the 26 `i18n-<code>-content` files of `main-CSuyb4iv.js` (`data/i18n-names.json`)
