Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Google Chrome Silverlight的性能非常慢_Performance_Silverlight_Internet Explorer_Google Chrome_Browser - Fatal编程技术网

Performance Google Chrome Silverlight的性能非常慢

Performance Google Chrome Silverlight的性能非常慢,performance,silverlight,internet-explorer,google-chrome,browser,Performance,Silverlight,Internet Explorer,Google Chrome,Browser,Chrome Silverlight渲染速度非常慢:比firefox和internet explorer慢10倍。 您可以使用以下示例代码简单地测试这一点。示例代码演示了在数据网格中呈现15000个随机数据 你对为什么会发生这种情况有什么看法吗? 我想到了两个猜测 谷歌不希望微软的Silverlight在他们的平台上得到广泛使用。 Chrome的基础设施导致插件渲染速度缓慢。 XAML部分: <UserControl x:Class="sample.view.MemberView"

Chrome Silverlight渲染速度非常慢:比firefox和internet explorer慢10倍。 您可以使用以下示例代码简单地测试这一点。示例代码演示了在数据网格中呈现15000个随机数据

你对为什么会发生这种情况有什么看法吗? 我想到了两个猜测

谷歌不希望微软的Silverlight在他们的平台上得到广泛使用。 Chrome的基础设施导致插件渲染速度缓慢。 XAML部分:

<UserControl x:Class="sample.view.MemberView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"    
    xmlns:viewmodel="clr-namespace:sample.ViewModel"
    mc:Ignorable="d"
    >
    <UserControl.Resources>
        <viewmodel:MemberViewModel x:Key="viewModel"/>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" VerticalAlignment="Stretch" DataContext="{Binding Source={StaticResource viewModel}}">
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition Height="35"></RowDefinition>
        </Grid.RowDefinitions>
        <data:DataGrid BorderThickness="1" ItemsSource="{Binding Members}" VirtualizingStackPanel.VirtualizationMode="Recycling">
            <data:DataGrid.Columns>
                <data:DataGridTextColumn Header="Name" Width="3*" Binding="{Binding FirstName}"/>
                <data:DataGridTextColumn Header="Surname" Width="3*" Binding="{Binding LastName}"/>
                <data:DataGridTextColumn Header="GSM" Width="3*" Binding="{Binding MobilePhone}"/>
                <data:DataGridTextColumn Header="Email" Width="3*" Binding="{Binding Email}"/>
                <data:DataGridTextColumn Header="BirthDate" Width="2*" Binding="{Binding BirthDate}}"/>
            </data:DataGrid.Columns>
        </data:DataGrid>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="1">
            <Button Content="Get Random Data" Width="120" Height="25" Margin="5" Command="{Binding GetRandomDataCommand}"/>
        </StackPanel>
    </Grid>
</UserControl>
C部分:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Net;
using System.Text;
using System.Windows;
using System.Windows.Browser;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace sample.ViewModel
{
    public class MemberModel
    {
        public string FirstName { get; set; }

        public string LastName { get; set; }

        public string MobilePhone { get; set; }

        public string Email { get; set; }

        public DateTime BirthDate { get; set; }
    }

    public class MemberViewModel
    {
        private List<MemberModel> _members;
        public List<MemberModel> Members
        {
            get
            {
                return _members;
            }
            set
            {
                _members = value;
                RaisePropertyChanged(new PropertyChangedEventArgs("Members"));
            }
        }
        public MyCommand GetRandomDataCommand { get; set; }

        public MemberViewModel()
        {
            GetRandomDataCommand = new MyCommand();
        }
    }

    public class MyCommand : ICommand
    {
        public bool CanExecute(object parameter)
        {
            return true;
        }

        public event EventHandler CanExecuteChanged;

        private static Random random = new Random();
        public void Execute(object parameter)
        {
            List<MemberModel> members = new List<MemberModel>();
            for (int i = 0; i < 15000; ++i)
            {
                MemberModel m = new MemberModel();
                m.FirstName = GetRandomString(random.Next(5) + 4);
                m.LastName = GetRandomString(random.Next(5) + 4);
                m.Email = GetRandomString(random.Next(10) + 4);
                m.MobilePhone = GetRandomString(random.Next(12));
                m.BirthDate = DateTime.Now.AddYears(-random.Next(50) - 18).AddMonths(random.Next(12)).AddDays(random.Next(30));
                members.Add(m);
            }
        }

        private string GetRandomString(int length)
        {
            StringBuilder srb = new StringBuilder();
            for (int i = 0; i < length; ++i)
            {
                srb.Append((char)(65 + random.Next(29));
            }
            return srb.ToString();
        }
    }

}
默哈巴

几天前,我遇到了一个msdn页面。它说Silverlight支持x64,只支持IE、Safari和Chrome浏览器,支持x86。因此,你是对的。 除此之外,AFAIK firefox没有x64设置

但对于Silverlight 5,情况可能会改变

我提供IE,微软也提供:

谷歌不希望微软的Silverlight在他们的平台上得到广泛使用。 答:根据我的经验,这在谷歌方面不是问题。在我向微软技术支持部门发送电子邮件之前的几周里,我遇到了和你描述的相同的问题,他们建议我使用IE。他们没有回答我为什么它在Chrome上运行得这么慢

Chrome的基础设施导致插件渲染速度缓慢。 答:再说一次,这根本不是事实。这个问题来自微软。它似乎不再关心Silverlight了。出于这个原因,我们计划将我们的产品迁移到ASP.NET MVC


你很肯定这个问题来自微软!当Ie和Firefox以同样的速度运行时,他们犯了什么错误或者改用了Chrome?他们嫉妒它的速度吗?我不这么认为。Silverlight使用的是Windows8的炉子,叫做XAML。谁说微软将不再支持Silverlight。这只是一种猜测,微软一点也不在乎。最后,如果你打算从一个东西转移到另一个东西,人们可能会认为它们是同一种东西。Silverlight和ASP.NET MVC的用途并不相同。你可以参考HTML/CSS+Javascript。Silverlight在IE和Firefox上的运行速度和性能是一样的吗?我不这么认为。我用一个页面测试了数百个文本框,页面在IE上的加载速度总是更快。使用Silverlight 5和超过75000行的示例代码,我测试了datagrid,结果是:Firefox没有我可以观察到的性能差异。