Screen resolution
The refresh rate is divided into vertical refresh rate and horizontal refresh rate, generally referred to as the refresh rate usually refers to the vertical refresh rate.
The vertical refresh rate indicates how many times the screen image is redrawn per second, that is, the number of screen refreshes per second, in Hz (Hertz).
The higher the refresh rate the better, the more stable the image, the more natural the picture display, the less impact on the eyes. The lower the refresh frequency, the more the image flashes and shakes, the faster the eyes become fatigued.
In general, if you can achieve more than 80Hz refresh rate can completely eliminate the image flicker and jitter, the eyes will not be too easy to fatigue.
Obviously the higher the refresh rate is better, but it is recommended that you do not let the monitor always work at the highest refresh rate, which will accelerate the aging of CRT tube, generally lower than the maximum refresh rate of one to two files is more appropriate, recommended 85Hz.
While the light-emitting principle of liquid crystal display (lcd/led) is not the same as the traditional CRT, because every point of liquid crystal display has been kept that color and brightness after receiving the signal, and not like cathode ray tube display (CRT) need to constantly refresh the bright spot.
As a result, the LCD monitor has high quality and will never blink, minimizing eye strain.
And the refresh rate on the meaning of the CRT is more prominent, sometimes, lcd/led refresh high, but will affect its life-like to keep at 60-75.
Reference: http://ask.zol.com.cn/q/6612.html
Take my notebook for example, with 2 monitors, such as:
Refresh rate for external Dell GL2250 monitor under Mac:
The Mac notebook's own display refresh rate is not set.
View hardware details to see:
The resolution of the external Dell e2715h is 60Hz,
Query the hardware description, which is related to the monitor as follows:
Https://support.apple.com/kb/SP649?locale=zh_CN&viewlocale=zh_CN
- 13.3-inch (diagonal) LED-backlit, widescreen display with millions of color support.
- Support resolution: 16:10 The aspect ratio can display 800 (initial), 1152 x 720, 1024x768 x 640 and x 500 pixels, and 4:3 aspect ratio can be shown as 1024x768 x 768, x 600 and 640 x 480 pixels; 4:3 The tensile aspect ratio can be displayed as 768 x, 600 x, and 640 x 480 pixels; 3:2 aspect ratio can be displayed 720 x 480 pixels; 3:2 tensile aspect ratio can be displayed 720 x 480 pixels
The blinking frequency of the LCD is not adjustable.
LCD display refresh frequency, the use of the operating system default 60HZ, do not change (regardless of the system default how much do not change). LCD is not a CRT display, its interior is not a cathode ray tube, not by the electronic gun to bombard the phosphor on the picture tube to produce images.
LCD display is by the back of the lamp to illuminate the front of the LCD panel and passive light, only bright and not bright, bright and dark difference. Therefore, the LCD monitor does not have the electronic gun progressive and interlaced scanning screen principle (LCD display work, every pixel light, there is no flicker phenomenon), there is no concept of refresh frequency, change the same, the refresh frequency for all LCD is not working.
FPS Related Information
Frames per second (fps, frame rate), as a measure of rendering efficiency, reflects the number of "render cycles" that the entire program can hold per second in the current rendering state, as well as the average time taken per "render cycle" (frame). On the face of it, a lot of people think that as long as you set a counter within a function that runs once per frame, you can calculate the number of minutes in a second, and it's also easy to find the average FPS.
Http://www.zwqxin.com/archives/opengl/swapbuffers-fps-vsync.html
Why is my program's FPS basically not greater than 75?
Well, the previous demo, if there is a calculation of FPS, it is this: the scene is complicated when it can be reduced to 1 or directly 0 off, but for the simple scene it will always only 72 fps, then simple, but also about 72, again simple, or about 72 ... It can be said to be "capped".
So I check the entire rendering process once, the message processing and the loop part into a general WIN32 form, seemingly irrelevant ... Then check the pixel format, directly set the best pixel format to 10, (some programs the designer will patrol all pixel format to find the best match, so I also easy to know that my most "friendly" pixel format is number 10th ...). Doesn't seem to have anything. In addition, check the FPS calculation of the formula, no abnormalities found. I also put the rendering function renderglscene inside of the things a note ... Only to find that when I annotated the swapbuffers, the screen shows dead, but fps up to more than 3000 ... Compared with 72 fps I still believe in this-so, is it a double-buffering relationship? In the pixel settings to change the pixel descriptor Pfd_doublebuffer is pfd_swap_copy, Pfd_swap_exchange and the like, the next FPS is very high, but the screen flashing ~-. Google Bar, step carefully found a thing: VSync.
When learning Irrlicht engine, there is a parameter option when setting up device: VSync,vertical syncronisation, API explanation is not clear, you know with the screen about ... Screen? Screen refresh rate? I suddenly think of my image processing WIN32 program when a predicament: release out of the program in front of others to demonstrate, found that the picture/video does not come out, and then understand that the screen refresh rate is the problem-the screen refresh rate is too high will be the WIN32 cycle of the screen window to do things "wiped out." So, what about here? OK, I went to read the article:vertical syncronisation.
Vertical synchronization. Originally, the program every frame function all finished, but also wait for the screen to refresh before you go to the next frame Ah! Check the screen refresh rate--no wonder it is about 72 ah, because I set the screen refresh rate is 72! Well, there's got to be a function like sleep that has the wait function as an accomplice--oh, dear swapbuffers, it's You ~
It has been said that Swapbuffers is less efficient than Glut's glutswapbuffers (see here), but this is not the problem. Whether it is swapbuffers or glutswapbuffers or wglswapbuffers, they are at the end of the render body and have such a "function": When the video card's vertical sync function Vsyn is set to True, Every frame after rendering to swapbuffers, you have to wait for the next screen refresh time to come, then swap before and after Buffering and start to execute the next frame ... The previous article used the Wgl_ext_swap_control extension to set the "Waiting Interval" using Wglswapintervalext. Interval refers to a screen refresh cycle, for example, the screen refresh rate is 72Hz, then a period is (1/72) s, wglswapintervalext (1) indicates that the Swapbuffers class function to wait until the next screen refresh after the return-- Then proceed to the next frame of execution. Wglswapintervalext (2) Just wait for the next screen to refresh. So, Wglswapintervalext (0), ha, just don't wait--close the vertical sync VSync.
It has been said that Swapbuffers is less efficient than Glut's glutswapbuffers (see here), but this is not the problem. Whether it is swapbuffers or glutswapbuffers or wglswapbuffers, they are at the end of the render body and have such a "function": When the video card's vertical sync function Vsyn is set to True, Every frame after rendering to swapbuffers, you have to wait for the next screen refresh time to come, then swap before and after Buffering and start to execute the next frame ... The previous article used the Wgl_ext_swap_control extension to set the "Waiting Interval" using Wglswapintervalext. Interval refers to a screen refresh cycle, for example, the screen refresh rate is 72Hz, then a period is (1/72) s, wglswapintervalext (1) indicates that the Swapbuffers class function to wait until the next screen refresh after the return-- Then proceed to the next frame of execution. Wglswapintervalext (2) Just wait for the next screen to refresh. So, Wglswapintervalext (0), ha, just don't wait--close the vertical sync VSync.
From: http://www.zwqxin.com/archives/opengl/swapbuffers-fps-vsync.html
Screen resolution and FPS