제 접근 방식의 문제는 이미지, 텍스트 또는 선을 그릴 때 양식의 크기를 조정할 때 0.2 초 정도 뒤떨어집니다. 따라서 오른쪽 하단에 이미지가 필요하면 크기를 조정 한 후 0.2 초가 소요됩니다. 또한 과도한 크기 조정을 수행하는 경우, 양식이 큰 화면으로 확장되는 동안 1-2FPS까지 지연되기 시작합니다. 샘플 코드는 다음과 같습니다 (VB.NET) :lags없이 양식에 그래픽을 그립니까?
Public Class Form1
Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
Dim icon As Icon = SystemIcons.Exclamation
Dim imageWidth As Integer = icon.Width
Dim imageHeight As Integer = icon.Height
e.Graphics.DrawIcon(icon, Me.ClientRectangle.Right - imageWidth,
Me.ClientRectangle.Bottom - imageHeight)
End Sub
Private Sub Form1_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
Me.Invalidate()
End Sub
End Class
더 부드럽게하기 위해 할 수있는 일이 있습니까?
게시 한 코드에 눈에 띄는 지연이 없습니다. –
@ JohnKoerner : 이상한 부분은 동일한 Windows 7을 실행하는 5 배 느린 컴퓨터에서 시도했지만 눈에 띄는 지연도 없었습니다. 그래서 현재는 문제가되는 것이 제 i7입니다. 나는 어떤 패턴을 발견하면 더 많은 테스트를하고 질문을 업데이트 할 것입니다. – Neolisk
'Invalidate()'를'Refresh()'로 바꾸어보십시오. – ja72