One thing that has always bothered me is how objects tend to quickly appear and disappear as soon as they enter or leave the screen area. It happens very suddenly, and can be distracting or downright jarring in some cases.
I understand this is probably for the sake of saving resources, but for people who can actually run Graal very well, this is an annoyance. It just looks bad when objects pop in and out of view as soon as you get too far away from them, and it would be very nice to have an option to turn offscreen drawing on if your computer is able to handle it.
I'm not suggesting that everything offscreen be drawn, but it would be nice to have objects and particle effects drawn that are at least within a 1-2 map radius outside of your current resolution settings.
Rather than removing this "optimisation" perhaps an additional option could be added to allow for extended drawing distance with a flag that can be read by scripts in the case developers develop specific content that happens to rely on this feature.
__________________
Quote:
Originally Posted by Crono
No look at it, Stefan is totally trolling Thor. Calling Classic a "playerworld" (something it's not supposed to be) is the ultimate subtle insult to a true fan.
Rather than removing this "optimisation" perhaps an additional option could be added to allow for extended drawing distance with a flag that can be read by scripts in the case developers develop specific content that happens to rely on this feature.
It's an option which would need to be integrated into the client, as this bug happens at some point or another on literally every server.
There is already a hackish method for continuing to draw certain objects as they travel offscreen, but if you were to integrate offscreen drawing options into the client itself, you wouldn't have to worry about putting additonal lines of code into each and every script.
And yeah, it's not so much an 'optimization' as it is an impediment. Personally, I would rather devote a tiny bit more vram to draw stuff offscreen than watch things constantly flicker as I move around.
It's even worse on Kingdoms. Take a look at all the foliage that blinks out of existence as you move.
You can change the sync distance via serveroptions and script, I think. I don't know the specifics so you'd just have to search through Stefan's posts.
The problem is if it's set exactly to the player's screen(as it should be), players/npcs pop into view since it doesn't "kick in" until they are IN view.
Stefan just needs to change it so syncing is expands a bit out from what's defined in the sync range.
From what I've read, it's only useful on iPhone servers, but I gave it a shot anyway.
Tried setting both syncdistancex and syncdistancey to 50, then 500, on both true and false settings for syncbydistanceinside.
Then also tried screenwidth+500 and screenheight+500 on both settings for syncbydistanceinside as well.
Yea, this was a problem for me on GK for years and even more on my retina laptop screen. Screens are only going to get bigger and more dense, would be nice to get a fix for this.
It only displays objects which are on the screen
There are a few ways to get around the clipping for stuff like particle effects:
- use setshape and display the particles more in the middle of the npc, not at 0,0
- when using particles in ganis, you can put some visible or invisible graphics (1x1 pixel) somewhere outside the npc image to make graal think that the npc is covering a larger area, because it's calculating the area covered by the gani (only set the ani, not image or setshape)
There are a few ways to get around the clipping for stuff like particle effects
This is the 'hackish method' I was talking about. And it is impractical, because you'd have to apply it to each and every NPC that has this problem.
We shouldn't have to get around defects in the game. If we can get stupid features like cartoon GUI windows and a fail-tastic Games Server, we ought to be able to get basic features like this.
Do you see the sheer amount of objects that do this on Kingdoms? Nobody is going to fix all that by going back to revise hundreds of scripts.
This is the 'hackish method' I was talking about. And it is impractical, because you'd have to apply it to each and every NPC that has this problem.
We shouldn't have to get around defects in the game. If we can get stupid features like cartoon GUI windows and a fail-tastic Games Server, we ought to be able to get basic features like this.
Do you see the sheer amount of objects that do this on Kingdoms? Nobody is going to fix all that by going back to revise hundreds of scripts.
I think what Draenin is trying to ask for is that it clips the screen edges plus a margin, ie "left most side minus 150px"
It's not a defect, just some more work in some cases for the devs, but greatly improves speed / reduces visual lag
But for those of us who do not experience much video lag, could you include a little checkbox or something in the F3 menu that would expand the margins?
But for those of us who do not experience much video lag, could you include a little checkbox or something in the F3 menu that would expand the margins?
Why would you want an option that alters the game drastically for each individual? Either it should be a serveroption, or none at all.
Why would you want an option that alters the game drastically for each individual? Either it should be a serveroption, or none at all.
Because Stefan seems to think that expanding the drawing area for all players would make many people complain. But for those of us who actually have nice hardware setups, it would hardly be an issue.
I wouldn't be opposed to new serveroptions for it instead, though, if that were possible.
It's not a defect, just some more work in some cases for the devs, but greatly improves speed / reduces visual lag
It does, but it needs some margin. It's rendering the exact screen area, so players/NPCs don't render until they're ON the screen, so they POP in. The rendering distance just needs to be larger than the screen area.
Think about how you render tiles in the scrolling camera. You don't want tiles to render when they're actually in the screen, but just outside.