В Compact Framework нет встроенной поддержки двойной буферизации. Вы можете добавить его самостоятельно, PictureBox уже поддерживает свойство Image. Создайте растровое изображение в конструкторе и присвойте его изображению. Вам больше не нужно событие Paint, оно предоставлено PictureBox и уже рисует его на экране.
Когда изображение нужно изменить, создайте объект Graphics с Graphics.FromImage (), передав изображение PB и нарисуйте ваши вещи. Вызовите метод PB Invalidate (), чтобы сообщить ему, что необходимо перерисовать изображение. Если вы все еще видите мерцание, переопределите метод OnPaintBackground () PB и ничего не делайте.
Единственное другое соображение касается обработки изменения размера, вам понадобится большее или меньшее растровое изображение. Не уверен, что это будет необходимо для игры.