修复GameGear显示问题

This commit is contained in:
sin365 2025-03-31 11:56:49 +08:00
parent a6c9381dec
commit 8ac9f8a806

View File

@ -51,19 +51,11 @@ namespace Essgee.Emulation.Video
//GCHandle? lasyRenderHandle; //GCHandle? lasyRenderHandle;
protected override void PrepareRenderScreen() protected override void PrepareRenderScreen()
{ {
//// 固定数组,防止垃圾回收器移动它 //var eventArgs = RenderScreenEventArgs.Create(numVisiblePixels, numVisibleScanlines, outputFramebuffer_Ptr);
//var bitmapcolorRect_handle = GCHandle.Alloc(outputFramebuffer.Clone() as byte[], GCHandleType.Pinned); //这里要改成viewport的中间区域的分辨率
//// 获取数组的指针 var eventArgs = RenderScreenEventArgs.Create(Viewport.Width, Viewport.Height, outputFramebuffer_Ptr);
//IntPtr mFrameDataPtr = bitmapcolorRect_handle.AddrOfPinnedObject();
var eventArgs = RenderScreenEventArgs.Create(numVisiblePixels, numVisibleScanlines, outputFramebuffer_Ptr);
OnRenderScreen(eventArgs); OnRenderScreen(eventArgs);
eventArgs.Release(); eventArgs.Release();
//if (lasyRenderHandle != null)
// lasyRenderHandle.Value.Free();
//lasyRenderHandle = bitmapcolorRect_handle;
//OnRenderScreen(new RenderScreenEventArgs(Viewport.Width, Viewport.Height, outputFramebuffer.Clone() as byte[]));
} }
private bool ModifyAndVerifyCoordinates(ref int x, ref int y) private bool ModifyAndVerifyCoordinates(ref int x, ref int y)