|
|
Invisible wrote:
> And now for some speed tuning.
>
> A simple way to measure the program's speed is to count how many frames
> per minute it can render. So, set it to 320x480 so it's moderately fast
> [on this ancient single-core 32-bit 1.5 GHz CPU] and count.
>
> After fixing the stupid bug: ~24 frames/minute.
>
> Changed array indexing from tuples to integers: ~24 frames/minute.
>
> Merged the four arrays into one interleaved array: ~26 frames/minute.
>
> [I'm thinking this might improve cache behaviour slightly... but
> apparently not much. Or just the cache isn't the bottleneck.]
>
> Removed array bounds checks: ~27 frames/minute.
>
> Removed adaptive time step: ~80 frames/minute.
>
> [Well there's a surprise. Pitty the frames look awful...]
>
> Added adaptive time step within RK4 as per Scott's suggestion: ~1
> frame/minute.
>
> [Ah, but now the "error" is being calculated in a totally different way,
> so the error tolerance required to get a good image may have changed.
> What happens if I use a less strict tolerance?]
>
> Turned down error bound: ~68 frames/minute.
>
> [I made the maximum permissible error 10,000x larger, and the images
> still come out looking flawless. But they render vastly faster...!]
A clearer (for a human) way to see the speed is to show the inverse of that:
seconds per frame.
Post a reply to this message
|
|