::Big Texture and Small Viewport::

vindos

Newcomer
Hello ppl.
Plz provide a suggestions to find a better way to implement this requiremnt.

I need to play 4 different images getting updated at 60 FPS. The image frames are 1024 X 1024 size but viewport will be just 256 X 256.
I tried to create 4 different textures of original size but its giving awfull performance( 100 % CPU ) but if the texture size is 512 X 512 the performance is really good.

One way i feel is after reading each image frame..change its resolution by some algorithm and update it on to a smaller sized texture. Is there any better way to implement it so that i dont need to create large sized textures

Am using DIRECTX 9.0 and NVidia 6600
Thanks in advance
 
you set up 4 viewports i think


someone will come along soon and give you abetter answer
 
Last edited by a moderator:
I don't understand what you're trying to do.

From what I can tell, you're trying to render 4 1024x1024 textures to a 256x256 viewport and you don't want to keep the full-res versions in memory. Why not just resize the images to a smaller size when you load/create them?

But in any case, I can't possibly see how 4 1024x1024 textures could possibly slow down a 6600GT. Besides, unless you're software rendering this (which would be why you're experiencing such low performance), decreasing texture size won't heavily impact CPU usage at all, except during texture load time.
 
Hello ppl.
Plz provide a suggestions to find a better way to implement this requiremnt.

I need to play 4 different images getting updated at 60 FPS. The image frames are 1024 X 1024 size but viewport will be just 256 X 256.
I tried to create 4 different textures of original size but its giving awfull performance( 100 % CPU ) but if the texture size is 512 X 512 the performance is really good.

One way i feel is after reading each image frame..change its resolution by some algorithm and update it on to a smaller sized texture. Is there any better way to implement it so that i dont need to create large sized textures

Am using DIRECTX 9.0 and NVidia 6600
Thanks in advance

If non real-time generated images, simple use D3DX mip map creation functions. Then turn mip map filtering on when rendering and the hardware will use the lower resolution as needed.

If realtime generated images, use a render target and use the GPU to down sample, tho this will only help if you sample the texture alot. Would probably be best just to use a smaller render target to start with..

HTH,
Deano
 
Hii
Thanks for the responses.
@ Sc4freak
I was talking about real time images.. each of the 4 images gets updated at 60 FPS. so i need to lock the texture and perform CPU_GPU transfer every frame.That was the reason for the low performance. Because i need to update texture every frame i think reducing texture size could improve performance.

It seems the best method is making texture small and reduce the resolution of real time images and then update it.
 
Hii
Thanks for the responses.
@ Sc4freak
I was talking about real time images.. each of the 4 images gets updated at 60 FPS. so i need to lock the texture and perform CPU_GPU transfer every frame.That was the reason for the low performance. Because i need to update texture every frame i think reducing texture size could improve performance.

It seems the best method is making texture small and reduce the resolution of real time images and then update it.
Ah, sorry for the misunderstanding. But since you're procedurally generating data in realtime, would it be possible to simply produce that source data at 256x256 before sending it to the GPU?
 
Back
Top