Does it make sense having FPS higher than the monitor refresh rate?
Solution 1
Wikipedia: "A certain amount of discarded “headroom” frames are beneficial for the elimination of uneven (“choppy” or “jumpy”) output, and to prevent FPS from plummeting during the intense sequences when players need smooth feedback most.
Aside from frame rate, a separate but related factor unique to interactive applications such as gaming is latency. Excessive preprocessing can result in a noticeable delay between player commands and computer feedback, even when a full frame rate is maintained, often referred to as input lag.
Without realistic motion blurring, video games and computer animations do not look as fluid as film, even with a higher frame rate. When a fast moving object is present on two consecutive frames, a gap between the images on the two frames contributes to a noticeable separation of the object and its afterimage in the eye. Motion blurring mitigates this effect, since it tends to reduce the image gap when the two frames are strung together The effect of motion blurring is essentially superimposing multiple images of the fast-moving object on a single frame. Motion blurring makes the motion more fluid to the human eye, even as the image of the object becomes blurry on each individual frame.
A high frame rate still does not guarantee fluid movements, especially on hardware with more than one GPU. This effect is known as micro stuttering."
Hope that helps a little.
Solution 2
If the FPS rate of the game is higher than the monitor's refresh rate, some of the rendered frames are never shown and the time and processing power used rendering them is wasted.
Most rendering engines never go higher than the refresh rate because they synchronize with it to avoid graphical tearing when the rendered frame is changed in the middle of a screen refresh. This was called V-sync on CRT monitors and while plasma and LCD screens don't have vertical retrace periods the same principle still stands - the image must be updated between refreshes.
user2715101
Updated on September 18, 2022Comments
-
user2715101 almost 2 years
I would like to add this pan recognizer not for whole screen it should be in specific area.
- (void)panDetected:(UIPanGestureRecognizer *)panRecognizer { CGPoint translation = [panRecognizer translationInView:self.documentImageView]; CGPoint imageViewPosition = self.documentImageView.center; imageViewPosition.x += translation.x; imageViewPosition.y += translation.y; self.documentImageView.center = imageViewPosition; [panRecognizer setTranslation:CGPointZero inView:self.view]; }
Can this pan recognizer be in this self.tableView.tableHeaderView.frame at the top ?
- (void)setExtractedImageForTableView:(UIImage *)extractedImage { self.documentImageView.image = nil; self.documentImageView = nil; self.documentImageView = [[UIImageView alloc] initWithImage:extractedImage]; self.documentImageView.userInteractionEnabled = YES; UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panDetected:)]; [self.documentImageView addGestureRecognizer:panRecognizer]; self.documentImageView.contentMode = UIViewContentModeScaleAspectFit; if (!CGSizeEqualToSize(extractedImage.size, CGSizeZero)) { self.documentImageView.frame = CGRectMake(CGRectGetMinX(self.view.frame), CGRectGetMinY(self.tableView.frame), CGRectGetWidth(self.view.frame), (extractedImage.size.height/extractedImage.size.width) * CGRectGetWidth(self.view.frame)); self.tableView.tableHeaderView = self.documentImageView; [self.tableView setContentOffset:CGPointZero animated:YES]; CGRect frame = self.documentImageView.frame; frame.size.height = self.documentImageView.frame.size.height + 100; self.tableView.frame = CGRectMake(0, 0, 200, 200); self.tableView.tableHeaderView.frame = frame; } }
-
Admin almost 13 yearsWikipedia on refresh rate: "On larger CRT monitors (17" or larger), most people experience mild discomfort unless the refresh is set to 72 Hz or higher. A rate of 100 Hz is comfortable at almost any size. However, this does not apply to LCD monitors."
-
Admin almost 13 yearsMany games limit the rendering at 60fps. Since most LCD monitors max out at 60hz, it does not make much sense to go higher.
-
Admin almost 13 years@rfausak I've edited my question according to your comment.
-
Admin almost 13 yearsPeople can't process many images per second, but you can still perceive the difference between two frames at 60Hz when motion blurring is not present. See Wikipedia/frame_rate.
-
-
Lamar B almost 13 yearsalso, the minimum frame rate can be significantly lower than the average frame rate leading to a perceived lower overall frame rate.
-
user2715101 over 8 yearscant i add as subview of tableView.tableHeaderView.frame ?
-
Abhishek over 8 yearsif you have storyboard then you can drag UIView in TableView other wise you can add uiview as subview in tableview.tableHeaderView
-
user2715101 over 8 yearsokay after that how can i add gestureRecognizer of that view's subview? im harcoding btw not creating from storyboard.
-
Abhishek over 8 yearssuppose this is your subview --- panView panView.userInteractionEnabled = Yes; [panView addGestureRecognizer:panRecognizer];
-
user2715101 over 8 yearsokay when i zoom .. its still covering whole screen :/ @abhishek
-
user2715101 over 8 yearsactually am i not doing the same in my setExtractedImageForTableView method?