|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Quentin VenturaInscription : juin 2011 Messages : 30 ![]() |
(Petites précisions, c'est du C# couplé avec SlimDX)
Bonjour à tous, Je développe actuellement une interface graphique qui doit afficher plusieurs données différentes à l'écran (un screenshot suit pour mieux comprendre) J'aurai plusieurs types de vu à afficher, certaines ou j'affiche des plans avec déplacement de cibles et trajectoires, d'autre ou j'affiche des graphiques a 3 dimensions. Les "plans" seront totalement en 2 dimensions. (sur le screen, seuls les plans sont affichés) http://imageshack.us/photo/my-images...enshot1an.png/ Donc voila la manière dont j'ai développé le bazar: J'ai une classe static GPIUDevice qui instancie un device sans swapchain, et qui a en attribut une liste de panels Ensuite, j'ai (pour le moment) deux types de panel, les plans, et les miniatures, qui sont tous deux des panels dans lesquels je dessine avec directX. Donc par exemple sur le screen, j'ai 2 grands plans, et 16 miniatures (8 sont cachés) ce qui fait 18 panels utilisants directX pour l'affichage. Pour chacun de ses panels, je créé donc une swapChain, un renderTarget, etc. pour chacun des panels. En gros j'me retrouve avec 18 swapChain donc. Quand je lance mon appli, j'utilise comme 260 000k de mémoire, ce qui me semble assez énorme, donc j'en déduis que la manière dont je fais ça est vraiment pas optimisée ! Ma classe qui instancie le device Code :
Code :
Code :
J'aurai bien envie de passer uniquement : renderTarget, technique (EffectTechnique), pass (EffectPass) et swapChain en attribut de classe et le reste en local, mais est ce la bonne solution ? |
||||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : février 2006 Messages : 1 391 ![]() |
bonjour,
est ce que tous tes affichages ont besoin de dx? les miniatures, tel que je le vois, sont juste des bitmaps plus ou moins statiques, donc quand il y a une mise à jour, récupération du front buffer, conversion en bitmap et affichage dans une miniature. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Quentin VenturaInscription : juin 2011 Messages : 30 ![]() |
En fait pour le moment tout est statique. Mais sur chacun de ces panel je vais placer des "Cibles" et les faire se déplacer. Sur les miniatures ont verra juste le déplacement par internat de x secondes, sur les plan en eux même, les déplacement temps réel avec l'affichage des trajectoires.
Donc même pour les miniatures, il ne s'agit pas juste d'image statiques. Par contre je sais pas ... Je peux peut être mettre l'image en background du panel et dessiner par dessus les cibles avec un backbuffer transparant ? Mais dans ce cas je perds l'accélération matérielle pour l'affichage des plans. (Qui sont ici d'une qualité pourrie, mais qui pourrait être en haute définition et donc avoir un certain poids) En tout cas merci de t'intéresser au sujet ! |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Inscription : février 2006 Messages : 1 391 ![]() |
en fait je ne comprends pas tes besoins.
si tu ne fais que de la 2d, direct3d ne sert à rien, même pour l'accélération matérielle, si tu ne fais pas d'action utilisant le gpu, c'est plus du gâchi qu'autre chose. dans ce cas autant faire du direct2d, en plus c'est fait exprès, garde plutôt direct3d pour la 3d. |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Quentin VenturaInscription : juin 2011 Messages : 30 ![]() |
Réponse tardive, je m'étais attaqué à un autre gros morceaux
Direct2D n'est pas uniquement inclut dans DirectX11 et donc uniquement pour Vista / Seven ? |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : février 2006 Messages : 1 391 ![]() |
il utilise déjà de base directx 10, donc déjà contraint à vista minimum.
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Quentin VenturaInscription : juin 2011 Messages : 30 ![]() |
WTF ... J'aurai du me renseigner avant, j'étais persuadé que directX 10 était compatible XP !
En plus à vu de nez la manière de programmer diffère pas mal entre les deux ... Bon bah je vais rester sur DX10 pour mon prototype ... Mais du coup je vais devoir faire une version qui tournera sur XP dans un future plus ou moins proche. C'est peut être plus simple dans ce cas de continuer a ne pas utiliser Direct2D, comme ça le travail sera en grande partie réutilisable ... Et je pense qu'il sera plus simple ensuite de développer des classes utilisant Direct2D pour avoir un prototype multiversion ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com