Welcome, Guest. Please login or register.

Author Topic: AmigaOS and the Console Development - Part 1  (Read 13533 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline psxphill

Re: AmigaOS and the Console Development - Part 1
« on: October 03, 2015, 12:25:43 PM »
Quote from: olsen;796689
Now, what exactly will SetWriteMask() do in this situation? It has the effect of making display updates more costly if an interleaved bitmap is used (which is the standard case). Instead of moving one consecutive chunk of bitmap data, the blitter operations have to be broken up into individual planes again. Available bandwidth is used less effectively. This can be noticeably slower.

It won't be more costly in the standard case when only one bitplane is scrolled, if more than one is scrolled then the overhead is just waking the CPU up and getting it to kick off the next blit and in some cases you can do it with one blit anyway.

In fact not calling SetWriteMask() would make "the display updates more costly" in the "standard case" as "available bandwidth is used less effectively" (for the simple reason that you are copying up to 8 times the data with the blitter).

The way the autodoc is written I would only expect the call to only have an effect on planar screens, so there isn't a clear benefit to removing the call.
« Last Edit: October 03, 2015, 12:35:34 PM by psxphill »
 

Offline psxphill

Re: AmigaOS and the Console Development - Part 1
« Reply #1 on: October 03, 2015, 05:19:14 PM »
Quote from: Thomas Richter;796771
Believe me, you don't want your graphics software to emulate planar scrolling on chunky graphics

The autodoc for SetWriteMask says that the device can ignore you, but if for compatibility they emulate it then technically you do want it to be called as someone might have done something funky like draw a background in the console they don't want scrolled.

However using SetMaxPen instead is probably the better option.
« Last Edit: October 03, 2015, 05:34:15 PM by psxphill »