Archive

Posts Tagged ‘Speed’

Fix: Windows 10 laptops with AMD graphics adapter going really slow

Quoting my comment from a discussion thread on the AMD Community website

Actually the drivers back from 2015 that Microsoft serves for AMD laptop graphics adapters seem to make Windows 10 crawl (at everything, not just in graphics stuff). Installing the newest ones from AMD (in this case the beta driver) makes laptops work decently again.

This doesn’t occur only with the legacy adapters like HD 7310, but also with a bit newer supported adapters like AMD Radeon HD 8600M (have one combined with Intel HD on a Dell Inspiron laptop)

Also note that at every Windows 10 feature upgrade, it seems to replace the newer driver with that older one and then you have to replace it with the newer one again (assuming you had the newer installed before, can do it by right clicking Start menu, selecting to see Device Manager, opening display adapters, right clicking the AMD adapter and selecting Update Driver, then selecting to use one on the computer and then select to pick from list and choose the one with the newest release date or the one with bigger version [those two don’t always seem to be "matching"])

This thing makes both Microsoft and AMD look very bad and wonder when they’ll realize it

So if you have a graphics adapter like AMD Radeon HD 7310 grab the Radeon Software Crimson Edition Beta that contains a beta driver from 2016 (don’t get the WHQL one that comes with the older Catalyst Software Suite or the old one coming from Windows Update) from the AMD legacy drivers page:

https://support.amd.com/en-us/download/desktop/legacy?product=legacy3&os=Windows%2010%20-%2064

And if you have a newer graphics adapter like AMD Radeon HD 8600M that is still supported, get the latest AMD driver using https://support.amd.com/en-us/download/auto-detect-tool

Do not use the old back from 2015 driver that Windows Update installs and make sure you replace it with the newer driver again every time manually after you do a Windows 10 feature upgrade (the periodic major update that Microsoft releases). That is till Microsoft decides to fix this issue and install a performing graphics driver (e.g. have AMD get that legacy driver out of beta) and moreover to not replace your graphics driver with an old problematic one that makes your system crawl to its knees.

Advertisements

Gotcha: MediaElement AutoPlay faster than doing Play at MediaOpened

Just added the following comment to: https://github.com/loarabia/ManagedMediaHelpers/issues/15

Managed Media Helpers contains the very useful Mp3MediaSource class for .NET / Silverlight / Windows Phone.

Added compile-time SWITCHES and respective code to Silverlight demo code for PRELOAD (into memory stream) and AUTOPLAY (this was a bit tricky, need to call Play at MediaOpened event, not right after setting the source to the MediaElement).

Also seems to be 2-3 sec slower than AutoPlay (!) irrespective of using PRELOAD. Maybe it is faster to set the source again every time you want to play and just keep AutoPlay=true

Update: had a bug at the following code, obviously you first must set the MediaOpened event handler, then set the Source to the MediaPlayer. Also, one could set that handler once at the InitializeComponent method.

 

//———————————————————————–
// <copyright file="Page.xaml.cs" company="Larry Olson">
// (c) Copyright Larry Olson.
// This source is subject to the Microsoft Public License (Ms-PL)
// See http://code.msdn.microsoft.com/ManagedMediaHelpers/Project/License.aspx
// All other rights reserved.
// </copyright>
//
// Edited by George Birbilis (http://zoomicon.com)
//———————————————————————–

#define AUTOPLAY
//#define PRELOAD

namespace Mp3MediaStreamSourceDemo
{
  using Media;
  using System;
  using System.IO;
  using System.Windows;
  using System.Windows.Controls;

    /// <summary>
    /// A Page of a Silvelight Application.
    /// </summary>
    public partial class Page : UserControl
    {
        /// <summary>
        /// Initializes a new instance of the Page class.
        /// </summary>
        public Page()
        {
            InitializeComponent();

            me.Volume = 1.0; //set max volume
           
            #if !AUTOPLAY
            me.AutoPlay = false;

             me.MediaOpened += (s, e) =>
            {
                //me.Position = TimeSpan.Zero;
                me.Stop(); //this stops current playback (if any) and rewinds back to start
                //me.PlaybackRate = 1.0;
                try
                {
                    me.Play();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            };  
            #endif
        }

        /// <summary>
        /// Event handler for the Button on the Page.
        /// </summary>
        /// <param name="sender">
        /// The button which was clicked.
        /// </param>
        /// <param name="e">
        /// The state when this event was generated.
        /// </param>
        private void OpenMedia(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.ShowDialog();

            Stream data = ofd.File.OpenRead();

            #if PRELOAD
            Stream m = new MemoryStream((int)ofd.File.Length);
            data.CopyTo(m);
            m.Position = 0;
            data = m;
            #endif

 

             Mp3MediaStreamSource mediaSource = new Mp3MediaStreamSource(data);     
            me.SetSource(mediaSource);
        }
    }
}

%d bloggers like this: