Does VBO performance depends on what actually gets drawn?

Hello everyone, just like the title says. I have a particle system with one million particles which are stored in a VBO and drawn as GL_POINTS, right now Im not updating any particles position, they all just get drawn and they all have a random position between 0 to windowWidth for x and 0 to windowHeight for y, which means they are ALL inside the window and they ALL get displayed, when running it on my macbook with intel HD graphics 5000 it runs at around 11fps, by contrast if I run the particle system example from the ofxMsaOpenCL addon (by memo akten) I get anywhere between 6 to 55 fps, is this because his example sometimes the particles go beyond the window boundries and thus do not get to be drawn?? in his example he also uses a VBO to store the positions and uses OpenCL to update the particles positions although he didn’t use ofVbo, just plain openGL (in fact, this was written before osx mavericks, which means no opengl4, so he used ARB extensions), its also worth pointing out that the only time I get 6fps is the first 2-3 seconds of running the particle system I think this is because at first ALL particles are inside the window, as time passes they react to the mouse pointer and some of them dissapear off the windows edge, now, in my VBO if I set the positions to be anywhere between say -5windowWidth to 5 windowWidth (which means some particles will not get drawn)I get higher 60fps or so. I guess I kinda answer this one by myself, Im just looking for confirmation by you guys & gals !

Saludos everyone!

I forgot to mention that the particle system from ofxMsaOpenCL is also one million particles.