gcompris / GCompris-qt

GCompris in Qt Quick - Mirror of https://invent.kde.org/education/gcompris
219 stars 168 forks source link

v0.80 32-bit crashes at startup in Windows #196

Closed spacevoyager78 closed 7 years ago

spacevoyager78 commented 7 years ago

Hi! I have an old PC (Pentium 4 3.0GHz, Intel GMA900, 768MB DDR2-SDRAM, Windows 7 SP1 32-bit) and I installed gcompris-qt-0.80-win32-gcc.exe. Everytime I execute gcompris.exe, I see the mouse cursor turn into tux, but then it crashes with the following info: Problem Event Name: APPCRASH Application Name: GCompris.exe Application Version: 0.0.0.00 Application Timestamp: 598f07b7 Fault Module Name: StackHash_0a9e Fault Module Version: 0.0.0.0 Fault Module Timestamp: 00000000 Exception Code: c0000005 Exception Offset: 00000000 OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 1032 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Could it be a low memory issue? All other software I have execute normally.

petitlapin commented 7 years ago

Hi,

can you try http://gcompris.net/download/qt/windows/gcompris-qt-0.80-win32.exe ?

The only difference between the two versions is the compiler

Johnny

spacevoyager78 commented 7 years ago

I'll try tomorrow and let you know, since this PC is in a school lab, not at my home.

spacevoyager78 commented 7 years ago

The version with the other compiler doesn't crash, however the process gcompris.exe constantly uses 90-95% of the CPU, so it's very sluggish and makes the PC unusable. I also tested the same version in a modern laptop (Intel Core i5, 4GB RAM, Win7 SP1 64-bit) and it was also using 90-95% of the CPU all the time.

Animtim commented 7 years ago

Hi, After checking again, it looks like there is another difference: in the -gcc build, I didn't package any opengl32sw.dll, which is needed for "software opengl" on the cpu if there is no drivers available or if it's forced in code. So this build requires a system with working opengl drivers.

The other build is forcing software opengl rendering from the cpu, which is explaining why it uses so much cpu.

Note that the -gcc build is also using Qt 5.9.1, which has different rendering options than 5.6 which is used in the other build ( http://blog.qt.io/blog/2016/08/15/the-qt-quick-graphics-stack-in-qt-5-8/ )...

Anyway, after doing those tests reading all the qt blog posts, I think maybe now we should just add "working OpenGL 2 support" in the system requirements.

spacevoyager78 commented 7 years ago

I see. I searched a little bit and the latest version of OpenGL supported by my Intel 82915G is OpenGL 1.4. So, this chipset can't support GCompris-Qt (gcc compiler). However, the version with the other compiler is practically useless, since even in a modern system, it uses 90% CPU, while the gcc version performs very well, using 4% CPU.

Animtim commented 7 years ago

As I agree the situation is not very good for people without OpenGL 2, and I don't want to force people to buy new hardware, I tried to make a build that uses the new software renderer in Qt 5.8+. It should be much more efficient, but it doesn't support any advanced compositing or effects. The gradient on the menu is gone, and a few activities not usable, but most activities should still be fine, and CPU should not go crazy (here it uses between 1 and 12%, on an i5...).

Can you please test this version and tell us if it works better for you? http://gcompris.net/download/qt/windows/gcompris-qt-0.81-win32-NoOpenGL.exe

spacevoyager78 commented 7 years ago

I tested it in my modern laptop and it's way better. CPU goes from as low as 0% to 20% maximum (in the activity where words are falling from the top). On Monday, I'll test in my old PC and let you know.

spacevoyager78 commented 7 years ago

BTW, is Windows XP officially not supported? I get a message "The procedure entry point CancelIOEx could not be located in the dynamic link library KERNEL32.dll". It must have something to do with Qt not supporting XP anymore, right?

petitlapin commented 7 years ago

Yes, XP is not supported by Qt so we don't too.

spacevoyager78 commented 7 years ago

v0.81-NoOpenGL works in my old pc with maximum CPU usage 30% (in the initial screen, which surprised me). Thank you very much!

petitlapin commented 7 years ago

Great, we saw that there are some activities to fix due to this change. We plan to release the version 0.81 with all the fixes around 1-2 weeks (depending on the translation status). Johnny