06-09-2014, 04:23 AM
If you compile MCS yourself, you can expect it to be anywhere from 1x-3x as fast, probably around 2x. But of course it's a much bigger hassle to do it.
Random Chitchat 2012-2016
|
06-09-2014, 04:23 AM
If you compile MCS yourself, you can expect it to be anywhere from 1x-3x as fast, probably around 2x. But of course it's a much bigger hassle to do it.
06-09-2014, 04:25 AM
If your CPU is recent then yes. We've seen significant improvements on Sandy Bridge and Haswell but you'll probably get performance improvements on Nehalem and Penryn although less so as the performance comes from exploiting newer instructions.
06-09-2014, 04:40 AM
I've never really understood '1 times (1x) as fast'.
1x = x, surely?
06-09-2014, 04:53 AM
Yes, it does. But there has to be something in between 2x as fast and 1/2 as fast.
06-09-2014, 07:55 PM
I've been wondering about in memory coordinate order. It seems YZX has some big advantages over ZXY. Does any one else have any opinions on this.
06-09-2014, 09:45 PM
We already use YZX ordering (idx = X + Z * Width + Y * Width * Width)
How would you do chunksparsing with any other ordering? Will you apply the ordering per-section? This would cause quite a lot of fragmentation and it will be almost impossible to traverse the chunk in the in-memory order for any code that doesn't have access to the internal representation of cChunkData. Some pieces of the MCS code are already optimized for the current ordering, mostly this means that their 3D loops are organized so that the blocks in memory are traversed sequentially.
06-09-2014, 09:58 PM
What I meant was idx = Y + X * height + Z * height * width. Chunk sparsing is the main problem with this as far as I can tell. The reason I was thinking about it is that most of the loops optimised for the current order can be easily switched to the YXZ, just change which loop is the outer loop. The advantage is in places like lighting and generator where things are processed column be column.
06-09-2014, 11:00 PM
Even if you did change the ordering, the lighting will be thrashing the cache because of sparsing. So I'd say it's not worth the huge effort that would be required for this.
06-09-2014, 11:07 PM
Ok, Ill keep the matrix transpose at the entry and exit of my vectorised lighting code for now. I shold be able to improve it if I go to 3D vectors though. You may find the same problem when working on you generator abstraction that you want to map of columns but the vectors arn't set up that way.
06-11-2014, 07:22 AM
I handed in my graduation assignment and documentation today
|
« Next Oldest | Next Newest »
|