Path: chuka.playstation.co.uk!news From: James Chow Newsgroups: scee.yaroze.beginners Subject: Re: Questions about VSync. Date: Mon, 04 May 1998 10:30:15 +0100 Organization: PlayStation Net Yaroze (SCEE) Lines: 54 Message-ID: <354D8AA7.17CA37C6@chowfam.demon.co.uk> References: <354C8851.709D2E83@chowfam.demon.co.uk> <6ij6jd$jpr18@chuka.playstation.co.uk> NNTP-Posting-Host: chowfam.demon.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=x-user-defined Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.04 [en] (Win95; I) Still confused. JohnT wrote: > > demo/game. They are in fact hardware timings for the TV display. The Yaroze > can sync itself to these timings. An hsync is the horizontal time for a beam > to travel across the TV screen and the vsync is the overall time for the to > reset to the top left corner after reaching the bottom right. It is usual I thought a vsync was the time taken to get from bottom right to the bottom right again. (a)-------------->(b) (c)-------------->(d) .... (e)-------------->(f) The tv traces the beam from (a) to (b), then jumps to (c) and traces to (d), and repeats this until (f). At this point the beam goes back to (a) to repeat this process. Is the time for a hsync, (1) the time it takes for the beam to trace a horizontal, ie (c) to (d), (2) or the time since the last hysnc, ie (b) to (d)? And the time for a vsync, (3) (f) to (a), (4) (f) back to (f), The way you have explained it seems to give (1) and (3). Is this correct? I thought a vsync was (4). > for any gaming system that displays to a TV set to use the vsync time to > refresh the display to create a flicker free image. The PAL system has more > vertical definition at a cost of speed. 312 lines is probably right and the > 311 figure is probably due to computers counting from 0 (I.E. 0 - 311 = 312 > lines) NTSC has less lines so it can work faster to reduce flicker even > further. (Typical of the Americans, if it can't be bigger it has to be > faster!) > while (1) { //do work cnt = VSync(0); //more work } So if VSync() is a blocking function, returning at a vsync, (f) in diag, why doesn't cnt = 312? One final thing. How do you calculate the time taken between to arbitrary points in time, then, calling VSync(0) between them?