02-06-2019, 03:24 AM
So we have some good news, some bad news, and some OK-ish news.
Good first,
I was able to get user controlled resizeable reports working in the 64 bit build with the OpenGL!
Now the bad news,
The user controlled resizeable reports did not work in DirectX!
You see, DirectX9 is so old, it comes from an era where some video cards could not handle non-power of two textures. So DX9 support of anything that wasn't 2^n is sketchy at best. On top of this, we have to create a real time texture and apply it to a 2d space. DirectX9 has some nit-picks with that. The browser in the 32-bit build only used windows that were 1024x512 or 1024x1024 because of this.
In addition to all this, our GUI library was screwing up stuff anytime it caused a resize of any part of the GUI window the browser sits in. Messy stuff (not my code!)
Now the OK-ish news.
There is a sliver lining to all this. The DirectX9 render can still support NPOT textures, but they have to be a certain size, a certain ratio, and could not be molested in anyway by the GUI. So instead of allowing the player to adjust the size of the Reports windows, I have hard coded sizes based upon the player's resolution. This means common issues, such as having a 1024x512 reports window while running the game in window mode, on a 1080p monitor, with Window 10's chunky taskbar, is gone. You'll have a nice 1024x880 reports window. If you have a 4k monitor. You'll no longer have a 1024x1024 reports window. You'll have a 2048x2048 window. (Although early tests with a friend's nVidia 1060 in a KVM showed that the FPS rate is a bit low due to CEF). And so forth. I believe there are 6 different sizes.
With all that in mind, power of two textures are still significantly faster than non-power of two textures. They're also less error prone due to drivers issues. And the 32-bit browser does not support NPOT. So with all that in mind, I have introduced a new settings checkbox to enable dynamic reports sizes. By default the game will use the old fixed values, so you will have to enable this setting yourself.
With the vast majority of players using the DirectX/Win64 combo. This configuration superseded the manual resizeable reports for OpenGL/Linux/OSX users. Sadly I lost a couple of days debugging all this crap. But it's working. I still have to test it on an Intel GPU to confirm there is no major driver architectural issues with the code. But it all seems to be working well on what I have ran it on.
I have a couple more 64-bit engine related stuff to take care of, then I will move on to bugs to finish up the SP9 release. Hopefully then I can get working on v1.24.1!
Bed time for now, night!
Good first,
I was able to get user controlled resizeable reports working in the 64 bit build with the OpenGL!
Now the bad news,
The user controlled resizeable reports did not work in DirectX!
You see, DirectX9 is so old, it comes from an era where some video cards could not handle non-power of two textures. So DX9 support of anything that wasn't 2^n is sketchy at best. On top of this, we have to create a real time texture and apply it to a 2d space. DirectX9 has some nit-picks with that. The browser in the 32-bit build only used windows that were 1024x512 or 1024x1024 because of this.
In addition to all this, our GUI library was screwing up stuff anytime it caused a resize of any part of the GUI window the browser sits in. Messy stuff (not my code!)
Now the OK-ish news.
There is a sliver lining to all this. The DirectX9 render can still support NPOT textures, but they have to be a certain size, a certain ratio, and could not be molested in anyway by the GUI. So instead of allowing the player to adjust the size of the Reports windows, I have hard coded sizes based upon the player's resolution. This means common issues, such as having a 1024x512 reports window while running the game in window mode, on a 1080p monitor, with Window 10's chunky taskbar, is gone. You'll have a nice 1024x880 reports window. If you have a 4k monitor. You'll no longer have a 1024x1024 reports window. You'll have a 2048x2048 window. (Although early tests with a friend's nVidia 1060 in a KVM showed that the FPS rate is a bit low due to CEF). And so forth. I believe there are 6 different sizes.
With all that in mind, power of two textures are still significantly faster than non-power of two textures. They're also less error prone due to drivers issues. And the 32-bit browser does not support NPOT. So with all that in mind, I have introduced a new settings checkbox to enable dynamic reports sizes. By default the game will use the old fixed values, so you will have to enable this setting yourself.
With the vast majority of players using the DirectX/Win64 combo. This configuration superseded the manual resizeable reports for OpenGL/Linux/OSX users. Sadly I lost a couple of days debugging all this crap. But it's working. I still have to test it on an Intel GPU to confirm there is no major driver architectural issues with the code. But it all seems to be working well on what I have ran it on.
I have a couple more 64-bit engine related stuff to take care of, then I will move on to bugs to finish up the SP9 release. Hopefully then I can get working on v1.24.1!
Bed time for now, night!
"great writers are indecent people, they live unfairly, saving the best part for paper.
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski