Я мог рекомендовать Game Studio XNA как возможный путь для исследования? Это, очевидно, подготовлено к записи игр, но предоставляет Вам управляемый доступ к Вашей видеокарте и намного лучший доступ к функциям перечисления возможности и разработке программы построения теней, чем было ранее доступно в, скажем, Управляемом DirectX. Существуют также способы объединить WinForms и XNA в гибридные приложения:
http://www.ziggyware.com/news.php?readmore=866
необходимо будет приложить некоторые усилия к изучению программирования программы построения теней (XNA поддерживает HLSL), но это может быть более простым подходом, чем изучение определенного для поставщика решения, такого как CUDA Nvidia. Преимущество состоит в том, что можно программировать в 100%-й управляемой среде. Вот некоторые ссылки HLSL:
http://www.ziggyware.com/weblinks.php?cat_id=9
сайт GPGPU является также рекомендуемым местом назначения для программирования GPU общего назначения:
Всего наилучшего
Я бы превратил вашу логику настроек в службу ( ISettingsService
) и использовал бы локатор служб или внедрение зависимостей, чтобы получить доступ к этой службе из тех моделей представления, которые в ней нуждаются.
Службы отлично подходят для управления общим состоянием, а локатор служб / DI позволяет вашим виртуальным машинам легко получить ссылку на службу. Хранение общего состояния в виртуальной машине - дело хакерское и, как вы обнаружили, не масштабируется. Хорошее практическое правило может заключаться в том, чтобы спросить себя, существует ли состояние в виртуальной машине только для поддержки соответствующего представления или другим компонентам потребуется доступ к этому состоянию. В последнем случае переведите его в сервис.