显示器画面运动时抖动,如何解决?谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示器画面运动时抖动,如何解决?谢谢!相关的知识,希望对你有一定的参考价值。

我用的ati 9000显卡,刷新频率85,桌面没有运动时一切正常,当浏览网页拉滚动条时、进入3d游戏时、小窗口移动时都会抖动,尤其左右抖动厉害!改用美格796fd2显示器,三菱显示器都会抖动!用ati控制面板,进入显示,进入高级调整同步的所有情况都无法解决问题,监视器是默认的监视器。
我前些日子用的这个显卡没有问题的哟,我旁边没有干扰!插座也是单独的!问题应该在显卡上,换一块显卡又正常,尝试擦金手指和apg擦槽都无用。我装过很多次驱动了,包括ati_6-9_xp-2k_dd_35774和ATi_DNA_drv4668以及ati_6-4_xp-2k_dd_ccc_wdm_enu_31959都不行,,是台式机!设备管理器中硬件旁没有黄色的?或!,好好的。还有播放视频的时候也抖动,播放暂定时又正常了!

一般来说,这种故障应该是跟显卡有关,你可以先更换显卡的驱动试试,如果不行,换张显卡试试吧,也许是兼容性不太好,也有可能是显卡本身的问题 参考技术A 你机子旁边是不是有强干扰的东西 参考技术B 给我感觉好象是显卡驱动没有装正确!! 参考技术C 应该是显卡驱支没装好吧 一般显卡驱动没装好就抖 你右击 我的电脑--属性--硬件--设备管理器 然后看那一排列表前面有没有问号或者感叹号 ....

如何在 iPhone 中检测抖动运动

【中文标题】如何在 iPhone 中检测抖动运动【英文标题】:How to detect shake motion in iPhone 【发布时间】:2011-05-18 09:19:50 【问题描述】:

在 iPhone 设备的抖动上,我想调用一些函数,我不知道如何识别抖动,所以我尝试了一些链接并尝试了此代码

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event if(event.type == UIEventSubtypeMotionShake) NSLog(@"调用"); [self.view setBackgroundColor:[UIColor greenColor]]; - (BOOL)可以成为第一响应者 返回是;

可惜没有运气所以请你告诉我如何做同样的事情

感谢和问候

【问题讨论】:

你在哪里试过那个代码? 在uiview控制器子类文件中 @Radix,我在 UIWindow 子类中使用了它,并使用 NSNotification 通知其他控制器发生抖动事件。如果我没记错的话,在 UIController 子类中使用该代码对我也不起作用 @Vladimir :嘿,猜猜我得到的代码是什么我需要做的就是添加这段代码 - (void)viewDidAppear:(BOOL)animated [super viewDidAppear:animated]; [自己成为FirstResponder];它是因为 UIResponder 摇动事件响应第一响应者,就我在文档中读到的并且让这件事正常工作.... @Radix,嗯,好点。发布该解决方案作为您问题的答案并接受它 - 这样其他人就可以更轻松地找到您的解决方案 【参考方案1】:

根据上面讨论的 cmets,我正在回答我的问题,以便其他人可以阅读我得到的解决方案

在 UIResponder 类文档中,据说运动事件只会响应第一响应者,所以我所做的只是添加了一个小函数,这对我有用,所以这是我的解决方案

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event if(event.type == UIEventSubtypeMotionShake) NSLog(@"调用"); [self.view setBackgroundColor:[UIColor greenColor]]; - (BOOL)可以成为第一响应者 返回是;

现在我仍然无法检测到任何抖动运动,所以我要做的就是让我的视图控制器成为第一响应者,这是我使用的代码

- (void)viewDidAppear:(BOOL)animated [超级 viewDidAppear:动画]; [自己成为FirstResponder];

我已经完成了

这是我想出的解决方案

感谢和问候

【讨论】:

谢谢!像魅力一样工作! 它在晃动 iPhone 时的工作及其检测。但是有什么方法可以继续检测抖动吗?【参考方案2】:

你可以做这样的事情......

首先...

在 App 的 Delegate 中设置 applicationSupportsShakeToEdit 属性:

- (void)applicationDidFinishLaunching:(UIApplication *)application 

    application.applicationSupportsShakeToEdit = YES;

    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

其次……

在视图控制器中添加/覆盖 canBecomeFirstResponder、viewDidAppear: 和 viewWillDisappear: 方法:

-(BOOL)canBecomeFirstResponder 
    return YES;


-(void)viewDidAppear:(BOOL)animated 
   [super viewDidAppear:animated];
   [self becomeFirstResponder];


- (void)viewWillDisappear:(BOOL)animated 
    [self resignFirstResponder];
    [super viewWillDisappear:animated];
 

第三...

将 motionEnded 方法添加到您的视图控制器:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event

   if (motion == UIEventSubtypeMotionShake)
   
    // your code
   
 

如果第一个答案没有,那应该可以工作,而且这只是快速输入而不是测试:)

【讨论】:

【参考方案3】:

要在应用程序的所有屏幕上全局处理抖动,您可以继承 UIWindow 并实现 motionEnded,因为事件会在响应者链中冒泡,直到它到达窗口对象。使用 Xamarin 的示例:

public class MyWindow : UIWindow

    public MyWindow(CoreGraphics.CGRect frame)
        : base (frame)
     

    public override void MotionEnded (UIEventSubtype motion, UIEvent evt)
    
        if (motion == UIEventSubtype.MotionShake) 
            Console.WriteLine ("Shake received");
        
    

接下来,在 AppDelegate 中,实现 window 方法以返回 UIWindow 子类的实例。使用 Xamarin 的示例:

public class AppDelegate : UIApplicationDelegate

    UIWindow _window;

    public override UIWindow Window 
     
        get
        
            if (_window == null) 
                _window = new MyWindow (UIScreen.MainScreen.Bounds);
            

            return _window;
        
        set
        
        
    

    // ...

瞧,整个应用都会处理抖动。

【讨论】:

【参考方案4】:

SSEventListener 让事情变得更简单。您的视图控制器不再需要覆盖motionEnded:withEvent:!使用SSEventListener,您可以像这样简单地监听抖动事件:

[viewController ss_setShakeEventListener:^ ... ];

【讨论】:

以上是关于显示器画面运动时抖动,如何解决?谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Unity3D 检测移动设备上的抖动运动? C#

如何通过限制运动递归解决河内塔?

如何配置我的应用程序以检测抖动运动事件?

如何使用Android Studio解决抖动中的gradle错误?

投影仪连接笔记本电脑屏幕显示闪烁问题如何消除?

[WIN]如何让您的UserControl显示时不闪烁