Revision r2423
Optimize 'rainbow' background drawing in the editor with 8-bit renderer. ------------------------------------------------------------------------
Browse logs with clarity: filter by type/year, search text, and inspect parsed commit details.
Optimize 'rainbow' background drawing in the editor with 8-bit renderer. ------------------------------------------------------------------------
------------------------------------------------------------------------
r2424 | helixhorned | 2012-03-07 11:42:37 -0800 (Wed, 07 Mar 2012) | 13 lines
Optimizations and tweaks for C replacements of mhline and thline.
Hlines for masked and translucent masked ceiling/floor (sprites).
- apply the --> 'do { ... } while (--cnt)' transformation, making these
functions iterate cnt+1 times like the asm version. This also fixes an
off-by-one issue where sprites or masked ceilings/floors had a one-pixel
non-drawn line to the right.
- This time, only declare-as-local two 'extern' globals (asm1 and asm2).
It seems that I was too eager with "localing" all file-scoped vars earlier.
GCC is able to remove the loads from memory inside the loop by itself, whereas
clang is not. This is not trivial, since it has to prove that the 'screen'
pointer passed to the functions will never alias these globals.
------------------------------------------------------------------------
r2423 | helixhorned | 2012-03-07 11:42:20 -0800 (Wed, 07 Mar 2012) | 1 line
Optimize 'rainbow' background drawing in the editor with 8-bit renderer.
------------------------------------------------------------------------