CADisplayLink provides better vsync alignment and consistent 60fps updates. The timer-based 400Hz polling path added unnecessary complexity and CPU overhead without meaningful benefits. - Remove useCADisplayLink parameter and displaysync preference - Simplify FrameUpdater to always use CADisplayLink - Remove preference UI toggle for display sync option - Add CLAUDE.md project documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
21 lines
842 B
Objective-C
21 lines
842 B
Objective-C
#import <Foundation/Foundation.h>
|
|
#import <UIKit/UIKit.h>
|
|
#import <rfb/rfb.h>
|
|
#import "IOMobileFramebuffer.h"
|
|
#import "ScreenDumpVNC.h"
|
|
|
|
@interface FrameUpdater : NSObject
|
|
-(instancetype)initWithSurfaceInfo:(IOSurfaceRef)screenSurface
|
|
rfbScreenInfo:(rfbScreenInfoPtr)rfbScreenInfo
|
|
accelerator:(IOSurfaceAcceleratorRef)accelerator
|
|
staticBuffer:(IOSurfaceRef)staticBuffer
|
|
width:(size_t)width
|
|
height:(size_t)height
|
|
nativeWidth:(size_t)nativeWidth
|
|
nativeHeight:(size_t)nativeHeight
|
|
renderServerSurface:(IOSurfaceRef)renderServerSurface
|
|
captureModeBlock:(CaptureMode(^)(void))captureModeBlock;
|
|
- (void)startFrameLoop;
|
|
- (void)stopFrameLoop;
|
|
@end
|