Ma daj, zašto čovek da kopa po tako ogromnom sajtu...
Idemo ispočetka. Tajmer ne zavisi direktno od procesora, to i jeste njegova svrha. Postoje i mnogo bolji načini ali za sada će ti tajmer sasvim lepo koristiti.
Sada, o uglovima. Nećeš moći da radiš ništa sa kretanjem pictureboxa ovako. Dok god su ti xDir i yDir boolean varijable, osuđen si na 90 stepeni.
Nego da mi to malo poboljšamo. Prvo, deklariši xDir i yDir kao Integer promenljive (Private xDir As Integer, yDir as Integer).
Zatim, umesto da dodaješ/oduzimaš trideset ako su xDir i yDir False ili True, treba da pojednostaviš:
bezuslovno dodaješ xDir na X poziciju picBoxa. Primeti da xDir može biti pozitivno ili negativno tako da će se X lopte povećavati ili smanjivati. Isto važi za yDir.
E sada, kada odbijaš loptu, sve što treba da uradiš jeste: xDir = -xDir (leva ili desna ivica ekrana) : yDir = -yDir (gornja ili donja ivica)
Za sada je dovoljno i ovo, pa kada vidiš kako ovo radi možemo da pređemo na randomizaciju uglova, trigonometriju, teoriju frikcionog odbijanja itd.

In a game of chess you must never let your opponent see your pieces - Zap
Brannigan