标签: destroy

如何释放和垃圾收集WebGL上下文?

我正在为Web和移动开发WebGL应用程序.我经常使用硬刷新来测试我的WebGL实现的结果.视图尝试后,我收到错误:

Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
Run Code Online (Sandbox Code Playgroud)

这不会出现在新启动的浏览器上,而是在多次刷新网站后出现.我想WebGL上下文没有完成,发布,销毁,清理,正确释放.

我怎样才能做到这一点?

Khronos Group在这里创建了一个用于释放和垃圾收集WebGL上下文的测试套件:https://www.khronos.org/registry/webgl/sdk/tests/conformance/context/context-creation-and-destruction.html(注意:这个可能会崩溃您的浏览器!)

测试通过PASSTEST COMPLETE,所以基本上测试没有检测到任何问题.但是,打开JavaScript控制台,它会读取33个实例:

Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
Run Code Online (Sandbox Code Playgroud)

这是浏览器如何处理WebGL的错误吗?或者我做错了什么?我从没想过要释放任何WebGL上下文.

我正在使用Firefox Developer Edition 48.0a2和Firefox 46.0.1.

如何释放和垃圾收集WebGL上下文?

javascript free garbage-collection webgl destroy

9
推荐指数
1
解决办法
3346
查看次数

在调用backbone.js destroy时获取记录id的位置

我有一些测试代码,我只是想用来计算backbone.js.当我在模型对象骨干上调用destroy时,向我的休息服务发出DELETE请求.但是,我看不到任何ID表明在请求数据,查询字符串,正文或任何地方删除了哪条记录.

我的模型有一个id属性,我已经为它赋值1.我还有什么需要做的,以确保id通过服务器传递?或者是否有其他方式我应该检测哪些记录被删除?

编辑 - 这是相关代码:

var AccountModel = Backbone.Model.extend({
    url: 'Account/Update',
    id: null,
    username: ''
});

var accountM = new AccountModel({id: 1, username: 'test'});

accountM.destroy();
Run Code Online (Sandbox Code Playgroud)

当我查看调试器时,我看到了AJAX请求,它看起来像这样:

Request URL:http://localhost/probli/Account/Update
Request Method:DELETE
Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)

似乎不是一个ID或任何东西,没有发布数据.我做错了吗?谢谢.

destroy backbone.js

8
推荐指数
1
解决办法
7268
查看次数

如何找出谁运行TFS销毁命令?

我有理由相信TFS Destroy命令在我的服务器上运行.TFS是否提供了一种方法来确定是谁以及何时完成的?

audit tfs tfs2010 destroy

8
推荐指数
1
解决办法
910
查看次数

使用.destroy()返回值检查ActiveRecord对象是否被销毁

我维护某人的代码库,他们有这样的东西:

if @widget_part.destroy
  flash[:message] = "Error deleting widget part"
else
  flash[:message] = "Widget part destroyed successfully"
end
Run Code Online (Sandbox Code Playgroud)

什么destroy回报?可以这样测试吗?我问的原因是我试图使用

flash[:message] = "Error deleting widget part : #{@widget_part.errors.inspect}"
Run Code Online (Sandbox Code Playgroud)

并且没有错误消息所以我很困惑.它给出了类似的东西

#<ActiveModel::Errors:0x00000103e118e8 @base=#<WidgetPart widget_id: 7, ..., 
  id: 67>, @messages={}>
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails destroy ruby-on-rails-3.1

8
推荐指数
2
解决办法
6494
查看次数

单击链接销毁PHP会话

这段代码有效吗?

<a href="#" onclick="<?php session_destroy();?>">Logout</a>
Run Code Online (Sandbox Code Playgroud)

php session onclick session-cookies destroy

8
推荐指数
3
解决办法
6万
查看次数

$ scope($'destroy',...)的事件处理程序是否会被销毁?

今天遇到了一个非常"陷入困境"的Angular问题,我无法找到答案.从$scope文档中,您可以注册一个事件处理程序"$destroy",在作用域的销毁之前调用它.这样,您可以取消注册事件处理程序,如下所示:

var deregister = $scope.$on('myCustomEvent', function () {
    // do some crazy stuff
});
$scope.$on('$destroy', function () {
    deregister();
});
Run Code Online (Sandbox Code Playgroud)

但是,$scope.$on('$destroy', ...)必须创建自己的处理程序.这是自动销毁,还是你必须做以下的事情来销毁它?

var deregister = $scope.$on('myCustomEvent', function () {
    // do some crazy stuff
});
var deregisterDestroy = $scope.$on('$destroy', function () {
    deregister();
    deregisterDestroy();
});
Run Code Online (Sandbox Code Playgroud)

javascript destroy angularjs angularjs-scope

8
推荐指数
1
解决办法
1186
查看次数

为什么脚本终止时不调用对象析构函数?

我有一个这样的测试脚本:

package Test;
sub new { bless {} }
sub DESTROY { print "in DESTROY\n" }

package main;
my $t = new Test;
sleep 10;
Run Code Online (Sandbox Code Playgroud)

sleep返回之后(在程序终止之前)调用析构函数.但是如果脚本以Ctrl-C终止,则不会调用它.是否有可能在这种情况下调用析构函数?

perl signals destroy

7
推荐指数
2
解决办法
1519
查看次数

如何触发对象的销毁回调,该对象是自动删除该对象的连接模型的一部分?

Rails 2.3.8.我有3个型号,用户,来源和订阅.

User  attr_accessible   :source_ids
             has_many   :subscriptions
             has_many   :sources, :through => :subscriptions

Source       has_many   :subscriptions

Subscription belongs_to :user
             belongs_to :source
Run Code Online (Sandbox Code Playgroud)

我有一个界面,允许用户编辑他们的订阅源.它收集source_ids,并根据集合创建或删除订阅.我遇到的问题是,引用:

"自动删除连接模型是直接的,不会触发销毁回调."

订阅正在删除,而不是销毁.我在订阅模型中有一个未触发的回调:

before_destroy do |subscription|
  [Some irrelevant object not to be mentioned].destroy
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,当由于连接模型而自动删除订阅时,如何触发此回调?

ruby-on-rails callback associations destroy

7
推荐指数
1
解决办法
3061
查看次数

删除了migration.rb文件?铁轨中的潜在错误?

我不确定这是否是一个错误,或者这实际上删除了一个migration.rb文件.我使用generate来创建以下迁移:

$ rails generate migration add_delta_to_submissions

    invoke  active_record  
    create    db/migrate/20111020175649_add_delta_to_submissions.rb  
Run Code Online (Sandbox Code Playgroud)

然后我意识到我忽略了包含任何列,所以我在控制台中使用向上箭头并用destroy覆盖生成:

$ rails destroy migration add_delta_to_submissions

    invoke  active_record  
    remove    db/migrate/20111020175649_add_delta_to_submissions.rb  
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,现在是时候用我需要的列运行迁移了.这是问题的来源 - 我再次使用向上箭头 - 但只使用了一次 - 并添加了我的列信息:

$ rails destroy migration add_delta_to_submissions delta:integer

    invoke  active_record  
    remove    migration.rb  
Run Code Online (Sandbox Code Playgroud)

我意识到我可能不应该使用UP ARROW命令像GENERATE和DESTROY那样易于使用(经验教训!),但是该命令回来说明它已删除了migration.rb文件.我甚至不知道有一个migration.rb文件 - 特别是不能轻易删除的文件.

对于踢,我决定尝试通过在单词迁移的末尾添加字母x来欺骗命令控制台 - 并收到此消息:

$ rails destroy migrationx add_delta_to_submissions delta:integer

    Could not find generator migrationx.  
Run Code Online (Sandbox Code Playgroud)

所以,我认为rails destroy命令可能存在错误.一旦它意识到不再有add_delta_to_submissions.rb文件,它就会把它丢掉并将.rb添加到单词migration(或DESTROY之后的任何单词)上.这看起来有点危险......

无论如何 - 我很想知道我是否已经以某种方式破坏了我的RAILS环境(rails 3.1,ruby 1.8.7),因为migration.rb文件已被删除.如果是这样 - 我有什么选择来解决这种情况?

提前谢谢了...

migration destroy

7
推荐指数
1
解决办法
1943
查看次数

解除/销毁fancybox 2事件

我有一个奇怪的问题,我有代码通过ajax拉取内容,然后将Fancybox(2)绑定到某些元素.问题是,当我"刷新"这个页面时,我会调用相同的函数来再次拉动和绑定Fancybox.

直到我改为Fancybox 2之前一直在努力的正常方法是取消绑定元素并重新绑定它们.然而,这似乎不适用于FB2.

我尝试过以下方法:

$('.tool_button').unbind('click.fb');
$('.tool_button').unbind('click');
$('.tool_button').unbind();
$('.tool_button').off('click.fb');
$('.tool_button').off('click');
$('.tool_button').off();
Run Code Online (Sandbox Code Playgroud)

我确实注意到源文件中的以下内容可能有用(起始行652):

// Unbind the keyboard / clicking actions
    unbindEvents: function () {
        if (F.wrap && isQuery(F.wrap)) {
            F.wrap.unbind('.fb');
        }

        D.unbind('.fb');
        W.unbind('.fb');
    }
Run Code Online (Sandbox Code Playgroud)

如果有人可以在这里提供帮助,我将不胜感激.

提前致谢.缺口

fancybox unbind destroy fancybox-2

7
推荐指数
2
解决办法
9103
查看次数