diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-07-14 21:16:11 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-08-06 10:13:22 (GMT) |
| commit | 788b0cd04ce08b1a0d05d4ecd3cc0b8cfdd616c3 (patch) | |
| tree | b48c95c502e321b84ba30ce554947143310fcef8 /src/main.c | |
| parent | d20c704d88df23bf1355b4d5350698e5e47e6dc7 (diff) | |
| download | powder-788b0cd04ce08b1a0d05d4ecd3cc0b8cfdd616c3.zip powder-788b0cd04ce08b1a0d05d4ecd3cc0b8cfdd616c3.tar.gz | |
Calculate Newtonian gravity using fast Fourier transforms
About 16% slower for one cell changing, same speed for 6 cells changing,
and several hundred times faster for whole screen changing.
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1450,6 +1450,9 @@ void* update_grav_async(void* unused) memset(th_gravmap, 0, sizeof(th_gravmap)); memset(th_gravy, 0, sizeof(th_gravy)); memset(th_gravx, 0, sizeof(th_gravx)); +#ifdef GRAVFFT + grav_fft_init(); +#endif while(!thread_done){ if(!done){ update_grav(); @@ -1476,8 +1479,6 @@ void* update_grav_async(void* unused) void start_grav_async() { if(!ngrav_enable){ - /*pthread_mutexattr_t gma; //I do not know why this is here - pthread_mutexattr_init(&gma);*/ gravthread_done = 0; pthread_mutex_init (&gravmutex, NULL); pthread_cond_init(&gravcv, NULL); @@ -3617,6 +3618,9 @@ int main(int argc, char *argv[]) } SDL_CloseAudio(); http_done(); +#ifdef GRAVFFT + grav_fft_cleanup(); +#endif #ifdef LUACONSOLE luacon_close(); #endif |
