2010-12-07 27 views
2

Je travaille avec un contrôle de graphique ASP.NET dans un UpdatePanel AJAX qui est mis à jour environ 4 fois par seconde avec un nouveau point ajouté à chaque fois qu'il est mis à jour. Cela entraîne le graphique à rendre 4 images différentes chaque seconde. J'ai testé cette fonctionnalité dans quelques navigateurs et j'ai essayé de modifier les paramètres du graphique pour rendre les images aussi rapides et fluides que possible, mais il semble que Firefox ne puisse pas charger le graphique aussi rapidement.Problème de rendu de graphique ASP.NET dans Firefox

En ce moment, j'ai cela fonctionne bien dans IE, décent dans Chrome, et pas si bien dans Firefox. IE met à jour le graphique et rend une nouvelle image jusqu'à 4 fois par seconde sans faille. Dans Chrome, l'image du graphique est rendue, mais elle est plutôt flashy. Lorsqu'il est testé dans Firefox, une image vide est affichée où le graphique doit être et n'est pas réellement chargé jusqu'à APRÈS la mise à jour AJAX UpdatePanel STOPS.

Existe-t-il un moyen d'optimiser le contrôle graphique ASP.NET pour Firefox? J'ai essayé de peaufiner les propriétés AntiAliasing, ImageStorageMode, et ImageType sans amélioration visible.

Toute aide est appréciée,

Merci.

EDIT: Voici mon panneau de mise à jour avec le graphique.

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
       <asp:Chart ID="chtPingData" runat="server" EnableViewState="true" 
        ImageStorageMode="UseHttpHandler" ImageType="Jpeg"> 
        <Series> 
         <asp:Series Name="Pings" ChartType="Line" ChartArea="MainChartArea"> 
         </asp:Series> 
        </Series> 
        <ChartAreas> 
         <asp:ChartArea Name="MainChartArea"> 
         </asp:ChartArea> 
        </ChartAreas> 
       </asp:Chart> 
       <asp:Timer ID="tmrAjax" Interval="250" runat="server" Enabled="False" 
        ontick="tmrAjax_Tick"> 
       </asp:Timer> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
+0

Cela semble être un problème avec le balisage généré et non le navigateur. Si cela fonctionne dans IE mais pas un navigateur moderne, c'est généralement le balisage. Mais, sans le balisage ou un lien, tout est une conjecture sauvage. – Rob

+0

J'ai posté le code ASP.NET que j'utilise. Lorsque la minuterie cochée un nouveau point est ajouté au graphique dans le code derrière. – j00b

Répondre

0

Firefox ne peut pas charger/générer des images aussi rapidement. La solution que j'ai trouvée consistait à utiliser une librairie Javascript qui génèrerait un graphique à partir d'une table utilisant HTML5 et qui ne rendrait pas les images.

0

Ne serait-il pas préférable de considérer Silverlight/Flash ou de rendre le graphique via JavaScript et d'envoyer uniquement les données brutes?

J'ai eu des problèmes avec la mise à jour d'une image, même à raison d'une image par seconde ..