![]() |
|||||||||||||||||||||||||||||
![]() |
Home | ![]() |
Register | ![]() |
Arcade | ![]() |
Gallery | ![]() |
Chatroom | ![]() |
Members | ![]() |
Search | ![]() |
Today's Posts | ![]() |
Mark Forums Read | ![]() |
Log In | ![]() |
|
![]() |
|
Thread Tools |
![]() |
#1 |
Guest
Posts: n/a
|
Economize Video Memory? What is the trade off?
When you select "Economize video memory" in the prefs for the screen saver, what, exactly, is it doing? What is the trade off, if any, for selecting this option?
I know you get a higer frame rate, but how does it do it and what are you giving up? |
![]() |
![]() |
#2 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
I believe the hardware Z-buffer goes away, so when fish turn, the fins can "pop" as they come from behind the body to the front of the body.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#3 |
Guest
Posts: n/a
|
I don't get it. In English please? :P
|
![]() |
![]() |
#4 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
You asked for juicy details. If you want an explanation of all the stuff that is done to save RAM, it could take a few pages.
![]()
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#5 |
Mac Development
Join Date: Jul 2002
Location: Kenai, Alaska
Posts: 678
|
The z-buffer is hardware support for figuring out what polygons are rendered closest to the plane of the screen. Turning it off frees up video ram for other uses. On low memory video cards, turning it off can mean that hardware acceleration is available where it might not be otherwise. Turning it off also means that the last thing drawn to a particular pixel is what is viewed by the user even if it is "behind" something drawn earlier. Mac MA is highly optimized for running with the z-buffer off, but there are some conditions which can occur which are not something we can catch without restructuring the program pretty extensively.
The trade off is that sometimes there are transient visual anomolies which wouldn't occur with z-buffer on. Most people don't notice.
Jim O'Connor
Order N Development |
![]() |
![]() |
![]() |
#6 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
Surfer, you are asking for an English explanation of a problem that only exists in Programmerland, not in the real world.
As Jim O'Connor says, the Z-Buffer is used to decide if a pixel should be painted to the screen, or if there is already a pxel at that location which is closer to the viewer. The important thing is that it does this for each pixel, not just each polygon. A programmer can calculate which polygons happen to be closer at the moment, and render them last, but what about polygons which intersect each other? For example, the side fins of many of the fish are single triangles which pass into the body where they connect. With no Z-buffer, you have to render either the body last or the whole fin last, including the part which should be hidden inside the body. With the Z-buffer on, the pixels which are outside the body get rendered, but not the ones which are inside. I do not condone the removal of the Z-buffer.
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
#7 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
Originally posted by Jim Sachs The Z-Buffer is still in some kind of memory-saving mode in the latest build of MA2 for Windows I think. I do not condone the removal of the Z-buffer. ![]() I'll have to check before I have to eat my words.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#8 |
Guest
Posts: n/a
|
Thanks for your responses, I appreciate it. Seems like I've gotten two opinions: "Mac MA is highly optimized for running without Z-Buffer so it's no big deal to turn it off," or "Don't turn off the Z-Buffer, period". Well, I've tried it both ways, and my ordinary Joe eyes cannot discern a difference whether it is on of off, it's looks great regardless, so I guess it doesn't matter either way.
Thanks! |
![]() |
![]() |
#9 |
Guest
Posts: n/a
|
P.S.
I just didn't get what feldon27 meant when he said "so when fish turn, the fins can 'pop'..." |
![]() |
![]() |
#10 |
Guest
Posts: n/a
|
P.S.
I just didn't get what feldon27 meant when he said "so when fish turn, the fins can 'pop'..." |
![]() |
![]() |
#11 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
He meant that when the program calculates other surrounding polygons to be farther away, the fins can suddenly be drawn on top of them.
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
#12 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
The fins are separate objects from the fish.
In economize video memory mode (with the Z-Buffer off): When the fish turns to go a different direction, if the body is overlapping the fin in any way, the fin is drawn behind the body. If the fin is completely in front of the body, then the fin is drawn in front of the body. The trouble is the transition between the two.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#13 |
Guest
Posts: n/a
|
I see, thank you very much.
Surfer |
![]() |
![]() |
|
Thread Tools | |
|
|