Jump to content

Leadwerks Laptop Conundrum


Daemoc
 Share

Go to solution Solved by gamecreator,

Recommended Posts

So here is a good one for you...
  I have been working with Leadwerks on and for about a year now. Not really doing anything exciting yet, but just testing the waters. Getting my feet wet if you will. Just recently, myself and a few others decided to really dedicate some time and effort into really making something. I have a pretty stout gaming rig at home that I use normally and since we are a small team, we do not have a physical office. Consequently, we meet at each others houses occasionally to work collectively and to do testing. I do not care to “work” with laptops and much prefer desktops. That said, for mobility reasons I wanted a laptop to run Leadwerks without dragging my desktop around with me everywhere I go. The other day I bought a “gaming” laptop for this purpose and experienced one of the biggest tech blunders I have ever seen.


Switchable GPU’s


  I get it. I really do. Why would you buy a gaming laptop that sucks a battery dry in 15mins? What would be the point? Other than mobility there is none. In my case though, I need horsepower and mobility. So a gaming laptop it is. The problem becomes when these hardware manufacturers address the above question in moronic ways. Wiring a powerful discrete GPU though an integrated GPU and letting the computer decide which one to use was the moronic answer.


  You can probably see where this is going. Leadwerks does not work with these laptops. In fact, during my testing I found a lot of other software does not work with the switching GPUs either. Most of my 3D animation tools would not use the dGPU.  Playing around with a few games I saw the same thing. I had a 50/50 hit rate on whether or not the game would use the d/iGPU.


  You can not even disable the iGPU, there is no physical connection between the dGPU and the monitor. You can force the issue if you disable the built in display and hook up an external monitor. This does indeed work, but so much for portability. After two days of blood, sweat and tears I have concluded there is no possible way to force these new laptops to use the dGPU when they do not want to. Two days wasted I could have been working on other things. The worst part about this entire quagmire is there is no fix. None. The new shiny laptop has been returned and I am back to lugging my gaming rig around with me.


  I am still having a hard time wrapping my head around this. This can’t be a real thing, I am missing something somewhere…
…nope. It’s just stupidity disguised as technological progress.


  TL:DR After all is said and done, it looks like all new laptops have this “feature”. I guess the point of this post was to see if anyone has any experience with a current laptop that will not have this issue. The laptop in question used Intel/nVidia hardware. I know the AMD’s have GPU switching as well, but does the dGPU have a physical connecting to the monitor? Can I disable the iGPU when the computer is too stupid to figure out I need the dGPU horsepower? I hate to go buy another laptop only to end up returning it 3 days later again.

As a comical side note:
  During testing I played a wide array of games trying to get a sense of the horsepower it had, heat management and usability. I fired up a few older games and the laptop would overheat. Here I am playing Unreal Tournament and the fans are screaming. I just stress tested this thing with XCOM2 and the fans where not that bad, how does that work?
Lo and behold, when the laptop uses the iGPU to "save power" it also breaks fullscreen v-sync. I fired up the performance monitor on the laptop while running Unreal Tournament and watched the CPU temps reach 98*c and then thermal throttle while running this ancient game at 8000 fps. In game v-sync on, v-sync forced on through the iGPU settings, it does not matter. (Yes, this was running d3d through the iGPU)


  Now Quake 3 on the other hand, which did in fact use the dGPU, would not even cause the fans to spool. Of course the dGPU drivers actually did their job and capped the frame rate to what you tell it to.

Link to comment
Share on other sites

  • Solution

I have a CyberpowerPC Fangbook Evo HX7-350 laptop with a GeForce GTX 780m and also integrated graphics and have had minimal problems.  I can't speak to the battery life since I'm always plugged in but I can run the editor and my programs fine.  Remember that you can change your preferred video card if you go into the Nvidia Control Panel and Manage 3D Settings.

Link to comment
Share on other sites

Thanks for the info bud.

Battery life is not a concern at all, just portability.

Unfortunately, forcing the GPU in the nVidia control panel did not work. Neither did forcing it through the new Windows 10 graphics options. I am not sure if it is a driver issue, a Windows issue, or just the new GPU architecture. It just does not seem to work with certain programs. After all of the research I have done the last few days, it looks like there is just no way to force it. (without using the external monitor that is)

Your answer at least gives me hope though. Maybe I can find an AMD setup or a previous gen nVidia that works. The local brick and mortar said they did not care if I ordered multiple laptops and test them as long as I take them back within 15 days. That is my plan if all else fails.

Thanks again.

Link to comment
Share on other sites

We already include a statement in the executable that should indicate to the driver to use the discrete GPU.

#ifdef _WIN32
#include <windows.h>

//Hack to force NVidia discrete card when integrated graphics are present:
//http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf -  Page 3
extern "C"
{
	_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
	_declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}

#endif

It should just work.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

On 6/8/2019 at 11:55 PM, Josh said:

We already include a statement in the executable that should indicate to the driver to use the discrete GPU.

...

It should just work.

Got a chance to test it and it didn't work for me.  When I went into the NVIDIA Control Panel, Manage 3D settings, Global Settings and chose Auto-select (the default, I believe) or Integrated graphics, it used my Intel(R) HD Graphics 4600.  I had to choose High-performance NVIDIA process manually to force the Leadwerks program to use my GTX 780M.

Also interesting to note that with the Intel processor, the program starts up immediately.  With the GTX it takes about a second to initialize (or whatever it does) to show the screen.  I was using the DrawText example to test.

Link to comment
Share on other sites

The laptop I used had the three options in the nVidia Control Panel along with a context option of "run this application with high performance nVidia GPU" in the windows environment. There was also a new Windows 10 option just added that also supposedly gave you the option to switch which GPU it should use by application.

None of it worked as advertised. The only time those options worked was when the application in question supported any of those options to begin with. Again, I am not sure if it was a driver issue or the new GPU architecture, but there just was no control over which GPU you could use on a lot of applications I tried. The drivers were locked down by the manufacturer as well. Consequently, I could not try any of the newer divers from nVidia to see if it made a difference.

Anyway, I do not think this is a Leadwerks issue. Even if it was, requiring "software support" to manage hardware outside of the OS is not only idiotic, but completely unnecessary and asking for trouble.

Link to comment
Share on other sites

No dice on the new laptop.

I need one with a "MUX" I guess. The unfortunate part is none of the manufacturers make this information available to the public. A few tech forums I was browsing said the only way to tell is if you can dictate which GPU to use in the bios. If you cant change in there, it can't be forced and will rely on the Drivers, OS and software.

I am thinking of just washing my hands of it at this point. Maybe try a microAXT/ITX build that is somewhat more portable than my 75lb gaming rig. Buy the smallest case I can find and bolt on a small monitor and carry handle.?

Link to comment
Share on other sites

It looks like the third time's a charm. ?

Good news: I actually found a laptop that has a proper desktop CPU and GPU. No integrated whatsoever. ?

Bad news: The battery lasts about an hour and it cost me almost as much as my 27" iMac. ?

I don't mind the battery, but that hurt the wallet. It will be worth in though. It should help streamline my workflow considerably.

  • Sad 1
Link to comment
Share on other sites

This thing is a monster! I am benchmarking with the new DOOM running Vulkan with ultra settings and averaging 175fps. (low has been 150 and it is capping at 200fps for some reason) For being desktop hardware it stays pretty cool as well. CPU was @75* and GPU was @60* during my DOOM session.

...but most important is Leadwerks works!

Anyway, I am happy now and just thought I would share. And if anyone is looking for a laptop without a switchable GPU, the Acer Predator Helios 500 w/AMD Ryzen7/Vega56 is the ticket.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...