Re: OpenGL driver loading abnoxiously slow. (Toshiba laptop L670 2012/Intel/AMD/RadeON)
skybuck2000 <[email protected]>
| Newsgroups | alt.comp.lang.borland-delphi |
|---|---|
| Message-ID | <[email protected]> |
Investigation part 2: I did the following in a last attempt to solve any issues: 1. Download and Install and Run "Device Driver Uninstaller". It removed the driver, it also removed an audio driver though, I will have to re-install this one. Fortunately I have that audio driver too. For noobies this can be a pain in the ass but ok, worth the trouble to get to the bottom of this. I know how to do it by now so it's breeze normally speaking. Well indeed it's a pain in the ass, now it says can't support 7.1 surround sound. I believe there is some trick to getting this working and something has to be displayed in the device manager. Fucking annoying, that trick not work... shit hard to remember. Kinda weird how audio driver gets de-installed as well. Perhaps some of it's processing is done through the graphics chip ? or the hdmi part passing along audio is also part of it somehow, weird and confused about this. The HD audio driver that was removed is related to HDMI and graphics that is why it is removed. There is another audio chip realtek, but this has no relation to this. So reinstalling realtek audio driver should not be necessary. However the 15.1 catalist driver does not work with HDMI. To support HDMI the 16.1 or whatever version crimsonlive beta version must be installed and this one works pretty ok. Full details: Toshiba Laptop L670 HDMI not working: To solve this issue the following driver must be installed: Graphics Driver for AMDI Mobility Radone 5000 series: non-whql-win8.1-win7-radeon-software-crimson-relive-16.2.1-sep20.exe (The other driver does not work): whql-win8.1-win7-catalyst-15.7.1-oct30.exe Do not bother installing it, I already tested it, HDMI does not work on this older driver ! 2. Identified the manufacturer and device id and looked it up on device hunt website. 3. Tried latest software from AMD but does not support old graphics chip 4. Did not bother downloading any new drivers because I already have the same install versions on the harddisk. 5. Instead of going with beta or anything crazy decided to go ultra safe and only install WHHQ certified driver. 6. Everything went smooth/rebooting etc. 6.1 I did notice the screen becoming slightly less bright, this might be some graphics settings that I might need to look into later. 7. Decide to run Quake 3 it still did not start. Quake 3 is on USB drive. It is a resolution problem. Decided to rename q3config so that quake3 re-create a new config. The game now starts at 800x600 and plays well. Decided to modify q3config.cfg in demoq3 folder to change to custom resolution: seta r_mode "-1" seta r_customheight "900" seta r_customwidth "1600" seta cg_drawfps "1" seta cg_fov "106.26" Plus some other slightly higher quality settings from the internet. This does make the game look a bit better. However the video fails to display/render, the audio is hearable though. So the resolution problem of Quake 3 was an unrelated issue and a Quake 3 issue, it simply has limited build-in resolution options and can't detect the resolution of the screen/monitor properly. This is solveable by custom setting it as done above. 8. Then decided to run my little corona game which uses opengl. It started immediately. For this I have some explanations: Possibilities: 8.1 Because I did not shutdown some AMD services, one of the AMD services actively loads the OpenGL driver during boot-up/start-up of windows. If this service is disabled then that might explain why the OpenGL subsystem has to load the driver, if this hypothesis is correct though. I doubt that. 8.2 Ofcourse since Quake3 ran and Quake3 already triggers the load of the opengl sybsystem, so must do a reboot first. Going to do that anyway for audio driver. 8.3 Perhaps the removing and installing of driver fixed it, not sure yet. 9. No slowdown is noticed for leaving the MOM.exe and CCC.exe running, these are part of the AMD driver suite. I probably disabled these to reduce memory and processor consumption just to optimize the system and also provide any spieing from AMD :), call me paranoid ! =D. Maybe also to prevent any stupid updates or whatever, don't like that if I am in middle of "important" game session or whatever =D Perhaps this is part of the reason the opengl subsystem wasn't loaded at startup... 10. For now I have decided to simply let these services from AMD run to avoid any opengl startup issues. 11. One thing was learned from all of this "OpenGL" somewhat unreliable for software usage/rendering and a fallback mechanism should be available at the very least to circumvent these kind of software issues on systems. 12. It does annoy me to see CCC.exe in the process list. It pisses me off that AMD can't name their executables properly. Now it truely looks like malware/spyware, but it's not ! Very stupid of AMD ! ;) Only advantage to this is when task manager is very small displayed. Other things now running are: atieclxx.exe atiesrxx.exe 13. It appears this official driver does not provide 7.1 surround sound playback through HDMI, actually it offers no HDMI playback at all. A major driver fuck up as far as I am concerned by AMD. This leaves me with no other choice then remove this AMD driver and try the beta driver to see if it does offer a HDMI fix. This is quite annoying to have to do this all over again. But first I test my game to see if this WHQL driver solves the problem or not... without disabling any services. I do notice TASK manager has problems starting up on startup of computer... it will freeze for a while. This could indicate a deeper problem in windows 7 home version... after some seconds but starting up a second task manager this problem seems to go away but only if not too much software starts up otherwise it could be an annoying problem ! ;) SURPRISE SURPRISE, THE PROBLEM REMAINS... THIS IS SIMPLY A DRIVER PROBLEM OR WINDOWS 7 HOME EDITION PROBLEM OR A BIG FAT BUG IN VCL OF DELPHI... VERY WEIRD AND VERY STRANGE, ONE THING I COULD TRY IS COMPILE WITH AN OLDER VERSION OF DELPHI TO SEE IF PROBLEM GOES AWAY... COULD ALSO BE A PROGRAMMING BUG BY ME, BUT WHY WOULD IT THEN HAPPEN ON ONE SYSTEM AND NOT THE OTHER ONE.... VERY STRANGE. Well it does happen on PC too apperently, but nvidia driver starts up faster somehow or the problem is less severe... VERY STRANGE... could also be a fluck of luck sometimes but now it is pretty reproduceable on PC too but less noticeable perhaps because GT 1030 is faster... hmmm strange... The opposite could also be the case. Because the laptop CPU is faster the spin loop/infinite loop is much more severe and causes a harder lock-up of the startup process. It's not the first time Pascal software has been hit by some weird SPEED bug... Turbo Pascal is also know to be affected by a speed bug during initialization of Pascal software because of a wrap around counter. Apperently now Delphi has also an issue like this and it is going unnoticed for now. UNTIL CPUs become much faster and then it will show it's old ugly head again ! 14. To determine if this issue is present in Delphi, a very simple VCL application will be created by me with nothing else then a button to debug/profile that to see if it shows the same behaviour or not. I did no problems noticed. 15. After lots of shitting around/debugging and trying things I come to the following conclusion: the delphi/vcl property Canvas.Handle calls a lot of code, is complex and might be one of the causes of the slow down. It was called multiple times in the WM_CREATE. I experimentally replaced this with code like this in pseudo form: if vcl in design state then store canvas handle := canvas.handle; else store canvas handle := GetDC( Handle ); end ... then in the rest of the code use the "local" "store canvas handle" Now the game seems to start fast ! Why this prevent issues I am not sure, maybe just slow code. However in the debugger I still see a lot of looping/function calls. So it doesn't solve it completely, the issue might still be present but less noticeable... So I am not sure this fully solves it but so good so far... for now. Bye, Skybuck.