Fix for Oracle JInitiator Won't Refresh / Repaint on Windows 7 i3 or i5 Machine
The JInitiator Refresh Issue...
Working for a school district which, like most school districts, doesn't have the funding to update their Oracle based financial systems that heavily rely on the old school JInitiator app. While the versions of JInitiator like 184.108.40.206 work fine in 32bit versions of Windows 7, there seems to be a problem on systems running the Intel Core i3 and Core i5 processors where the JInitiator will load, but it won't refresh or repaint its windows. In our case, upon the initial load of the app, all we would get is a new IE window with a white page. If we resized the window or double clicked the title bar, it would repaint the screen, refreshing the content in the window. However, we would have to do that step every time we wanted something to happen in the window. Talk about a pain! We researched all sorts of stuff on it and found all sorts of weird fixes like "JIniator doesn't like multiple threads". Weird thing was, we had a Core i7 Quad Core machine running JInitiator on a 32bit Windows 7 without a problem. That had us scratching our heads... "What was different between the i3/i5 and i7 processors?" Well, the difference we found out, was the video. The i3 & i5 both had the new Intel HD Graphics controller whereas the Core i7 had a Nvidia GPU. I tried updating the Intel drivers to the latest and still no luck... Running across the specs of the computer, we noticed that the computers were advertised as having the "Intel HD Graphics with Dynamic Frequency Technology". That made me do some research to figure out what was so special about the Intel HD Graphics and what the heck "Dynamic Frequency" was. This ran me across the following whitepaper for the new Intel HD Graphics.
A Little Background
To save you some time from reading the whitepaper, I'll give you some background on the new iCore processors... Basically, Intel has moved the entire northbridge chip onto the processor. The northbridge in older computers was responsible for talking to the CPU, Memory, Video & Southbridge. Move that onto the processor and you get a blazing fast performance boost. In doing this, Intel has also followed AMD's footsteps by integrating their own GPU directly onto the die of select iCore CPUs (mainly i3 & i5), again providing much faster video performance and reducing overhead. "So what is this Dynamic Frequency?" To compliment their proprietary Turbo Boost technology which raises & lowers CPU frequency depending on CPU load, thus saving power, they have also included Dynamic Frequency which does basically the same thing for the GPU. It raises and lowers the speed of the GPU on the fly, to help conserve energy (longer lasting batteries, put smiles on tree huggers, etc.)
"Enough already! How do I fix it??"
The fix is simple, believe it or not... You basically have to go into the power savings for Windows 7, edit the power plan and set the Intel Graphics to "Maximum Performance" which turns off the Dynamic Frequency.
"How the heck do you do that??"
If you have a computer that has it's own power saving software, I have no idea... You might have to do some playing... BUT, if you are using the stock Windows 7 power settings, you can do the following:
- Click Start
- In the search box, type Power Options and hit enter
- Chances are, the radio dot is on the Balanced (recommended) setting. Click on the Change plan settings link to the right for whatever plan is selected.
- Click the Change advanced power settings link
- In the advanced options, scroll down until you find Intel Graphics and click on the + next to it.
- You should see two options below the Intel Graphics: Plugged In and On Battery. Set both of these to Maximum Performance.
- Apply and OK, then you can close everything else down.
- Go test it!!
One of our poor techs about pulled his hair out for two days trying to figure out what the issue was... I hope this saves your hair! (Minus the grays... you can pull those out)
If this got you fixed up, I would love to hear about it! Leave me a quick comment below :) (It's nice to know that I'm not posting stuff in vain)
Update 2011/06/20: If the above isn't quite working out in your favor, you might try what was posted in the comments below regarding the manual input of some code to disable the drawing of jinitiator. (It basically shuts off the use of Direct Draw which was changed around quite a bit in Windows 7)
Take a look at RomanH's comment and see if it helps. There are several folks who have commented and said that this DOES work for them and one person mentioned restarting the computer after applying the fix before it worked. Unfortunately I have no easy way of creating a step-by-step process on how to apply the fix so hopefully what's posted below is enough to get you started on figuring it out.
Also...! Thanks to everyone who has posted comments on their fixes! I hate forums with a passion because everyone has the same problem but no one ever has a solid fix. I do my best to create a full proof fix for the problems I've run into on my blog and while the fix may have worked for me at the time, I'm not perfect either so I find it awesome when other's post the things that work for them and contribute to helping someone else. It makes searching for the problem in the future so much easier for everyone!