Delta timing and tile scrolling

BlitzMax Forums/BlitzMax Programming/Delta timing and tile scrolling

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Hi GA - "It looked smooth on those games because they always scrolled by an integer amount. So for example and Amiga game scrolled at 50 pixels per second which was the screen refresh rate (for PAL systems). So 1 pixel per frame = smooth."

wait...before I comment on that, I wanted to clarify your post. Are you saying Amiga games didn't scroll more than 1 scan line per vertical blank? All games scrolled at the same speed????

"OK, I posted about the edge artifacts issue before. It's like this..." Yep, been there done that...I was just trying to point out using a mesh on a 3d card to render a 2d tile map @ floats is still going to have artifacting. The demo I posted is basically identical to how a mesh would be rendered. And as you can see, on floating point sub pixel locations, you still get artifacting.

"Your 512 tile test is also better than if you rendered them individually, try it." On my tests, both methods on screen look identical. I may need to borrow your test box for a while because from all of our posts it seems our eyes are seeing differently. ;) lol...

NOTHING will look butter smooth if you miss a vertical blank due to the render loop taking too long. Motion blur would help but sub pixel rendering is not motion blur. ;)

@ hub - The fun thing about coding games on the pc is, there IS no right/wrong way to do it. Whatever works for your game is the way to do it. I personally would never force a refresh mode on the monitor, but locking your game to a fixed frame rate is sometimes desireable. For instance in a situation where vsync is turned off and the game's frame rate is jumping all around it may be better to lock at 30 or 60. Players get a better "feel" with a stable frame rate compared to one that flucuates wildly. ;)