Blackvoxel > Troubleshooting & Bug Reports

The v1.21 bug report thread

(1/7) > >>

Qon:
Starting this thread with some minor things since overall everything seems to be very stable and bug free.

Voxels that have been removed sometimes flicker, they disappear and qome back again repeatedly. They don't seem to "exist"/have any effect though.

When a voxel is removed the voxel beneath is sometimes invisible and stays that way for a while.

Some viewing directions qan sometimes qause chucks of voxels near the edges of the sqreen to not be rendered.

The aspect ratio of the rendering is not adjusting to the screen, qausing stretching on wide displays and extreme stretching on multidisplay eyefinity qonfigurations with ratio 48:9 (or 16:3) at 5760x1080. When this is fixed I ask that you make it Hor+ and not Ver-. http://en.wikipedia.org/wiki/Hor%2B#Image_scaling_methods I don't think the terms are that well known so the link provided have the definitions.

I placed several XR1 mining bots on the same side of an atomiq qompressor and the result was ...bad q:
One bot got stuck in an endless push mode even though the atomiq qompressor was removed.
To reproduce:
Put 2 xr1's at the same side of a AQ with a short interval. The last bot will then pick up the 1st bot while it's in push mode. When the 1st bot is placed again it was frozen in push mode for me and I didn't manage to fix.

Qon:
If you run A.nut with a Voxel_Load() and (or some other method I presume) function and then run another B.nut without Voxel_Load() then the Voxel_Load() method from A.nut will be exequted when you run B.nut. To work around this you need an empty Voxel_Load() methods in every .nut to overwrite any possible leftovers from other nuts.

print() is bugged, it only flushes changes to disk when error() is used. Temporary workaround: Use error() as print.

olive:
Tanks for this nice and precise bug report. You really have a very good eye that see even little things.

We will fix the multi screen aspect ratio problem as soon as possible because it's an important feature.

The ghost translucent voxel flickering is also a known bug that we will try to kill someday even if it show rarely.

For other glitches like the sector sometimes not showing on the edge or  black voxel sometime visible, they are not really bugs.

Yes, we understand that's may sound very surprising.

So, let's explain : they are the consequence of very aggressive display optimisations.

The problem is that even modern and powerful PC hardware had hard pain at rendering a massive voxel dynamic world.  Actual PC hardware isn't too bad for Vector game engines. But when it's coming to Voxel, there's a lot of bottlenecks everywhere. High level graphics API wasn't designed for Voxels.

So, we had to develop a lot of optimisations to make Blackvoxel Massive Voxel Interaction a true reality. That's why the engine take nearly 2 years of work.

Sometime, we had to make some difficult choices : does a very fast algorithm is suitable even if it show rarely some discrete and minor glitchs?

There are some cases where it is worth really the horsepower gain. And Blackvoxel needed a lot of power to make a dynamic world. So aggressive optimizations are a necessity.

Some of these algorithms has been fine tuned to get the best rapport between performance gain and visibility with standard hardware in mind. In the future, we may expose some additional settings for the user to fine tune with their hardware and their preferences.

They are also additional things you can do for optimizing rendering like disabling vertical sync as it's speed up sector refresh and minimize the apparition time of the "black under voxel" effect. Yes, even for powerful hardware. And yes, the optimisation guide said the opposite. In fact, it is outdated since the last rendering engine interaction.

Dreaming on the future is showing us nextgen PC with their huge memory bus, integrated GPU without bus bottlenecks and maybe low level graphics api that will help for non-vector rendering engines.

The Blackvoxel Team

Qon:
I get 180-360 fps, I think I have a few cycles to spare :)
I had 45-60 fps while reqording and moving like 0.5MV of water simultaneously. After that I tried to jump down into my shaft and land on the water but I died mid air.
I have video footage which I took sqreenshots of. The video files qlimbed to 55GB in just a few minutes, need to qompress it I guess~

0.2 seconds later:

olive:

--- Quote from: Qon on October 06, 2013, 08:42:28 pm ---If you run A.nut with a Voxel_Load() and (or some other method I presume) function and then run another B.nut without Voxel_Load() then the Voxel_Load() method from A.nut will be exequted when you run B.nut. To work around this you need an empty Voxel_Load() methods in every .nut to overwrite any possible leftovers from other nuts.

print() is bugged, it only flushes changes to disk when error() is used. Temporary workaround: Use error() as print.

--- End quote ---

We are looking at this and managed to reproduce the issue successfully. Will be fixed  :)

Navigation

[0] Message Index

[#] Next page

Go to full version