简体   繁体   English

OpenTK GameWindow“落后”

[英]OpenTK GameWindow “laggy”

I tried to create a new GameWindow in VB.NET using the OpenTK library. 我试图使用OpenTK库在VB.NET中创建一个新的GameWindow。

The game window works fine, I can maximize it or change its size perfectly fine, but it takes a few seconds for the window to appear in the taskbar and it's very laggy when I right-click it in the taskbar. 游戏窗口可以正常工作,我可以将其最大化或完全更改其大小,但是该窗口要花费几秒钟才能出现在任务栏中,而在任务栏中右键单击该窗口时,它会变得非常缓慢。

I tried 我试过了

  • changing the update/render time to 1 update per second which doesn't change anything 将更新/渲染时间更改为每秒1次更新,这不会改变任何内容
  • starting the GameWindow in a seperate thread 在单独的线程中启动GameWindow
  • not to use ILMerge. 不使用ILMerge。 Doesn't change anything. 不会改变任何东西。

Source Code 源代码

Module Main ( Entry point ) 模块主( Entry point

Imports OpenTK
Imports System.Threading

Module Main

    Public Sub Main()
        Dim MainGameWindow As New MyGameWindow
        MainGameWindow.Run(30, 60) 'Tried changing this to MainGameWindow.Run(1, 1)
    End Sub

End Module

Class MyGameWindow ( GameWindow ) 类MyGameWindow( GameWindow

Imports OpenTK
Imports OpenTK.Graphics
Imports OpenTK.Graphics.OpenGL

Public Class MyGameWindow
    Inherits GameWindow

    Private GlLoaded As Boolean = False

    Public Sub New()
        MyBase.New(820, 520)
        Title = "Game Test"
        Icon = My.Resources.gameicon
    End Sub

    Private Sub MyGameWindow_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        GlLoaded = True
    End Sub

    Private Sub MyGameWindow_RenderFrame(ByVal sender As Object, ByVal e As OpenTK.FrameEventArgs) Handles Me.RenderFrame
        If Not GlLoaded Then Return

        'Nothing here yet...
    End Sub

    Private Sub MyGameWindow_UpdateFrame(ByVal sender As Object, ByVal e As OpenTK.FrameEventArgs) Handles Me.UpdateFrame
        If Not GlLoaded Then Return

        'Nothing here yet...
    End Sub

    Private Sub MyGameWindow_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        'Nothing here yet...
    End Sub
End Class

Environment 环境

  • Windows 7 Home Premium 64-bit (Service Pack 1) Windows 7 Home Premium 64位(Service Pack 1)
  • Target framework is set to .NET Framework 2.0 . 目标框架设置为.NET Framework 2.0 Changing it to 4.0 doesn't fix the issue. 将其更改为4.0不能解决问题。

This was a bug in the way OpenTK 1.0 interacted with keyboard layouts. 这是OpenTK 1.0与键盘布局交互方式的一个错误。 It has been fixed in OpenTK 1.1. 它已在OpenTK 1.1中修复。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM