Question

Je ne sais pas si cela est le bon forum. Quoi qu'il en soit ici est la question. Dans l'une de notre application, nous affichons des images médicales et au-dessus d'eux une image bitmap généré par l'algorithme. Le véritable bitmap est un bitmap d'échelle de gris de 16 bits. De cela, nous générons un bitmap couleur basé sur une table pour exemple

(0-100)->green 
(100-200)->blue
(200>above)->red

L'écran fonctionne bien et bon avec les petites images 256x256. Mais quand la zone d'affichage devient grand mot 1024x1024 l'échelle de gris à la conversion bitmap couleur prend un certain temps et les interactions ne sont pas plus lisse. Dans les derniers temps, je l'ai beaucoup entendu parler des fins générales de programmation GPU. Dans notre déploiement, nous avons haut de gamme (Nvidia QuadroFX) carte graphique.

Notre application est construit en utilisant .Net / C # si requiured je peux ajouter peu de C ++ / CLI aussi. Maintenant, ma question est peut cette conversion bitmap être débarquée au processeur graphique? Où dois-je chercher aller plus loin?

Était-ce utile?

La solution

Oui - et puisque vous (apparemment) l'affichage du bitmap, vous n'avez pas besoin d'aller la route GPGPU (par exemple, OpenCL ou CUDA). Vous pouvez utiliser un shader programmable pour elle -. Et si je comprends ce que vous dites, ça va être un assez simple à cette

En ce qui concerne la façon d'écrire le shader, cela dépendra (la plupart du temps) sur la façon dont vous faites le reste de votre dessin. Juste un exemple clair, si vous utilisez déjà WPF pour votre dessin, vous voudrez probablement utiliser un shaders HLSL (WPF prend en charge les shaders de pixels assez directement).

Il est probablement également intéressant de noter que si vous aviez pour les matériels, une recherche de table comme ceci est quelque chose que vous peut gérer en fait assez facilement sur le GPU, même sans les shaders programmables. Tant que vous ne devez supporter le matériel récent, un shader sera probablement plus simple si.

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