[ bobby63 @ 20.04.2010. 22:58 ] @
Radim jednu jednostavnu managed DirectX (3D) aplikaciju. Osim 3D geometrije koja je vrlo prosta ima i dosta sprajtova. Na mom racunaru sa Ati grafickom (4850) i na Netbooku (n450, GMA 3150) aplikacija radi super, zauzeće processora za komp je do 10% a za netbook do 30%. Problem je što program treba da se izvršava na pločama sa integrisanom nVidia grafikom(GeForce 8200) a na njima radi očajno. Zauzece processora je uvek 100%(čak i kada stavim samo 3D ili samo sprajtve) i program se non stop koči i prekida. Da bih dobio glatku animaciju i rasteretio processor koristio sam Code: Takodje sam pokušavao i sa "PresentInterval.Default", "PresentInterval.Immediate" i vremenskom petljom i sve varijante rade super na gore pomenutim racunarima ali ne rade nikako na nVidija chipsetu.D3Dpp.PresentationInterval = PresentInterval.one Ostatak inicijalizacije je: Code: ostalo je nebitno.D3Dpp.SwapEffect = SwapEffect.Discard D3Dpp.EnableAutoDepthStencil = True D3Dpp.AutoDepthStencilFormat = DepthFormat.D16 D3Ddev = New Direct3D.Device(Manager.Adapters.Default.Adapter, DeviceType.Hardware, TargetForm.Handle, Direct3D.CreateFlags.SoftwareVertexProcessing, D3Dpp) //isto je i sa HardwareVertexProcessing D3Ddev.Transform.View = Matrix.LookAtLH(CameraPosition, CharacterPosition, New Vector3(0, 1, 0)) D3Ddev.Transform.Projection = Matrix.PerspectiveFovLH(Math.PI / 4, 1280 / 1024, 1.0F, 300.0F) D3Ddev.RenderState.ZBufferEnable = False D3Ddev.RenderState.FillMode = FillMode.Solid D3Ddev.SamplerState(0).MinFilter = TextureFilter.Point D3Ddev.SamplerState(0).MagFilter = TextureFilter.Linear Pošto je AMD processor na toj ploči mnogo jači a pretpostavljam i da je integrisana 8200 jača od Atom grafike, šta bi to moglo toliko da koči moj program na NVidia grafici? Pozdrav svima i unapred hvala. |