|
|
#13 | |
|
Registered User
Join Date: Sep 2007
Posts: 118
|
Quote:
I will stick to it for some time until nvidia fixed the performance issues and until kde4.2 is released. I used a recent svn build yesterday and it was ways faster than 4.1.1 (almost usable!), but less stable, so I expect improvement from BOTH sides. |
|
|
|
|
|
|
#14 | |
|
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
|
Since you aren't using desktop effects you aren't affected at all by most of the kde4 issues others are having as the most problematic ones only occur when the effects are on. I think it is mainly your rendering engine. You should update your rendering system and not use pbuffers anymore. The context switch associated with them is very heavy. Move to a system using PBOs (for async uploads) and FBOs.
|
|
|
|
|
|
|
#15 |
|
Registered User
Join Date: Sep 2008
Posts: 12
|
I'm not using PBOs and FBOs. I use Qt's QGraphicsScene, whatever that uses,
and native GL calls to create, update and draw textures. Nothing extra. Works fine on ATI card. Works using Xgl, though ugly and not really fast. Originally I didn't use Xgl, and not using it now. I started experimenting with different setups, because for no reason X11 hanged for long long time, then everything was back again for couple of seconds. Newer and newer drivers seemed to solve this, but never got the smooth performance one can expect. |
|
|
|
|
|
#16 | |
|
Registered User
Join Date: Jul 2008
Posts: 3
|
Have you read this blog entry already? Might give you a better idea about the scope of the problem:
http://aseigo.blogspot.com/2008/09/o...rformance.html Cheers |
|
|
|
|
|
|
#17 |
|
Registered User
Join Date: Sep 2008
Posts: 12
|
Thanks, it's nice article! Back to waiting
![]() |
|
|
|
|
|
#18 | |
|
Registered User
Join Date: Sep 2008
Posts: 3
|
Since you mention only Qt I suppose you have some product based on it. In other case I would recommend you GTK+, it is much faster especially if you use a lower interface like GDK.
Probably you should go in lower level to improve the performance or avoid some of the most heavy/slow parts of Qt. |
|
|
|
|
|
|
#19 |
|
Registered User
Join Date: Jul 2008
Posts: 3
|
|
|
|
|
|
|
#20 |
|
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
|
The techniques we mentioned (PBOs and FBOs) are modern GL features and they can be of great use in your app. For instance texture uploading performance can be greatly improved by using PBOs. Right now you need to wait until the upload is finished. When you use a PBO you can perform the uploading asynchronous (calls like glTexImage2D, glDrawPixels .. directly return, so you don't have to wait). It is meant for this and helps a lot. Further replace expensive pbuffers with FBOs which offer similar functionality. FBOs are offered on more systems (pbuffers are only offered on Nvidia hardware on Linux).
|
|
|
|
|
|
#21 |
|
NVIDIA Corporation
Join Date: Sep 2007
Posts: 254
|
If you need something fixed, please provide a test case that we can work against or at least a clear indication of what the problem is.
|
|
|
|
|
|
#22 |
|
Registered User
Join Date: Sep 2008
Posts: 12
|
Okay, PBO is supposed to be the way to go in my case, so here's a very simple test:
http://www.songho.ca/opengl/gl_pbo.html I have texture sources, so I check out the streaming texture upload example. Downloaded, started, and here are the results: PBO mode: 0 (no PBOs, just textures how I use them today) Transfer Rate: 535.5 MB/s. (133.9 FPS) PBO mode: 1 Transfer Rate: 226.0 MB/s. (56.5 FPS) PBO mode: 2 Transfer Rate: 275.9 MB/s. (69.0 FPS) Aren't PBOs supposed to give me a nice boost? And remember, these numbers may look acceptable, but I have at least 2 full resolution video sources and a other texture sources (more of them) which generate at minimum 1600x1200x32 size textures. And in the meanwhile occasionally I have X11 hangs, so which part of the whole mess shall I investigate? (Remember, it work smooth on ATI card, the same demo doubles the speed.) |
|
|
|
|
|
#23 |
|
Registered User
Join Date: Sep 2008
Posts: 3
|
Is it possible to be a driver problem? What about global mutexes in the nvidia driver that cause the slow run?
For an example I would share information about the filesystem ReiserFS. So, the ReiserFS drivers uses some kernel global lock variable and that cause lower performance results compared to the filesystems that do not use such a kernel lock. So, is it possible your case to be in some analogical situation? |
|
|
|
|
|
#24 |
|
Registered User
Join Date: Aug 2007
Location: Austin, TX
Posts: 120
|
I haven't verified the accuracy of the figures reported in that test, but...
8800 GTX: PBO mode: 0 Transfer Rate: 680.5 MB/s. (170.1 FPS) PBO mode: 1 Transfer Rate: 624.7 MB/s. (156.2 FPS) PBO mode: 2 Transfer Rate: 1118.0 MB/s. (279.5 FPS) Go 7900M: PBO mode: 0 Transfer Rate: 447.8 MB/s. (112.0 FPS) PBO mode: 1 Transfer Rate: 447.3 MB/s. (111.8 FPS) PBO mode: 2 Transfer Rate: 825.7 MB/s. (206.4 FPS) Even with the figures you report you would still be able to move 70 FPS at 1600x1200 32-bit. (Leaving aside the potentially higher base transfer rates with larger frames than this test uses.) With proper frame buffering the PBO extension allows you to overlap upload with rendering. |
|
|
|
![]() |
| Thread Tools | |
|
|