Hallo chrizstone,
wenn du kein Image anzeigen willst, sondern alles selber zeichnest, dann verwende besser ein Panel (anstatt der PictureBox) als Zeichenfläche.
Was meinst du mit 1000000? Zeichnest du etwa 1 Million verschiedene Linien?
Intern wird beim Scrollen schon das Clipping beachtet, d.h. nur die sichtbaren Bereiche gezeichnet.
Wenn es dir um die Aktualisierung nach Hinzufügen eines Punktes/Linie geht, dann kannst du dafür die Invalidate(Rectangle)-Methode benutzen, d.h. du übergibst nur das neu zu zeichnende Rechteck (anstatt daß bei Invalidate() alles neu gezeichnet wird).
Und wenn es wirklich so viele Punkte/Linien sind, dann wäre es besser du würdest intern alles in eine eigene Bitmap zeichnen und diese dann einfach im Paint-Ereignis mittels DrawImage() zeichnen.