The subject is a bit misleading, but here is my situation.
I'm currently working on adding layers to the sprite library. Think of each layer as a separate screen where sprites and other objects designated as belonging to a layer do their thing only on that layer. Sprites on layer 3 for instance can't interact (collide) with sprites on layer 4. Other layers could be used for scrolling backgrounds to create parallax scenery, etc..
Each layer consists of a software and hardware image. The software image is used for software based sprite images, drawing commands (CIRCLE, LINE, etc..), background images, and any other software based images. The hardware layer is used just before a display update by copying the software image to a hardware image (33) and then displaying that layer on the screen. Since hardware sprite images don't actually "attach" themselves to a software based image when using _PUTIMAGE they are not drawn until all software layers have been drawn, converted to hardware, and then displayed.
My question is: is there any real benefit to converting the layers to hardware before displaying?
I'm beginning to wonder if there is even a need for any sprite to be software based at all.
In my loop where software and hardware sprites are drawn before updating the screen, do I need to identify and draw software sprites first, then identify hardware sprites and draw them after the layer's have been merged, or will _DISPLAYORDER _SOFTWARE _HARDWARE take care of this for me?
I don't know why I am having difficulty wrapping my head around this, but something just doesn't seem right with the way QB64 handles software and hardware images and the way they interact, or is that just stinkin' thinkin' on my part?