首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机消耗CPU [UWP] [UI.Composition]

随机消耗CPU [UWP] [UI.Composition]
EN

Stack Overflow用户
提问于 2016-11-26 00:01:19
回答 1查看 74关注 0票数 0

更改视频的简单应用程序。

在诊断工具中运行时,CPU上升并保持约50% (任务管理器5%),直到停止,另一次运行保持在5% (任务管理器小于1%)。

代码一直都是一样的。视频的格式是相同的。

在性能分析器中,我看到正在调用WaitForSingleObjectEx和ReleaseSemaphore的nvwgf2umx.dll (nvidia) 100%正在使用中。

为什么每次随机运行都会得到两种不同的CPU消耗?

代码语言:javascript
复制
    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        _playlist = new MediaPlaybackList();
        foreach (var uri in _uris)
        {
            _playlist.Items.Add(new MediaPlaybackItem(MediaSource.CreateFromUri(uri)));
        }

        _mediaPlayer = new MediaPlayer
        {
            IsLoopingEnabled = true,
            AutoPlay = false,
            IsMuted = true,
            Source = _playlist,
        };
        _mediaPlayer.SetSurfaceSize(new Size(512, 512));

        _visual = ElementCompositionPreview.GetElementVisual(this);
        _compositor = _visual.Compositor;

        _surfaceVideoBrush = _compositor.CreateSurfaceBrush(_mediaPlayer.GetSurface(_compositor).CompositionSurface);
        _surfaceVideoBrush.Stretch = CompositionStretch.UniformToFill;

        _spriteVisualVideo = _compositor.CreateSpriteVisual();
        _spriteVisualVideo.Size = new Vector2(512, 512);
        _spriteVisualVideo.Brush = _surfaceVideoBrush;

        ElementCompositionPreview.SetElementChildVisual(Grid, _spriteVisualVideo);

        _timer.Tick += _timer_Tick;
        _timer.Start();
    }

    private void _timer_Tick(object sender, object e)
    {
        _timer.Interval = TimeSpan.FromMilliseconds(Random.Next(200, 2000));
        NextVideo();
    }

    private void NextVideo()
    {
        _mediaPlayer.Pause();
        _playlist.MoveTo((uint)Random.Next(0, 15));
        _mediaPlayer.Play();
    }

XAML只有1个Grid

PC - i7 4770,nVidia GTX9700

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 01:04:44

看起来像是Visual Studio 2015中的一个bug。如果我打开这个项目并运行代码- CPU就会启动。如果我在运行代码时切换到Visual Studio中的设计器视图并等待它被加载- CPU会回落,一切都正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40808746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档