Is there a way or a utility that allows me to determine if my screen is redrawed as fast as the monitors refresh rate

xMax

Senior member
Sep 2, 2005
448
0
0
It kind of goes like this. This is by no means technical, but just a basic idea.

Imagine the cpu and or video card updates the screen information. Once complete, the monitor comes along and takes that information and actually prints it on screen. Now imagine that in a proper transmission, when the monitor comes to take that information, the cpu video card will have already completed the process of refreshing the screen data with the next frame. This would be a correct transsmission. but now imagine if the cpu or video card is too slow, and when the monitor comes to take that info to print to screen, it will not have been updated. This would cause screen tearing or something. I also know that the opposite could happen, where the graphics card is too fast. This usually requires vsync enabled or something like that.

Anyhow, is there a way or a utility in windows that would show quantitative statistical information as to wether the screen information is fully updated before being sent to the monitor.

Thats it.
 

jonnythan

Member
Nov 23, 2005
130
0
0
Enabling V-sync will force the video card to wait for an entire frame to be rendered before updating the physical screen with it.

With V-sync on, a frame rate of over 60fps at any given moment means that every monitor refresh cycle is almost certainly a new in-game frame. Anything below and the monitor will be refreshing the screen with the same image multiple times. For instance, at 30fps, the monitor will have an average of 1 frame every 2 refresh cycles.
 

xMax

Senior member
Sep 2, 2005
448
0
0
Ok. But how do i enable V-sync. And this still doesnt tell me if the refreshing of the images are on a 1:1 ratio with the monitor refresh.

 

jonnythan

Member
Nov 23, 2005
130
0
0
V-sync is typically enabled in the game's display settings, though you should also be able to find it in your video card driver's settings tabs.

No, it doesn't tell you if images are a perfect 1:1, but there is no way on earth you would be able to tell the difference between a solid 50 fps w/v-sync enabled and an absolutely perfect 1:1 correlation between monitor refresh and frame rendering.

Hell, you can take a 7800GT, run Quake 3 at 1600x1200, and get 300 fps with v-sync enabled, and your monitor will only be able to display every 5th frame that actually gets rendered!
 

xMax

Senior member
Sep 2, 2005
448
0
0
my video card, ati 1800 xt, doesnt seem to have support for V-sync option in the control panel and the catalyst control center. But you mentioned that V-sync is sometimes found in the games display settings, which leads me to assume that possibility that V-sync only works for games. Is this true? Because im only concerned about windows media player 10, not games. So if V-sync has nothing to do with media player, then enabling V-sync is not for me.

 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: xMax
my video card, ati 1800 xt, doesnt seem to have support for V-sync option in the control panel and the catalyst control center. But you mentioned that V-sync is sometimes found in the games display settings, which leads me to assume that possibility that V-sync only works for games. Is this true? Because im only concerned about windows media player 10, not games. So if V-sync has nothing to do with media player, then enabling V-sync is not for me.

This is normally not a problem in 2D applications; I'm pretty sure that Windows flips the buffers for 2D apps during screen refreshes anyways. There are definitely controls for VSync in CCC, but this is for Direct3D/OpenGL applications. Individual games can also control how the refresh is done (unless you have forced it on/off in CCC).

When playing video files, the frames are normally outputted at a fixed framerate (usually 24FPS, or 30/60FPS for HDTV streams), and so they should also be on monitor refresh cycles (assuming you are at 60+Hz).
 

jonnythan

Member
Nov 23, 2005
130
0
0
I'm not so sure, then. I'm pretty sure that what you're looking for doesn't actually exist. My experience has always been that when the system can't keep up with the specified frame rate of the video source, it chops into discrete frames and never causes "screen tearing" as you put it, the way you would see in a game, where what is displayed on the screen is a composite of more than one frame. In essence, I think that v-sync is necessarily enabled for the type of stuff you're talking about.

It's important to note that the frame rate is specified in the video file itself. If the source file is encoded at 27 fps, and assuming the system is fast enough to handle it, you will get 2-3 monitor refreshes for each displayed frame. If the computer is slow and can only decode and display the file at 10 fps, you will get between 6 and 8 monitor refreshes for each displayed frame.

What *exactly* is your goal here?
 

xMax

Senior member
Sep 2, 2005
448
0
0
You have to excuse me for being paranoid and having unusual needs. Im not in a very normal situation, and not at full liberty to giving details on what im working on. But this doesnt mean that i cant lay down a simple goal or objective and not get help, since this is how its been since ive begun asking for help, and ive always been able to get the neccessary aid without needing to give more information than i need to.

Basically, its very simple. Imagine a theoretical simplified situation where im running a full screen RLE compressed AVI animation at a 1600x1200 resolution on DVI connected LCD display which is running at a native screen resolution of 1600x1200. Now lets keep things really simple and assume that the monitor is set to a refresh rate of 60hz, as the animation is running at 60 frame per second in window media player 10 in windows Xp home SP2. And lets assume the monitor has a response time that allows for 60fps playback.

So, if the monitor is running at 60hz, then that means the display is being refreshed or updated 60 times in every second, which in turns means that each singular refresh cycle of the 60 cycles happens at a speed of 1/60 seconds = 0.01667s. And so, what i want to know can only be easily explained in a non technical form which goes as follows:

At every 1/60s time interval, the monitor comes along to pick up the image data stored in the computer. I dont know the proper term, but lets say the image data is simply the RGB pixel values for each pixel of each frame. And so, when the monitor comes to pick up that image data from the computers memory, wether in graphics card or system ram, it basically stops the computer and takes the data as it is at that moment in time. if the computer can fully update the image data, then there would be no problems as this would be a correct transmission. If the computer is too slow and has not finished updating the image data, then the monitor will force it to halt and take whatever data it has changed, even if only half of it has been changed, as this has to happen since the monitor functions at a constant rate of 60hz.

And so, all i want to know is if that image data has been full updated when the monitor comes to pick it up. And of course, if the animation is static, then the image data doesnt need to be updated.

The point is that its not even about perception, but simply about principle. Its almost like im in a contest where i have an assignment that has to be perfect, even if the difference between the perfect finished product and a non perfect product is imperceptible.

The way i see it, there is no reason why my system should not be running a proper transmission where the image data is always full updated and ready to be picked up by the monitor, so to speak. the only reason that im concerned is because when i dont use VMR in media player, i get screen artifacts, which are like blips or tearings. But when i enable VMR, without overlay or high quality mode, then the blips or tearings go away. But how can i know that they are truly gone and not actually still present at a barely percievable level.

Thats all. So i need to know my rig should automatically guarantee a perfect image data update, or if there is a utility or way of knowing this in the assumption that i may have some kind of an incorrect setting on my system, since it certainly has the power to deliver proper image data updating.
 

jonnythan

Member
Nov 23, 2005
130
0
0
Well AFAIK there's no way to conclusively tell whether the monitor is updating with a new frame every single refresh cycle, especially not how many refresh cycles have failed to pick up an updated frame.

I am quite certain (though I may be wrong) that any blips or tearings are failings or limitations of the decoder or failure of the CPU to simply keep up. Video decoding is very difficult on a general purpose processor, which explains why even a fast Athlon can usually not keep up with a 1080p source material.

In short, I think you have to live with what you can get, and the closest you're going to get to what you want is possibly finding a program that can tell you how many frames per second Windows Media Player is displaying.
 

xMax

Senior member
Sep 2, 2005
448
0
0
I am quite certain (though I may be wrong) that any blips or tearings are failings or limitations of the decoder or failure of the CPU to simply keep up. Video decoding is very difficult on a general purpose processor, which explains why even a fast Athlon can usually not keep up with a 1080p source material.

First off, im running at about 8 frames per second, as my CPU (P4 3.73 ee) will certainly have the neccessary power. But i think you are right that the problem would have to be related to the decoding and video settings. Of course, i believe i have fixed that problem with the media player performance settings. Its only that im not certain if the settings are perfect and for this reason i was looking for a program that would tell me if the image updates are correct. However, i think im just going to have to trust the settings i have since its totally out of norm for me to look for such a program.

P.S. I dont think V-sync is a supported feature when using DVI. i say this because on this computer that im using now, my older computer, which is not digitally connected, i see these vertical and horizontal syncronization options that also include composite syncronization, which i guess is V-sync. But on my new system, with DVI connection, there is no option in the CCC.

Anyhow, ill figure it out. Thanks anyways.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: xMax
P.S. I dont think V-sync is a supported feature when using DVI. i say this because on this computer that im using now, my older computer, which is not digitally connected, i see these vertical and horizontal syncronization options that also include composite syncronization, which i guess is V-sync. But on my new system, with DVI connection, there is no option in the CCC.

Those settings are completely unrelated to vertical refresh sync -- they have to do with how the video card and monitor sync an analog signal with each other, not how applications sync with the video card. Over DVI, there is no need for such settings, since it is a digital signal.

Believe me, the vsync options are there. I'm using it right now over DVI.
 

xMax

Senior member
Sep 2, 2005
448
0
0
Your right, there are there. I just had to scroll down. But i have tried turning on V-sync and once again nothing changed, i still get tearing in the windows GUI or simply the desktop. I guess that V-sync is entirely related to 3D gaming. After all, it is in the 3D settings.

I guess im just giving up on this whole idea. Im thinking maybe V-sync has to be enabled with something else, but everything is always 3D. Kind of like triple buffer, which is supposed to help, but only for 3D.

I give up.