0
我最近從Carbon 32bit轉換到Cocoa 64bit。閃爍的核心圖形和可可
當用ctrl-MouseWheel進行放大和縮小時,我的窗口中出現白色閃爍。另外,圖形性能很低。
在碳,我得到我的圖形上下文與
CGrafPtr port = GetWindowPort(window);
QDBeginCGContext(port, &contextRef);
可可,我在drawRect
方法使用
CGContextRef myContext = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
。經由setNeedsDisplay:YES
重複圖
runLoopTimerRef = CFRunLoopTimerCreate(...);
CFRunLoopAddTimer(CFRunLoopGetCurrent(), runLoopTimerRef, kCFRunLoopCommonModes);
:
另外我設置一個計時器以每秒25幀。我需要每次重繪整個內容。
幾乎所有繪圖都是使用CoreGraphics(CGContext ...調用等)進行的。
與碳相比,可可的東西真的很慢(對鼠標點擊的反應被延遲)。
當我在drawRect
方法設置
[self setOpaque:YES];
,閃爍顏色變成黑色而不是白色。
沒有圖層或後緩衝區。
任何想法可能是錯誤的?我的drawRect
方法中缺少一些設置/狀態調用?