C# 带有PlaneProjection动画的NTDLL.dll中的随机崩溃-WinRT/Metro

C# 带有PlaneProjection动画的NTDLL.dll中的随机崩溃-WinRT/Metro,c#,vb.net,windows-runtime,microsoft-metro,winrt-xaml,C#,Vb.net,Windows Runtime,Microsoft Metro,Winrt Xaml,我正试图为Windows8/Store/Metro/不管它今天叫什么,创建一个简单的“滚动道路”动画,但不断出现间歇性崩溃 下面是一些要复制的代码,只需创建一个新的空白Windows应用商店VB项目(在VS2012或2013中),并将MainPage.xaml.VB中的OnNavigatedTo替换为以下内容: Protected Overrides Sub OnNavigatedTo(e As Navigation.NavigationEventArgs) Dim _rnd As Ne

我正试图为Windows8/Store/Metro/不管它今天叫什么,创建一个简单的“滚动道路”动画,但不断出现间歇性崩溃

下面是一些要复制的代码,只需创建一个新的空白Windows应用商店VB项目(在VS2012或2013中),并将MainPage.xaml.VB中的OnNavigatedTo替换为以下内容:

Protected Overrides Sub OnNavigatedTo(e As Navigation.NavigationEventArgs)
    Dim _rnd As New Random()
    Dim g As Grid = Me.Content
    g.Children.Clear()

    Dim updates As New List(Of Action)

    Dim iDepth = 20
    Dim iWidth = 4
    Dim midP = (iWidth / 2) + 0.5
    ' Add images
    For x = 1 To iWidth
        For y = 0 To iDepth - 1
            Dim img As New Image With {.Stretch = Stretch.UniformToFill, .Source = New BitmapImage(New Uri("ms-appx:///Assets/StoreLogo.png")), .VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Center, .HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Center, .Width = 100, .Height = 100}
            g.Children.Add(img)

            Dim pp As New PlaneProjection()
            img.Projection = pp

            pp.LocalOffsetX = (x - midP) * 100
            pp.LocalOffsetY = -(y * 100)
            pp.RotationX = -75
            pp.GlobalOffsetZ = 900

            updates.Add(Sub()
                            pp.LocalOffsetY += 2

                            If pp.LocalOffsetY >= 100 Then
                                pp.LocalOffsetY = (iDepth - 1) * -100
                            End If
                        End Sub)

        Next
    Next

    AddHandler CompositionTarget.Rendering, Sub()
                                                For Each aFN In updates
                                                    aFN()
                                                Next
                                            End Sub
End Sub
让它运行一两分钟,它最终会崩溃。注意:根据iDepth和iWidth的值,可能会影响碰撞前的时间(有时甚至根本不会)。试试6号和6号,它们对我来说崩溃得很快。 以下是事件日志中的信息:

故障应用程序名称:XAMLBenchmark.exe,版本:1.0.0.0,时间戳:0x50f5de60

故障模块名称:ntdll.dll,版本:6.2.9200.16384,时间戳:0x5010aeb6

异常代码:0xc0000374

故障偏移量:0x000ce881

出错进程id:0xe98

故障应用程序启动时间:0x01cdf3736fe85fea

故障应用程序路径: H:\Programming\Projects\Test\XAMLBenchmark\bin\Debug\AppX\XAMLBenchmark.exe

故障模块路径:C:\Windows\SYSTEM32\ntdll.dll

报告Id:c940b610-5f66-11e2-afa1-00247e0381dc

故障包全称:5c4576c8-cee9-410d-adcc-92242ee8ba45_1.0.0.0_中性_eg50eqkjtk654

错误包相对应用程序ID:App


关于碰撞的根本原因是什么?

我面临着同样的例外01 / 2019,最新的VisualStudio 2019预览…嘿,M$!