Julijan Nikolic

Results 44 comments of Julijan Nikolic

It seems that if GetDC is not released, WM_PAINT is called recursively.

Hm, I haven't noticed it. The previous commit had UpdateWindow(mPlugWnd); which may cause the problem since it will force redraw with this function call. Calling just InvalidateRect(mPlugWnd, &r, FALSE); shouldn't...

Skia and VSync with this change don't have flicker so far.

This seems to improve flicker as well: https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmflush Just put it at the end of: IGraphicsWin::PlatformResize(bool parentHasResized)

This is with the debug mode here. Note that the white edge is not visible in release mode here. ![Resizing](https://user-images.githubusercontent.com/13148293/80870833-3b459900-8ca9-11ea-8c24-8bc2c83eb8b3.gif)

Sure. If interface doesn't load for 300ms for example, if the background is white, it can be blindly. Anyway, this seems like one huge disadvantage of metal. I was trying...

I have the proper fix! ``` Create view as this: : NSView Set delegate: self.layer.delegate = self; Override: - (void)displayLayer:(CALayer *)layer { [self render]; } ``` Now displayLayer will be...

Ordering calls was wrong. This will work ``` mGraphics = pGraphics; NSRect r = NSMakeRect(0.f, 0.f, (float) pGraphics->WindowWidth(), (float) pGraphics->WindowHeight()); self = [super initWithFrame:r]; mMouseOutDuringDrag = false; [self registerForDraggedTypes:[NSArray arrayWithObjects:...

I am also using autoreleasepool for render since apple suggests that: https://developer.apple.com/documentation/quartzcore/cametallayer?language=objc

I am not sure about displaySyncEnabled too. This is macOS 13+ feature, but IMO if vsync is not enabled in IPlug, maybe it should be set. presentsWithTransaction will fix glitches...