Quel est le meilleur pour les widgets de bureau (faible encombrement et jolis graphismes)?

StackOverflow https://stackoverflow.com/questions/79356

  •  09-06-2019
  •  | 
  •  

Question

Si je voulais créer un joli widget pour continuer à fonctionner en arrière-plan avec une petite empreinte mémoire, où pourrais-je commencer à créer l'application Windows? Son objectif est de conserver une liste à jour d'éléments hors d'un service Web. Semblable à un lecteur RSS.

Remarque: la couche de données se connectera via REST, pour lequel je possède déjà une dll C #, qui, je suppose, n’affectera pas trop l’empreinte.

Évidemment, j'aimerais utiliser un beau projet WPF, mais la taille initiale de ~ 60 000 Ko est trop grande.

* L’application de formulaires C # représente environ 20 000 Ko

* Formulaires C ++ ~ 16 000 k

* CLR ou MFC beaucoup plus petit, moins de 5

Existe-t-il un moyen de dépouiller WPF ou Forms? et si je suis coincé en utilisant CLR ou MFC, quel serait le moyen le plus simple de le rendre joli. (Mon expérience avec MFC est très complexe.)

Mise à jour: clarification Les tailles ci-dessus correspondent à la mémoire utilisée lors de l'exécution du processus et non à l'exécutable.

Était-ce utile?

La solution

re:

  

Mise à jour: Clarification Les tailles ci-dessus,   la mémoire est-elle utilisée comme   processus est exécuté, pas l'exécutable.

D'accord, lorsque vous exécutez une application C # Win Forms minuscule, la plus petite quantité de RAM qui lui est réservée est d'environ 2 Mo, voire 4 Mo. Ceci est juste un ensemble de travail qu'il crée. Il n'utilise pas activement toute cette mémoire, ou quoi que ce soit du genre. Il ne fait que réserver suffisamment d’espace pour ne pas avoir à faire des requêtes longues / lentes / coûteuses pour obtenir plus de mémoire plus tard, si nécessaire.

La réservation d’une taille inférieure au départ risque d’être une fausse optimisation.

(Vous pouvez réduire l’ensemble de travail avec un appel pinvoke si cela est vraiment important. Voir pinvoke pour 'définir la taille de travail du processus' )

Autres conseils

Si vous avez déjà une dll C # " vous avez l’intention d’utiliser, alors .net doit déjà être installé sur la machine cible.

Dans ce cas, une application de formulaires C # Win ne doit pas être proche de 20 mégohms. Le plus petit formulaire de type hello world gagnant serait de 7 kilo-octets.

S'il doit vraiment être aussi petit que possible, utilisez un C simple et parlez directement à l'API Windows.

Cependant, étant donné que vous allez avoir le CLR chargé de toute façon à cause de la DLL .NET, j'opterais pour quelque chose de moins pénible et utiliserais tout simplement C # pour l'interface utilisateur également.

Pourquoi ne pas utiliser Silverlight? Voici un article qui parle de faire cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top