Skip to main content


Main Page:

📄️ Frames

Many things in Genshin Impact are affected by the game's FPS, e.g. animations, timers, and some turrets. The standard FPS for frame counting is 60 unless otherwise specified. Everything in the TCL is done with macros to achieve perfect frame counts \(in most cases this is the fastest possible variant of every attack\).

Hitlag Extension

Hitlag Extends Elemental Aura Duration

By: BowlSoldier#3528

Elemental Aura durations are affected by hitlag, much like any other enemy debuff.

In the first example in the video, there is no hitlag. The Electro aura lasts for 566 frames, or 9.43 seconds.
In the second example, Razor causes as much hitlag as possible. The Electro aura lasts for 11.41 seconds, longer than expected.

We can extend aura durations with hitlag to give ourselves more time to cause reactions.
Unfortunately this means a lot of our frame counts of Elemental durations will be off by a few frames, because of the hitlag on the moves that apply the Element.

Normal Attack Hitlag can Extend Skill/Burst Duration

By: Kourinn#6001
Added: 2021-05-09 (v. 1.5)
Last tested: 2021-05-09 (v. 1.5)

Normal Attack hitlag can extend the duration of some Skills/bursts, such as Xiao's Burst.


Timestamps: (subtract 1:22:00; timestamps are from pre-editing) Google Doc

The duration of Xiao's Burst appears to be calculated from the frame the CD starts, which matches with when Xiao's tattoos light up. Extended duration after the CD start is entirely due to hitlag, not remaining animation. Animation may only appear to extend duration because CD start is delayed.

Hitlag extension should be taken into account when simulating Skills/Bursts such as Xiao's Burst, as they cause the Skill to last longer.

Hitlag Extension Caveats

By: Kourinn#6001
Added: 2021-05-09 (v. 1.5)
Last tested: 2021-05-09 (v. 1.5)


  • Deployables (Skills and constructs that stay on the field for a set amount of time) do NOT have duration extended by normal attack hitlag.
    • The duration is only affected by their own activation hitlag (i.e. Xiangling's melee hits on her Burst) and single-player world pauses (menu, character death, etc).
  • The buffs caused by deployables, such as Chongyun's Cryo infusion, do have their durations extended by normal attack hitlag.

Bennett Field Buff

  • 00:01:11 - Q press
  • 00:01:46 - CD start
  • NA spam (should add ~1s via hitlag)
  • 00:13:41 - last heal
  • 00:14:01 - AoE fully faded

Q circle lasted 12s

Chongyun Field Buff

  • 00:08:53 - E press
  • 00:09:28 - E CD Start
  • NA Spam (should add ~1.5s hitlag)
  • 00:19:32 - CD on Skill hits 4.9 seconds
  • 00:19:39 - AoE fully faded
  • 00:21:43 - CD on Chongyun's Skill hits 2.7s (when the infusion effect should end)
  • 00:21:59 - Infused Weapon effect ends

E circle lasted ~10s; Cryo infusion lasted 0.16 seconds longer than expected

Xiangling Hitlag Extension

With Hitlag on Startup


  • 00:26:28 - Q press
  • 00:26:47 - Q CD Start, Q hitlag start
  • 00:26:54 - Q hitlag end (7 frames)
  • 00:27:06 - Q hitlag start
  • 00:27:13 - Q hitlag end (7 frames)
  • 00:27:27 - Pyronado Entity spawns
  • 00:27:35 - Q hitlag start
  • 00:27:42 - Q hitlag end (7 frames)
  • some NA spam (should extend Pyronado by ~2s due to hitlag if hitlag were to actually extend pyronado)
  • 00:41:10 - Pyronado Entity disappears, 5.6s CD left
  • 00:41:15 - 5.5s cd


  • from Q press: 14:42
  • from CD start: 14:23
  • from entity spawn: 13:43

Without Hitlag on Startup


  • 00:15 - Q pressed
  • 00:34 - CD started
  • 01:02 - Pyronado entity spawned
  • 14:45 - Pyronado entity disappears at 5.8s CD left
  • 14:46 - Explosion animation starts


  • from Q press: 14:30
  • from CD start: 14:16
  • from entity spawn: 13:44

As shown, in the case of Xiangling, while her hitlag (on the second melee hit; the Skill's cooldown starts after the first hit, so its hitlag has no benefit) delays the spawn, effectively reducing the cooldown by 6 or 7 frames (0.100s - 0.117s), this effect is negligible.
The third melee hit does not matter, since the Pyronado entity has spawned by the third hit, and hitlag does not extend its duration.

Hitlag extension should be ignored when theorycrafting deployables' and Bennett's/Chongyun's buff/infusion uptime.


Preliminary Analysis of How Invincibility Frames Work

By: MemeMastodon69/#2165
Added: 2020-10-29 (v. 1.0)
Last tested: 2020-10-29 (v. 1.0)

Raw footage at end of post. All footage taken at 60fps. Halve figures for 30fps. Assumptions - Hit is registered on the frame before knockback animation starts playing.
From this we can infer the large slime's jump attack's active hitbox begins on the frame its landing "spark" appears.
Methodology - Startup frames determined by dashing as close to slime landing as possible.
Total frames determined by dashing into the center of the slime landing as close to 25 frames as possible, after establishing likely total frames by dashing repeatedly under Stormterror beam and counting frames until Particle effect triggers.

Startup - Failed dodge at 2 frames from input, succeeded at 4 frames from input. Conclusion - 3 frames startup time.
Total - Lowest counted frames from dashing under Stormterror beam 26 frames. Failed slime dodge at 26 frames, succeeded at 24 frames.
Conclusion - PROBABLY 20 active frames give or take 1.
Latency - Hit detection is calculated client-side, as startup time is significantly lower than my latency to the server.
Time taken - A few hours of testing, 20 years of training to make frame-perfect inputs on a consistent basis.
Startup time footage
Stormterror 4Head footage (don't look at this)
Total active time footage

TL;DR - 3 startup frames, 20 active frames give or take 1 frame from each.

Frame Counts

Aim Mode Frame Counts

By: BowTae#0141 and xSil3nt#0961
Added: 2022-04-15 (v. 2.6)
Last tested: 2022-04-15 (v. 2.6)

Standardized aim mode frame counts for bow characters.

Google Sheet

  • Frames were recorded at 60fps, using a macro to find the minimum consistent frame counts.

More accurate counts for the TCL.

Burst Idle iFrames

By: Aeonim#3811, Chompy#6384, Fiery#9872, soran#0001, Kolibri#7675
Added: 2022-07-28 (v. 2.8)
Last tested: 2022-07-28 (v. 2.8)

Certain characters' Elemental Bursts provide iFrames far beyond the first cancellable frame. However, these iFrames are only active until the player inputs any action, after which they are immediately cancelled, thus the name "Idle iFrames."


Two values were needed to calculate the Idle iFrames a character's Burst has: The "First Switch Frame" (FSF) and the "Total Invulnerability Length" (TIL).

FSF is the first frame a character switch can occur after using a Burst. This was measured by using a character's Elemental Burst while spamming the character switch buttons. As a result, FSF is the total number of frames from the first frame of a character's Burst animation to the first frame the character actually switches model, including the former, excluding the latter.

TIL was measured by using a character's Burst while taking damage from both Sheer Cold as well as Signora's icy floor (and sometimes Signora's icicle attacks). This method was used as it is the most consistent ticking damage as well as effectively the fastest ticking damage. When measuring TIL, all frames between the first frame of a character's Burst animation and the first frame of damage taken are considered iFrames, including the former frame, excluding the latter. In cases where the character took damage after their Burst animation started, the starting point of the TIL would be the frame after they took damage.

The total number of Idle iFrames was calculated as Idle iFrames = TIL - FSF. Keep in mind that these will have a margin of error, as damage taken has been found to be server side, rather than client (NZPIEFACE#8439, 2021-12-17).

  • Prime Example: Keqing was observed to have the longest total invulnerability as well as the greatest number of idle iFrames, avoiding damage for a total of 347 frames (5.783 seconds), 222 frames (3.7 seconds) longer than her first switch frame. This is significantly longer than the "2 seconds" that many others cite.

These additional iFrames may prove useful in dodging/iFraming incoming attacks without the use of stamina, or dodging long attacks, such as Maguu Kenki's "Phantom: Flowing Water" attack (during the Vagabond Sword event). Knowing these values may also help others in knowing around when you'll start taking damage after pressing the Burst button.

Catalyst N1 Buffer

By: Steno#0119 and pai#3602
Added: 2022-07-28 (v. 2.8)
Last tested: 2022-07-28 (v. 2.8)

All catalyst characters have 3 distinct lengths for their N1. Under normal circumstances, they will always use their regular (short) version. However, inputting a normal attack immediately out of a dash or sometimes on the first few frames of a walk input will lead to the N1 having significantly increased animation frames (long version). Inputting a normal attack out of a previous normal attack string leads to a slightly lengthened animation (medium version).

The exact frames for the short and long versions for all catalyst characters are:

  • Barbara: 10 short, 22 long
  • Kokomi: 15 short, 23 long
  • Klee: 28 short, 37 long
  • Lisa: 20 short, 30 long
  • Mona: 15 short, 24 long
  • Ningguang (when she doesn't spin): 54 short, 60 long
  • Sucrose: 15 short, 25 long
  • Yanfei: 22 short, 27 long
  • Yae: missing data


  • A couple of basic buffering scenarios with Kokomi: YouTube
  • W (walk) N2 scenario with Kokomi: YouTube
    • This test shows ~6 - 9 frame difference on the length of the N1 between a regular attack and a walk -> attack.
  • Frame data for all catalyst characters on regular vs dash buffered Normal Attacks: Google Doc

Better optimization of catalyst attack strings.