' ' 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 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 Boolean End Class