Odlišné PNG na apple (zprávička)

Odlišné PNG na apple (zprávička)
« kdy: 17. 05. 2022, 12:10:12 »
U této novinky PNG může vypadat jinak na Apple a na jiných zařízeních - root.cz, znamená to, že ten jiný obrázek se ukáže vždy a nebo s určitou pravděpodobností? (Byla tam zmínka o paralelním dekodéru a race condition)


RDa

  • *****
  • 1 772
    • Zobrazit profil
    • E-mail
Re:Odlišné PNG na apple (zprávička)
« Odpověď #1 kdy: 17. 05. 2022, 13:47:41 »
Nejde o race condition (timing bug), ale o false-assumption / over-optimalization.

viz:
https://github.com/DavidBuchanan314/parallel-png-proposal/issues/3

Soubor PNG obsahuje segmenty, na ktere se odkazuje indexem z tabulky. Pokud mate paralelni dekoder, kazde vlakno si jede svoji malou cast - od urciteho offsetu. Pokud mate single thread dekoder, tak se indexova tabulka ignoruje a procesuje se cely soubor sekvencne.

Chyba je spise na strane single thread dekoderu, ktery namisto toho, aby vstup rozsekal podle indexu na segmenty s omezenou delkou, procesuje vse co mu prijde - i kdyby indexova tabulka byla zkonstruovana takovym zpusobem, ze budou v souboru diry ktere se nemaji dekodovat.