52 lines
1.7 KiB
VB.net
52 lines
1.7 KiB
VB.net
|
'
|
|||
|
' Created by SharpDevelop.
|
|||
|
' User: 14manvilleA
|
|||
|
' Date: 27/09/2019
|
|||
|
' Time: 10:49
|
|||
|
'
|
|||
|
' To change this template use Tools | Options | Coding | Edit Standard Headers.
|
|||
|
'
|
|||
|
Imports System.Drawing
|
|||
|
Imports captainalm.util.Render3D
|
|||
|
Imports System.Runtime.InteropServices
|
|||
|
|
|||
|
Public Partial Class MainForm
|
|||
|
Public vp As View3D = Nothing
|
|||
|
|
|||
|
Public Sub New()
|
|||
|
' The Me.InitializeComponent call is required for Windows Forms designer support.
|
|||
|
Me.InitializeComponent()
|
|||
|
End Sub
|
|||
|
|
|||
|
Sub MainFormLoad(sender As Object, e As EventArgs) Handles Me.Load
|
|||
|
' Enable double-buffering to eliminate flickering.
|
|||
|
Me.SetStyle(ControlStyles.UserPaint, True)
|
|||
|
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
|
|||
|
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
|
|||
|
vp = New View3D(Me.pbxv.ClientSize.width, Me.pbxv.ClientSize.height, Color.Black, True)
|
|||
|
End Sub
|
|||
|
|
|||
|
Sub TimerRenderTick(sender As Object, e As EventArgs) Handles timerRender.Tick
|
|||
|
Me.pbxv.Invalidate()
|
|||
|
|
|||
|
If GC.GetTotalMemory(False) > 104857600 Then GC.Collect()
|
|||
|
End Sub
|
|||
|
|
|||
|
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)>
|
|||
|
private class MEMORYSTATUSEX
|
|||
|
public dwLength As UInt32
|
|||
|
public dwMemoryLoad As uint32
|
|||
|
public ullTotalPhys As uint64
|
|||
|
public ullAvailPhys As uint64
|
|||
|
public ullTotalPageFile As uint64
|
|||
|
public ullAvailPageFile As uint64
|
|||
|
public ullTotalVirtual As uint64
|
|||
|
public ullAvailVirtual As uint64
|
|||
|
public ullAvailExtendedVirtual As uint64
|
|||
|
public sub new()
|
|||
|
me.dwLength = ctype(Marshal.SizeOf(GetType(MEMORYSTATUSEX)), uint32)
|
|||
|
end sub
|
|||
|
end class
|
|||
|
Private Declare Function GlobalMemoryStatusEx Lib "kernel32" Alias "GlobalMemoryStatusEx" (<[In](), Out()>ByVal lpBuffer As MEMORYSTATUSEX) As <MarshalAs(UnmanagedType.Bool)> Boolean
|
|||
|
End Class
|
|||
|
|