OpenMP поддерживается на многих платформах (включая Visual Studio 2005), и это предлагает
int omp_get_num_procs();
функция, которая возвращает количество процессоров/ядер, доступных во время вызова.
Вот некоторая информация о xscreensaver, которую вы можете найти: xscreensaver также есть FAQ здесь .
Здесь также есть простое руководство: simplesquares (из первой ссылки)
Это может вас заинтересовать:
http://www.jwz.org/xscreensaver/faq.html#writing-savers
это с домашней страницы xscreensavers, это своего рода де-факто заставка
Google "xscreensaver", и вы можете учиться на его коде, а не начинать с нуля.