Optimizing HAM8 renderer.
For people who like optimizing 68020/68030 code (don't sacrifice render quality):
Code:
ham8.render |
I refuse to believe no one sees any optimizations at all.
|
I'm more into 000/040...
Anyway, three minor things after taking a quick look at the code and 020 tables: - lea (ham8.colorTable.w,pc,d6.w*8),a3 is out of 8-bit range - and.b #$fc,dx as fast as and.b d6,dx? if so, moveq #-4,d6 not needed - (-6,a3)/(-4,a3)/(-2,a3) faster than subq.l #6,a3 and 3x(a3)+? (postinc as fast as indirect displacement) Branching looks OK to me (G's weight is 3 so it makes sense to assume branch not taken when comparing d4 with d3/d5). EDIT: So much about taking a nap, now I can't shut my brain off.. Code:
; move.w #512-1,-(sp) |
Thanks, but it's not that easy :D
Quote:
Quote:
Quote:
Quote:
Quote:
|
I meant:
Code:
.palette For AND calc&fetch-ea looks like 0/0/0 reg and 0/2/3 immed so, again, best case it's the same speed but moveq is not needed. In theory, and assuming 020 ;P. Let me take a look at 030... Uhm, this is significantly different. (Ax)+ calc-ea is 0+0/2/2 (head+tail/cache/nocache) and (d16,pc/Ax) is 2+0/2/2, so yeah it's very likely slower on 030. And regarding the color table. It's fine as is, I simply forgot that asm-one wants the 16-bit displacement at the end, otherwise it will parse it as a brief/old mode and then complain it's not within 8-bit. |
Quote:
Quote:
Come on guys... surely more people can see something? |
All times are GMT +2. The time now is 19:40. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.