Stanzilla / WoWUIBugs

World of Warcraft UI Bug Tracker
153 stars 7 forks source link

In East Asian languages, loading slug file of damage font causes short freeze at the first time entering combat #443

Closed CyanoHao closed 6 months ago

CyanoHao commented 1 year ago

https://github.com/Stanzilla/WoWUIBugs/assets/14287996/b6e56927-0ed6-41ea-ab28-a3e7df05eac7

(00:01s to 00:02s, short freeze after first damage text "10,338" )

Step to reproduce:

  1. Set client language to zhCN (most significant for largest slug file size), zhTW or koKR.
  2. Enter the world and check whether CVar useSlug is set to 1.
  3. Do some combat and wait for several minutes to ensure slug file[1] is successfully generated.
  4. Completely quit WoW.
  5. Enter the world again, and the game client got frozen for seconds at the first time entering combat.

Game version: it is reported[2] any version since 10.0 is affected. Steps above are tested on PTR 10.1.5.49908.

Note:

  1. Set useSlug to 0 fixes the freeze.
  2. Latin-based languages and Russian are not affected -- they have UNIT_NAME_FONT == DAMAGE_TEXT_FONT and thus slug file is loaded on entering world.
  3. Set DAMAGE_TEXT_FONT identically to UNIT_NAME_FONT (using an AddOn) also fixes it.
  4. The period of freeze seems to be unrelated to disk read speed. It freezes for almost same period on SSD or heavily used SMR HDD.
  5. The period of freeze seems to be related to complexity of the font. More characters, larger file size cause longer freeze.

Possible solution: preload slug file of damage font on entering world.

[1] 615970.slug for zhCN, 615965.slug for zhTW, 615975.slugo for koKR. [2] https://bbs.nga.cn/read.php?tid=35812992 (in Chinese)

Meorawr commented 9 months ago

This issue may be getting fixed in 10.2 - unsure if it's in any current PTR build, but could be worth keeping an eye on between now and launch.