Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - EgonOlsen

Pages: 1 2 [3] 4 5 ... 807
Support / Re: [Tips] Huge texture uploading (memory tricks)
« on: April 07, 2020, 10:20:38 am »
BTW: Do you mind if I add this to the wiki?

Support / Re: [Tips] Huge texture uploading (memory tricks)
« on: April 07, 2020, 10:18:57 am »
Thanks for the contribution. setExternalId() was actually meant to be used in such edge cases. You are right about the memory consumption. It's almost doubled for a normal configuration. You can work against this by using either the Virtualizer ( or by setting keepPixelData on a Texture to false. Both methods will still peak out at double the memory usage at reload time.

There are several reasons for keeping the pixels. One is, that the upload has to happen again on a context change. Context changes happen far less now than on older Android versions but they still might. In case they do, you have to make sure to upload your texture again yourself or you'll get garbage (or all white). Another reason is that I need the pixel data to calculate the mipmaps myself for some devices. On some older ones, the mipmap calculation is simply broken and doesn't work at all. And the last one is, that the texture isn't aware of the GL rendering context or thread. It's a simple container and it can be created in any thread you like. So you somehow have to buffer the data until the upload is feasible.

Support / Re: RenderToTexture and alpha blending problem
« on: March 28, 2020, 09:52:05 pm »
Have you tried to use the,%20int,%20int) constructor instead to force the texture to have an alpha channel? Maybe that helps...

Support / Re: render thread question
« on: March 16, 2020, 08:05:40 am »
Depends on which renderer you are using. For the normal GL renderer, the work is done after World.draw(); The AWTGLRenderer renders in another thread, you can detect if it's done or not by using the IRenderHook.

Support / Re: Crash (native)
« on: March 11, 2020, 08:41:26 am »
Honestly, I've no idea about how and why the vertex count can cause an issue. As mentioned, I had some similar experience on the desktop and I debugged the hell out of it, thinking that my counts were somehow wrong and that I was rendering some out of bounds geometry. But that's not the case, so I really don't know what the issue is here...

Support / Re: Crash (native)
« on: March 10, 2020, 09:26:07 pm »
A had a look at the batch size issue. It's a problem with the way in which batch sizes are calculated. It's only really obvious if the vertex count is a multiple of the batch size. I've fixed it, but I don't think that it requires a new version just for that. It looks strange in the log output, but it's not an actual problem.

Support / Re: Crash (native)
« on: March 10, 2020, 02:52:22 pm »
The 8000 is just a magic number. I had some trouble with higher values on the desktop using older nVidia drivers, so I tried to find a compromise between these problems and a reasonable high value. It then transfered over to the Android version. It might indeed help to lower it for some unknown reason.

About the strange batch sizes...I don't know ATM. I'll have a look at this.

Support / Re: is this the right way to use repeatRendering?
« on: March 10, 2020, 02:41:56 pm »
No, setOrigin will have no effect in this case. repeatRendering() really just does that: It repeats the rendering. Any object manipulations outside of the shaders aren't possible at this stage.

Projects / Re: my project - Vehicle Simulation
« on: March 06, 2020, 08:40:57 am »

Support / Re: is this the right way to use repeatRendering?
« on: March 06, 2020, 08:40:18 am »
I've never really used the repeatRendering()-solution myself, but I think that it should work this way. A shader can be applied to Object3Ds in multiple Worlds. That shouldn't be a problem.

Support / Re: Object3D generating issue
« on: February 16, 2020, 05:34:18 pm »
Has to be a kind of driver issue. I don't see any other reason, because indexed and non-indexed geometry doesn't change the model. It just changes what gets uploaded to the GPU. I had similar issues on some PowerVR based devices, where planes just disappeared for no obvious reason. Adjusting their coordinates ever so slightly made them reappear again.

Support / Re: Object3D generating issue
« on: February 15, 2020, 04:46:17 pm »
Well, regarding wireframe on jPCT-AE, that how it is, I'm afraid. See, for example, here:

Support / Re: Vulkan Support?
« on: February 14, 2020, 09:20:20 am »
I briefly looked into it a while ago assuming that it would be just a bit lower level than OpenGL. But it's waaaaaay lower level than GL. It's basically assembly language for GPUs and while I do like assembly language, I don't see the point to port something like jPCT(-AE) over to it. It's a huge amount of work and will most likely open a large can of worms regarding compatibility between devices. And given that jPCT isn't as API call heavy as something like UE or Unity is, I don't think that there will be any benefit at all. Even on my Ryzen 3900X with a Vega64, switching to Vulkan in modern games (if it's even possible) hardly makes a difference (except for Red Dead Redemption 2, which doesn't run at all in DX12 for me).

Support / Re: Object3D generating issue
« on: February 14, 2020, 09:14:53 am »
addTriangle tries to find matching points in the model to reuse those, but if there are none and the triangle is basically "floating", then it will just create three new points. Also order doesn't matter. I don't see how it can be responsible for stray lines.

Support / Re: How can we overcome the GC pauses?
« on: January 31, 2020, 10:43:59 am »
Strange. I've never ever encountered a gc pause of half a second unless you are close to run out of memory. Not even on heavy loaded servers with hundreds of threads running in parallel. What is a low-end pc in this context?

Pages: 1 2 [3] 4 5 ... 807