Welcome to MilkyWay@home

Posts by Shane Reilly

21) Message boards : News : Milkyway Screensaver Testing (Message 42460)
Posted 30 Sep 2010 by Shane Reilly

I am back on the project after having been unexpectedly pulled away for some time. I will be releasing full screensaver demos in the next few weeks, hopefully for all platforms under this thread. Please feel free to leave suggestions/comments here and bug reports in this thread.

The following is the standalone application that can be used to determine whether the demo will work on anyone's machine (currently for Windows machines). The MilkyWay@Home screensaver does not use the conventional libraries used by most BOINC screensavers, so testing is necessary to make sure things run smoothly.

The demo is computationally expensive and will not run sufficiently fast on some machines (runs a bit choppy on a Pentium I5 2.4ghz CPU). The "cube_test" application has a much faster demo that uses the same graphics engine. If either works, the final screensaver should run smoothly on the same machine. The final screensaver will have precalculated paths and images, taking care of the speed issue.

mwdemo_win.zip (v2)

cube_test_win.zip (v2)

To use the application, download it and extract it to a folder on the desktop or in another folder if you prefer. Then run either of the two executable files that are extracted. As a precaution, it may be a good idea to save any data in other applications before running the full-screen version. For those that do not have Windows XP or later, a zip utility such as 7-zip or WinZip can be used to open the file. The controls listed below are similar to those of Celestia with a few more added in.

Source for all files can be found here.


ESC - Exit application
Tab : Start over
Shift-Tab : save new start-point
Alt-tab : leave application temporarily when in full-screen mode
Prtsc or Print-screen: saves a screenshot


< / > : accelerate backwards /forwards (also b and f for foreign keyboards)
F1-F9 : change acceleration (each step is 10 times faster than the previous)

Arrow : look around
Ctrl-arrow : rotate view
Shift-arrow : revolve camera around galaxy center (inverted)
Alt-arrow : accelerate up/down/left/right
Spacebar : stop motion

Backspace : focus on center of galaxy
Shift-backspace : focus on Sol

Enter : travel to center of galaxy
Shift-enter : travel to Sol (gives an Earth view of the wedge)


1 / 2 / 3 : select object 1-3 (wedge, stream, galaxy)

+ / - : increase/decrease luminosity of object
Shift- + / - : increase/decrease star blur radius
Alt- + / - : increase, decrease number of stars visible

A : toggle axes view
C : toggle camera view


If the application runs a little choppy, then it may help to hold keys a little longer if they do not activate every time, esp 1 / 2 / 3 when choosing an object.

(Alt-minus) and (Shift-minus) will quickly increase the frame-rate since they require fewer screen-writes.

As you move away from the stars, they will combine and brighten. The brightness can be reduced manually (see above).

Update: fixed broken links

Update: added replacement keys for foreign keyboards:
p and m keys replace + / -
b and f keys replace < / >
22) Message boards : News : Screensaver Demo (Message 42458)
Posted 30 Sep 2010 by Shane Reilly
I have added a note that the spacebar will stop the camera motion. Thank you for pointing that out.
23) Message boards : News : Screensaver Demo (Message 42443)
Posted 29 Sep 2010 by Shane Reilly
Here are two new versions of the test in a zip file. Just extract the file to your desktop (or anywhere else you prefer) and run the two application files. Both files are the same program, but one runs in full-screen mode. If "cube_test.exe" runs on your machine, try the full screen version. As a precaution, it may be wise to close other applications and save work before running the full-screen test.

For those that are not running Windows XP or later, downloading an application such as 7-zip or WinZip will allow you to extract zip files.



< / > - Move in / out
F1-F9 - Change speed
Arrow - look around
Ctrl-arrow - spin view
Shift-arrow - rotate object
Tab - Start over
Backspace - focus on center of cube

Edit: Space to stop motion

Yous should see an arrangement of glowing blurry stars in a cube formation as you zoom out. Speed <F5> is recommended for this.

Please post results of the test and specs if the applications did not run properly if you would like to contribute to the screensaver testing. Tests with the stand-galaxy simulation will also be available soon.
24) Message boards : News : Screensaver Demo (Message 42438)
Posted 29 Sep 2010 by Shane Reilly
Thank you for the feedback. I would be especially interested in computers that do not show anything, but feel free to comment on working runs as well. You can press <tab> to get back to the start. If the speed is turned up too high (e.g. <F9>) it will zoom out so fast that nothing will be visible in a single frame. I do not expect the application will crash although using axes still has a couple bugs as you zoom in very close. Whether or not keyboard inputs and screen updates work is the main focus. The object is not literally a cube of course. It is an arrangement of glowing blurry stars in a cube formation.

25) Message boards : News : Screensaver Demo (Message 42351)
Posted 24 Sep 2010 by Shane Reilly
I am back on the project after being unexpectedly pulled away on personal business for some time. Demos will be released in the next few weeks. Testing is needed for all platforms before the first release.

If you would like to test a quick demo to see if the application will run on your machine, feel free to try this and post your results (and specs if applicable):

http://www.rpi.edu/~reills2/mwdemo/ (Windows - all versions)


< / > - Move in / out
F1-F9 - Change speed
Arrow - look around
Ctrl-arrow - spin view
Shift-arrow - rotate object
Tab - Start over

You should see a blue blinking cube for the test.
26) Message boards : News : Screensaver Demo (Message 41330)
Posted 8 Aug 2010 by Shane Reilly
"Maybe it would help to look at the "abstraction" problem from the astrophysics point of view? You could merge stars based on their distance and mass/brightness once, and then use this abstracted dataset for the screensaver. If you are already looking at N-Body simulations, you could possibly re-use a spatial tree representation (like a barnes-hutt octtree); the end nodes of such a tree could be candidates for merging. Would it be possible to allow the user to control the amount of abstraction?"


That is an interesting idea, and a commonly used one for physics approximations. Some physics team members of the MilkyWay@Home team suggested as you did to merge stars, while the computer science members tended to suggested skipping stars (I had the same idea). I tried skipping stars, however it became impossible to see the density distributions without increasing the size of the blurs. Losing the over-densities is undesirable since the point of the separation research is to match them to the stream. Increasing the size of the blurs creates similar overhead and makes things look "fuzzy" as one user pointed out which many people have indicated is also undesirable.

User control is simple to implement for any features you would like to recommend, either through an 'ini' file or through the use of function keys.
27) Message boards : News : Screensaver Demo (Message 41311)
Posted 7 Aug 2010 by Shane Reilly
Most screensavers for BOINC projects only keep showing till the current WU is finished ..then the screensaver goes away when the new WU starts crunching..what will happen if a GPU user opens up the screensaver being that it only takes me about 1:14mins to complete 1 WU?


That's interesting. BOINC controls screensaver activation and resource use. It may automatically terminate a screensaver under certain circumstances. If it does terminate the screensaver early, it is something I could discuss it with the BOINC team since it would be highly undesirable. I would consider it a bug. Please feel free to let me know if this happens after the initial release.
28) Message boards : News : Screensaver Demo (Message 41303)
Posted 6 Aug 2010 by Shane Reilly
"Wow, it's so pretty - I don't suppose you could also release a dedicated standalone version? XD
Edit: oh, or do you already intend to?"


The standalone is used to test and design the screensaver routines very quickly and it is easily made available, so the demo being released could be called the standalone version.

"It seems you try to display a lot of points (stars). I guess many of them will be very close (at lest on the screen). Would it be possible to reduce the data to display by some kind of "abstraction" ? Maybe you can select only some representatives of the whole star dataset, based on distances to each other. Another idea would be to "merge" several stars together, and replace them by one star with an "averaged" position and brightness. What do you think?

- Frankm

Absolutely! I have been kicking this idea around since the start of the project, but there are a few issues. The stars could be cut up into sections and averaged by using an inverse tree. This is similar to what is done when rendering textures at further distances. This tends to create a flickering effect during the transition that I considered undesirable for the screensaver. It could be overcome completely by waiting until stars were less than an 8th of a pixel apart to use their average. This did not seem necessary for the screensaver as it is now, but this mehthod would be critical for a larger-scale application using millions of stars and a larger range of distances.

"About the ATI GPU version: I have a relatively fast ATI Mobile HD 5850 in my new laptop,
but it does not support double precision. Will there be a GPU app for single precision GPUs some day ??"

- Frankm

We are working on a way to do that for the N-Body computations. It is too early to say for sure at the moment, but one idea was to split up each double precision value needed into three or four floating point operations. It would be slower than direct float-based math, but potentially useful if it allowed full use of the GPU.

Edit: this idea would actually produce slower results than not using the GPU on closer inspection. Matt A. and Ben have told me that the N-body will rely on double-precision math as well. The screensaver could benefit from using single precision enhancements, but this would most likely be implemented in later versions.

"The wedge on the preview screenshot basicially looks like a slice moving in 3D. Maybe you could use a 2D surface to render the wedge into, and then let OpenGL project the data onto the "slice" in 3D?"


That is clever. I hadn't thought of it. It would produce flattening and make the wedge invisible from certain angles, but other angles could potentially get a boost in speed. The library already uses textures for the individual stars so it is hard to say how much faster it would be without testing. Open-GL might be able to accelerate the current star draws as well, but CPU code was chosen for maximum compatibility in this revision and also because there does not seem to be native GPU support for pixel-summing with textures. This might require GPU programming.
29) Message boards : News : Screensaver Demo (Message 41253)
Posted 4 Aug 2010 by Shane Reilly
The color looks much better the black and white. It helps to visualize the pictures better. I think the Milkyway could be toned down just a tad so it doesn't look as bright.


The brightness is touchy. I like to create a little over-brightness in the blue to maximize the contrast, but the tiniest amount over and resolution is lost since the Milky Way is relatively small compared to the wedge. On top of this, the effect of multiplying intensity changes over the thousands of stars used to draw the Milky Way leads to a relatively large difference resulting from a change of even 1 unit intensity per star. This problem could be overcome by a number of techniques, but I will try to solve by adjusting the view distance to simplify things for now. This should be a little better (changing the thread image as well). Original image here.

The demo that will be released allows interaction through the keyboard and screenshots (Prnt Scrn key on PC), so anyone that would like to can submit enhancement ideas. I look forward to seeing them!
30) Message boards : News : Screensaver Demo (Message 41246)
Posted 3 Aug 2010 by Shane Reilly
I run up to four GPU's at a time, so how would this affect the screen saver, if at all?

-David Glogau*

It shouldn't effect the screensaver adversely at all. I was told by the person that wrote the NVIDIA GPU code that the GPU applications free up the CPU by about 90% although 4 GPU's I imagine might use about 50% of the CPU at idle. If the screensaver were able to tap this resource it would change matters altogether. In retrospect, having a double precision GPU might be advantageous if one were to assume that the BOINC automated graphics pinching function is able to see this opportunity and allow the screensaver more CPU time as a result. I will look into it.

It is also worth mentioning that the team is using the currently crunched data to form an N-Body simulation to representing the findings so far. The N-body simulation will also use distributed computing to calculate stream motions and will be run alongside the "separation" application. We appreciate all your help! The N-body project should be done in the next few months and it will have a screensaver of its own using the same screensaver infrastructure.

I should have a demo at least for Windows up by tomorrow. The Linux and Mac ports will be up shortly after. If things go well, I will begin releasing the modified main applications.
31) Message boards : News : Screensaver Demo (Message 41225)
Posted 3 Aug 2010 by Shane Reilly
Is the yellow bit the part that we crunched?

-Koen Visser

Yes, the SDSS wedge spanning out from Earth is used to determine the best fit for the Sagittarius Stream. The wedges are displayed in yellow because only the F-stars are shown. F-stars have the least error when calculating star position. The bright spot on the wedge indicates where the stream (shown in blue) intersects it although the precise position and shape of the stream is the problem that is being solved (the stream shown is one of many estimations). A different wedge is calculated every month or so and the compilation of the results is ongoing (as is the SDSS survey).

I've modified the demo image for this thread to include a more accurate model of the Milky Way by changing the original ESO image that the Milky Way stars are sampled from. Seeing the change may require refreshing the browser (ctrl or apple-R) for those who are viewing it a second time.
32) Message boards : News : Screensaver Demo (Message 41210)
Posted 3 Aug 2010 by Shane Reilly
The explanation given for GPU interaction could have seemed a bit cryptic in retrospect. In short, yes, any application, whether it interacts with the GPU or not will function, albeit a little more slowly while MilkyWay@Home is crunching on a double precision floating point GPU. The screensaver does not rely on GPU's so it should have no effect for or against the screensaver.

There are nearly a dozen applications which will be integrated with this screensaver, including ATI, NVIDIA and CPU versions for Mac, Windows, and Unix-based operating systems. I plan to release CPU versions first, NVIDIA shortly after. The ATI version will take a bit longer as it is currently under major redevelopment and I have to wait for it to be completed by those working on it.
33) Message boards : News : Screensaver Demo (Message 41203)
Posted 2 Aug 2010 by Shane Reilly

This thread will be continually updated with the screensaver progress in its final stages. Here is the latest screenshot of the wedge and galaxy backdrop with the current Sagittarius stream estimate provided by David R. Law et al. Adding color uses considerably more memory for pre-drawn frames along with a decrease in speed, so at this time, a trade-off would have to be made between having real-time motion and having color given that only a small portion of the CPU is dedicated to graphics. Color seems to be the popular choice so far, but additional votes are welcome.

Click here for a full size image.
34) Message boards : News : MilkyWay@home screensaver coming soon (Message 41154)
Posted 30 Jul 2010 by Shane Reilly
"you can use a recursive gaussian filter and the performance will not change with the size of the filter.

if you are going for a low IQ , high speed filter then use a box filter and precompute as much as you can."


I have limited knowledge of box filters, but it would be interesting to compare the performance of that and the current implementation. The position of the stars is currently displayed with an accuracy of 1/8th of a pixel (this number is adjustable) so there could be a visible performance loss since the filter would have to be applied to a single-pixel-granularity image. This might be overcome by blending the single pixel across 2x2 pixels. Can you say off-hand what the calculation overhead would be for a W by H section of an image put through a box filter? The current overhead of a screen draw is:

stars x star_w x star_h x 2

= 1.5 million b table-reads per frame
+ 1.5 million b memory-writes per frame for 30x30 pixel blurs and 50,000 stars (galaxy version 2)

= 1.5 million b table-reads per frame
+ 1.5 million b memory-writes per frame for 67x67 pixel blurs and 10,000 stars (galaxy version 1)

The screen erase is not included in the calculation. I should also point out that more blurring takes less time with the method currently used only because fewer individual blurs need to be rendered to produce the same total amount of light in the galaxy. The above galaxies are not rendered directly from textures, but collections of star blurs based on random sampling from the original textures. All versions require the same number of reads and writes, but the matrix multiplication and clipping of each star as well as additional star table memory accesses produce significant overhead that could be reduced by using SSE or other acceleration techniques in future versions.

Movements of less than a pixel are currently displayed by using an effect nearly equivalent to 8x anti-aliasing without the need for a larger buffer or calculation overhead. The pre-calculated integral of a 2D-Gaussian blur across pixel boundaries is stored based on the fractional portion of the coordinate and the value is summed onto the image as needed for each star. The use of a larger buffer is not needed as with anti-aliasing because point light sources are completely transparent and overlaps can be summed without any loss color information (unless 8-bit color granularity is insufficient for the number of overlaps produced, but this limitation can be overcome with at most double the overhead).

Every combination of blur position across the pixel boundary and intensity modifications is pre-drawn on a table. 5-bit granularity for intensity and 3 for position seems sufficient for fluid effects, with a memory overhead of 16mb for 8x8 pixel blurs. Floating point coordinates are converted to integer coordinates with the table selection based on the fractional portion of the coordinate. Finally a custom pixel-sum blit is performed 4 pixels at a time.

For those interested in seeing the beta version code, the graphics library has been made publicly available here.
35) Message boards : News : Work should be flowing (Message 41089)
Posted 26 Jul 2010 by Shane Reilly
I had a brief conversation with Travis and he says the validator had crashed and should be up and running now. Thank you for the heads up.
36) Message boards : News : Work should be flowing (Message 41084)
Posted 26 Jul 2010 by Shane Reilly
I sent Travis an email regarding the issue with the validator. Any additional information you could give on the problem would be helpful. Urgent issues can be emailed to astro@cs.rpi.edu to alert all the project developers (there are currently 11).
37) Message boards : News : MilkyWay@home screensaver coming soon (Message 41083)
Posted 26 Jul 2010 by Shane Reilly
Here is a variation (version 2) with more stars and less blurring. The less blur there is, the more computationally expensive the rendering, but in the case of the screensaver this should not matter since everything is pre-rendered.

38) Message boards : News : MilkyWay@home screensaver coming soon (Message 41081)
Posted 26 Jul 2010 by Shane Reilly
This is my first attempt at rendering the milkyway galaxy in 3D based on the image of another galaxy (NGC 1232 provided by ESO). There are a few complications that need to be taken into account to get the field to render correctly at all angles and distances, but it is nothing that can't be overcome if people think this would be a good backdrop. The Milky Way stars will be dimmed so that the stars in question will still be clearly visible.

The stars have a slightly blue tint. The original yellow tint was based on the fact that all the stars previously rendered were yellow F-stars, but in the case of the milky way, blue is predominant. If anyone would like to suggest a different galaxy image, plugging any image into the function will produce a new galaxy at run time so it would be simple task to change it.

39) Message boards : News : N-Body Simulation of the Sagittarius Stream (Message 40927)
Posted 14 Jul 2010 by Shane Reilly
The simulation is now available in a few more formats. The above GIF animation is best viewed with Mozilla clients.

Select format:

OGV (Theora) Format

WMV Format

MOV Format

Update: broken links fixed
40) Message boards : News : MilkyWay@home screensaver coming soon (Message 40899)
Posted 13 Jul 2010 by Shane Reilly
Thank you for the suggestion. I always love to see new modeling apps! I have done a great deal of work myself with colored rendering in similar projects. The fact that this project does not use color is admittedly something that I took measures to avoid, but the application speed requirements led me to rely on 7 bits-per-pixel coloring. With only 128 colors to work with, only intensity differences can be displayed. A lot of changes have been made since the switch to 128 colors, so it is possible that the benchmarks have changed between the two versions. I will retest them and post the results to open a discussion.

It possible even under 7-bpp color to show intensity differences in the stars based on distance (all are alike currently). I can post that variation as well.

A galaxy backdrop might help give a familiar look and feel to the screensaver. I was surprised at what painstaking methods many modeling applications use to plot out a galaxy. I will be using a custom image converter that extrapolates galaxy cluster coordinates from existing top-down photographs. It should only require a few lines of code for a rudimentary algorithm.

Previous 20 · Next 20

©2020 Astroinformatics Group