私は4つPictureBoxes(各PictureBoxは1つのサイコロを表します)と、100ミリ秒ごとにソース画像を変更するタイマーList<Bitmap> imagesLoadedFromIncludedResources(としてメモリにロードされます)を持っています。

コード:
private List<PictureBox> dices = new List<PictureBox>();
private void timer_diceImageChanger_Tick(object sender, EventArgs e)
{
foreach (PictureBox onePictureBox in dices)
{
oneDice.WaitOnLoad = false;
onePictureBox.Image = //... ;
oneDice.Refresh();
}
}
一度にすべての画像を変更する必要があります。この時点で、画像が左から右に少し遅れて変更されていることがわかります。
Threadそれぞれに1つずつバリアントを試しました(この回答の方法をPictureBox使用)-視覚的には少し良くなりますが、完全ではありません。Control.Invoke