[EDIT]
OOOppps! I was typing at the same time as Kevin! Here's what I wrote anyway:
In windowed mode.
I think it mostly has to do with the monitor. If you have a large screen, then you basically make big blocks of pixels so 320x240 can fit in the whole screen. If you make a small window, then 320x240 fits into your current Window's resolution so the pixels aren't swollen to 3 times their size.
set window on
set display mode 320,240,32
sync on
sync rate 60
make matrix 1,1000,1000,25,25
randomize matrix 1,25
do
move camera (upkey()-downkey())*5
yrotate camera wrapvalue(camera angle y()+((rightkey()-leftkey())*2))
ht#=get ground height(1,camera position x(),camera position z())
position camera camera position x(),ht#+25,camera position z()
sync
loop
Enjoy your day.