winforms
winforms copied to clipboard
Simplify GraphicsInternal optimization.
This code was introduced to improve rendering performance to avoid figuring out what modifications were applied to the GDI+ GpGraphics. Now that we control System.Drawing we can add an internal optimization that tracks whether or not relevant state has been changed on the object.
This will allow greatly simplifying the code (we can remove all of the existing GraphicsInternal stuff) and improving performance across the board. We can access whatever flag we track on Graphics through IGraphicsContextInfo or IGraphics.
https://github.com/dotnet/winforms/blob/a64fee10485a618849e0bf5418ae2f76cc15ed66/src/System.Windows.Forms/System/Windows/Forms/Rendering/PaintEventArgs.cs#L127