fluid moving text with Panda3D

Hi all

I never had an experience of using Panda3D, however what i’m looking for is a way to run a very fluid moving(horizontal or vertical) text or image on my screen with any 3d engine.

The moving speed is expected to be adjustable.

The text or image often jerks or shakes in my application when a video is loading from inside or outside the application.

Can anybody tell me if there is any solution for this.

Much appriciated.

Jimmy

if movement speed is not consistant when video is loading, it is lagging.
try to calculate movement distance according to delta time of each frame.
search globalclock -> getdt function to get delta time.

How resource-intensive is your video-loading?

As to the text itself, am I correct in thinking that it’s just an object being moved across the screen (as opposed to an animation of an object moving across the screen)? If so, are you using the dt between frames in calculating each update? [edit] In other words, as MichaelPanda indicated.

Thanks for the above reply.

The movement distance is consistent, and a render thread was expected to draw a new frame on a precise timeline. However the thread is not working as expected, sometimes it draws in time, while sometimes it’s delayed for tens of milliseconds . I consider it might due to the OS thread dispatcher mechanism.

Any new ideas?

Thanks.
Jimmy

Thanks for the reply.

It’s an animation of an moving object across the screen.

maybe your target framerate is too high so PC can’t keep up. try use limited clock mode and a low framerate. also try v-sync option. and other time consuming tasks / procedures need to be optimized.

Wow, thanks for the instant response.

I have indeed tried V-SYN. As you know a fluid looking effect is not only because of high framerate, but a consistent fps, what i’m looking for are techniques that could make the fps to be fixed at 30fps. To meet the testing purpose, i had even comment all unrelated functions/tasks, leaving only basic or simple logics.

Any other factors to be considered?

Much appreciated.

I once had performance problem with text object in panda.
if texts are updated frequently, it is better to disable text-flattening and text-dynamic-merge in panda config.

I use limited framerate at 30fps and v-sync off, monitor refresh rate is 60. with these settings, my app runs smoothly.

also you can try to switch between opengl / directx. on my pc, they have different performance. opengl has more options to care about in panda. such as display-list, it doesn’t necessarily improve performance.

Thanks for the great replies.

As mentioned above, I’m using DirectX API for the application. Is Panda3D much better than DirectX?(I’m not an expert on DirectX, so it may be hard for me to optermise well)

opengl and directx are 2 main graphic interfaces that panda uses to render graphics.
directx is easier to configurate in panda, if you don’t use shaders. the standard setting is good enough for basic use.

but different hardware and os can have different performance with opengl or directx. you need to test run with different settings to find out which is best on your PC.

I just remember you were loading videos when panda runs, if the video data rate is high, there is no easy solution to keep a good framerate in panda.